Batch and Feeds
Batch from file
Batch mode automatically processes a list of IOCs:
# File format: one IOC per linecat iocs.txt185.220.101.34evil-phishing.comhttp://malware.host/payload.exed41d8cd98f00b204e9800998ecf8427e8.8.8.8# Analyze all (with 2s delay between each)osint-agent --batch iocs.txt
# Limit to first 20osint-agent --batch iocs.txt --limit 20
# JSON output (useful for scripting)osint-agent --batch iocs.txt --json
# Save resultsosint-agent --batch iocs.txt --json > results-$(date +%Y%m%d).jsonBatch from live feeds
# 5 most recent C2 IPs from Feodo (botnets)osint-agent --feed feodo --limit 5
# 3 malware URLs from URLhausosint-agent --feed urlhaus --limit 3
# 10 malicious IPs from IPsumosint-agent --feed ipsum --limit 10
# C2 infrastructure from C2IntelFeedsosint-agent --feed c2intel --limit 5
# With JSON outputosint-agent --feed feodo --limit 5 --jsonDaily automation with cron
Analyze the most dangerous feeds every morning:
# crontab -e0 7 * * * /path/to/.venv/bin/osint-agent --feed feodo --limit 10 --json \ >> /var/log/osint/feodo-$(date +\%Y\%m\%d).json 2>&1Scripting pipeline
#!/bin/bash# Analyze feeds and alert if high-risk IOCs are found
osint-agent --feed feodo --limit 20 --json | jq -r '.[] | select(.risk_score >= 80) | "\(.ioc) - Score: \(.risk_score) - \(.assessment | .[0:100])"' \ | while read -r line; do echo "[CRITICAL ALERT] $line" # Here you could send to Slack, PagerDuty, etc. doneSIEM integration
# Export in Splunk-compatible formatosint-agent --batch iocs.txt --json | jq '[.[] | { ioc: .ioc, type: .ioc_type, risk_score: .risk_score, risk_level: .risk_level, malicious: (.risk_score >= 60), timestamp: now | todate}]'Rate limit control
With large lists, adjust the delay to not exhaust quotas:
# For VirusTotal free tier (500 req/day, 4 req/min)BATCH_DELAY_SECONDS=15 osint-agent --batch large-list.txt --limit 100
# For paid tiersBATCH_DELAY_SECONDS=1 osint-agent --batch large-list.txt --limit 500The 24h cache prevents re-analyzing IOCs you already investigated today.
Automatic deduplication
If your file has duplicate IOCs, batch processes them only once (second time reads from cache):
iocs.txt:185.220.101.34 ← analyzes with API8.8.8.8 ← analyzes with API185.220.101.34 ← reads from cache (doesn't consume API quota)Feeds: what to choose by use case
| Use case | Recommended feed |
|---|---|
| Active botnets and C2 | feodo, c2intel |
| Malware distribution | urlhaus |
| General malicious IPs | ipsum |
| Traffic trends | cloudflare |
| Maximum coverage | All with --limit 5 each |