class_docstr: Load threat intelligence data from DynamoDB and perform IOC detection
class_docstr_tok: ["Load","threat","intelligence","data","from","DynamoDB","and","perform","IOC","detection"]
docstr: Check if any info is malicious by querying DynamoDB IOC table
  
  Args:
      potential_iocs (list<str>): A list of potential IOC values
docstr_tok: ["Check","if","any","info","is","malicious","by","querying","DynamoDB","IOC","table","Args",":","potential_iocs","(","list","<","str",">",")",":","A","list","of","potential","IOC","values"]
code: def _process_ioc_values(self, potential_iocs):
      """Check if any info is malicious by querying DynamoDB IOC table
  
      Args:
          potential_iocs (list<str>): A list of potential IOC values
      """
      LOGGER.debug(
          "Checking %d potential IOCs for validity", len(potential_iocs)
      )
      # Segment data before calling DynamoDB table with batch_get_item.
      for query_values in self._segment(potential_iocs):
          try:
              query_result = self._query(query_values)
          except (ClientError, ParamValidationError):
              LOGGER.exception(
                  "An error occurred while querying dynamodb table"
              )
              continue
  
          for ioc in query_result:
              yield ioc
  
imports: from collections import defaultdict
  from os import environ
  import backoff
  import boto3
  from boto3.dynamodb.types import TypeDeserializer
  from botocore.exceptions import ClientError, ParamValidationError
  from netaddr import IPNetwork
  from streamalert.shared.backoff_handlers import backoff_handler, success_handler, giveup_handler
  from streamalert.shared.logger import get_logger
  from streamalert.shared.normalize import Normalizer
  from streamalert.shared.utils import in_network, valid_ip
label_desc: Use image node_id 6 for calling the ThreatIntel obj's underlying member method code with example usage: obj._process_ioc_values(potential_iocs) without return types