exit(1); } // Load user details $app_id = ThreatExchangeConfig::getAppID(); $app_secret = ThreatExchangeConfig::getAppSecret(); $uploader = BaseUpload::getUploader($options['t']); if (!$uploader->hasValidOptions($options)) { echo print_usage() . $uploader->getUsage(); exit(1); } // Build POST data sets $entries = $uploader->parseDataFile($options['f'], $options); // make the requests via Curl $results = array(); foreach ($entries as $request_uri => $post_data) { try { echo "Calling {$request_uri} with " . implode(',', $post_data) . "\n"; $raw_result = ThreatExchangeUtils::makeCurlPostRequest($uploader->buildAPIUploadRequest(), $post_data); $json = json_decode($raw_result, true, 512, JSON_BIGINT_AS_STRING); if (isset($json['data'])) { $results = array_merge($results, $json['data']); } } catch (Exception $e) { echo $e->getMessage() . "\n"; } } echo $uploader->getResultsAsCSV($results) . "\n"; function print_usage() { return "usage: php threat_exchange/upload.php\n" . "\t-t upload type, one of: 'families', 'indicators', or 'malware'\n"; }
} else { if (isset($options['f'])) { $queries = ThreatExchangeUtils::parseQueryFile($options['f']); foreach ($queries as $query) { $options['q'] = $query; $requests[] = $searcher->buildAPIRequest($options); } } else { echo print_usage() . $searcher->getUsage(); exit(1); } } // make the requests via Curl $results = array(); foreach ($requests as $request) { try { $raw_result = ThreatExchangeUtils::makeCurlRequest($request); $json = json_decode($raw_result, true, 512, JSON_BIGINT_AS_STRING); if (isset($json['data'])) { $results = array_merge($results, $json['data']); } } catch (Exception $e) { echo $e->getMessage() . "\n"; exit(1); } } echo $searcher->getResultsAsCSV($results) . "\n"; function print_usage() { return "usage: php threat_exchange/search/search.php\n" . "\t-t search type, one of: 'families', 'indicators', or 'malware'\n" . "\t-f query file (optional, use to bulk search instead of using -q)\n"; }
public static function setDebugMode($debug_mode) { self::$debugMode = $debug_mode; }