Guide · Agent skill
How to use the Collecting Indicators of Compromise agent skill
Updated · written with AI from the project's own documentation and checked against our catalogue data
The collecting-indicators-of-compromise skill gives an AI agent a structured method for pulling technical indicators of compromise (IOCs) out of incident evidence, such as IP addresses, domains, URLs, file hashes, registry keys and email sender details. It is written for security analysts and threat intelligence teams. After this guide you will know how to install the skill, how to ask for IOC work in plain language, what the bundled script needs, and which safety points to check before you share anything.
Quick start
- 1Download and unzip. Download the ZIP from this page and unzip it on your machine.
- 2Place or upload the skill. Put the folder in ~/.claude/skills/ or a project's .claude/skills/, or upload the ZIP under Settings → Capabilities → Skills in the Claude apps.
- 3Install Python libraries. Install requests and stix2 with Python 3 so scripts/agent.py can run.
- 4Get a VirusTotal API key. Obtain a key from your VirusTotal account, which the script needs for IP enrichment.
- 5Ask for IOC work. Paste your evidence and describe the task, such as extracting and enriching indicators.
- 6Review and score results. Check the confidence scores and TLP markings before acting on any indicator.
- 7Share under agreements. Export a STIX 2.1 bundle and submit it to MISP or a TAXII server only if your sharing agreements allow it.
What the skill makes the agent do
Without the skill, an agent has no fixed process for handling indicators. With it, the agent follows a six-step workflow: identify IOC categories (network, host and email), extract indicators from evidence sources such as SIEM logs, memory dumps and sandbox reports, enrich them with threat intelligence context, score and prioritize them, distribute them to defensive tools, and package them for partners in STIX 2.1 format.
- Network indicators: IPs, domains, URLs, JA3/JA3S hashes, User-Agent strings, DNS query patterns
- Host indicators: file hashes, file paths, registry keys, scheduled tasks and services, mutexes, named pipes
- Email indicators: sender addresses and domains, subject and body patterns, attachment names and hashes, embedded URLs, header failures (SPF/DKIM/DMARC)
Install the skill
Download the ZIP file from this page and unzip it. To make the skill available to all your projects, place the unzipped folder in ~/.claude/skills/. To limit it to one project, place it in that project's .claude/skills/ folder.
You can also upload the skill in the Claude apps: open Settings, go to Capabilities, then Skills, and upload the ZIP.
- Personal install: ~/.claude/skills/
- Project install: .claude/skills/ inside your project
- Claude apps: Settings → Capabilities → Skills
Check what you need before running it
The skill's bundled script, scripts/agent.py, needs Python 3 with the requests and stix2 libraries. The reference file lists requests (>=2.28) and stix2 (>=3.0). Enrichment of IP addresses requires a VirusTotal API key, which the script takes as an argument. OTX, Shodan and DomainTools accounts are optional, as are a MISP or TAXII server for sharing.
- Python 3 with requests and stix2
- VirusTotal API key for IP enrichment
- Optional: OTX, Shodan, DomainTools accounts; MISP or TAXII server for sharing
pip install requests stix2Trigger the skill with natural requests
You do not need to name the skill. Describe the task in plain terms that mention indicators, and the agent should pick it up. The skill's description lists triggers such as IOC collection, indicator extraction, threat indicator sharing, compromise indicators, STIX export and IOC enrichment.
Give the agent the evidence itself, such as a pasted incident report, a log excerpt or a sandbox summary, and say what you want back.
- "Extract the IOCs from this incident report and group them by network, host and email."
- "Enrich these IPs and domains with threat intelligence and give each a confidence score."
- "Package these indicators as a STIX 2.1 bundle for sharing with our partners."
Run the bundled script from the command line
The reference file documents a command-line form of agent.py. It can read a file or a text string, enrich results with VirusTotal, and write the output to a JSON file. The script extracts IPv4 addresses, domains, SHA-256 and MD5 hashes, and URLs using regular expressions, then exports a STIX 2.1 bundle.
python agent.py --input-file incident_report.txt --vt-key <key> --output iocs.json
python agent.py --input-text "C2 at 185.220.101.42 hash a1b2c3..." --output iocs.jsonSafety notes: scripts and network access
This skill runs scripts and uses the network. The script calls external enrichment services, so the indicators you submit leave your machine and reach those services. Review what you send, and only use API keys you are authorized to use.
Treat the output with care. The skill's own guidance notes that careless distribution can expose an investigation. Check sharing agreements and TLP markings (WHITE, GREEN, AMBER, AMBER+STRICT, RED) before pushing indicators to partners or shared platforms. The skill also recommends defanging malicious URLs and domains in reports, such as evil[.]com.
- Indicators sent to VirusTotal or other services leave your environment
- Check TLP markings and sharing agreements before distribution
- Defang malicious URLs and domains in written reports
Tips for better results
Give the agent full context: the evidence source, the incident type and any known adversary names. The skill's confidence scale runs from 0 to 100, with 90-100 for confirmed malicious indicators seen in an active attack and 0-29 for likely benign or false positives. Ask for that scale explicitly so the scores are easy to act on.
Use the skill for indicator work, not for behavior alone. For behavioral characterization, the skill directs you to MITRE ATT&CK mapping instead.
- Name the evidence type: SIEM logs, memory dump, sandbox report or email
- Ask for the confidence score and TLP label on every indicator
- Expect a STIX 2.1 indicator with a pattern, confidence and labels as in the skill's example
What people use it for
- Turning a sandbox report into a list of C2 IPs, domains and file hashes for a firewall or DNS blocklist
- Extracting IOCs from a phishing email and its attachment for an email gateway block rule
- Enriching a set of suspicious IPs with VirusTotal context and assigning confidence scores for triage
- Packaging validated indicators as STIX 2.1 for a sector ISAC or a MISP instance
- Documenting host artifacts such as registry run keys and mutexes for future detection rules
Frequently asked questions
Is the collecting indicators of compromise skill free?
The source material does not state pricing or licence fees for the skill beyond its Apache-2.0 licence. The VirusTotal API key is required for IP enrichment, and the optional OTX, Shodan and DomainTools accounts may have their own terms. Check each service before you rely on it.
What do I need to run this skill?
You need Python 3 with the requests and stix2 libraries for the bundled script. A VirusTotal API key is required for IP enrichment. OTX, Shodan, DomainTools and a MISP or TAXII server are optional.
Where do I install an agent skill?
Download the ZIP, unzip it, and place it in ~/.claude/skills/ for personal use or in a project's .claude/skills/ folder. In the Claude apps, you can upload the ZIP under Settings → Capabilities → Skills.
Does the skill send my data to external services?
Yes. The skill runs scripts and uses the network, and the bundled script calls external enrichment services such as VirusTotal. Only submit indicators you are allowed to share with those services.
Can it export indicators to MISP or TAXII?
The skill packages indicators in STIX 2.1 format and says to submit them to MISP, ISAC portals and TAXII servers per sharing agreements. The reference file describes a STIX 2.1 bundle output from the script.
How does it compare with other IOC tools?
The skill is a method and script that an agent follows, not a full threat intelligence platform. The source names MISP, OpenCTI, ThreatConnect, Yeti and CyberChef as related tools for storing, sharing or analyzing indicators, so you may use the skill alongside one of them.
New agent skills, repos and AI tools — every week
The best new skills and open-source projects, the fastest-growing repos, and one free prompt. Five minutes to read. Unsubscribe anytime.
Our verdict
Use this skill if you are an incident responder or threat intelligence analyst who needs to turn evidence into enriched, scored indicators and STIX 2.1 packages. Pick something else if your work is behavior-only analysis, if you are not comfortable with SIEM, EDR and STIX concepts, or if you cannot use the external services it calls.
Download the skill