Extracting iocs from analysis output
Skill meltedinhex/analyst-ai-pack/skills/extracting-iocs-from-analysis-output
Extracts indicators of compromise from raw analysis artifacts: parsing strings dumps, sandbox reports, PCAP summaries, and logs for URLs, domains, IPs, hashes, mutexes, and file paths, then deduplicating and typing them. Activates for requests to extract IOCs from analysis output, pull indicators from a report, or harvest atomic indicators.From its SKILL.md
npx -y skills add meltedinhex/analyst-ai-pack --skill extracting-iocs-from-analysis-outputAssembled from the repository path, not quoted from the project. Check it against their README if it does not work.
One thing to look at
- 19 stars19 stars. Stars are a popularity signal and not a quality one, but at this level it is likely that nobody has read this closely except its author, and you would be relying on your own review.
What its file declares
Copied from the file, not written here
The file declares its own license as Apache-2.0. That is the author’s claim about this one file, and it is not the same thing as the license GitHub reports for the repository, which is listed with the other numbers below.
SKILL.md
2.8 KB, 442 tokens by cl100k_base, as published. Nobody here has run it
Extracting IOCs from Analysis Output
When to Use
- You have raw analysis output (strings, sandbox JSON, PCAP notes, logs) and need the atomic indicators out of it.
- You want a deduplicated, typed indicator set to feed enrichment, defanging, or detection.
- You are building the indicator section of a report from analysis artifacts.
Do not use naive substring matching that produces noise — validate indicator shapes and filter obvious false positives (version strings that look like IPs, library domains).
Prerequisites
- The analysis artifacts as text/JSON; the defanging skill for safe output.
Workflow
Step 1: Gather the artifacts
Collect strings output, sandbox report fields, network summaries, and relevant log excerpts into text the extractor can scan.
Step 2: Extract by pattern
Pull URLs, domains, IPv4 addresses, email addresses, and hashes (MD5/SHA-1/SHA-256) with validated patterns; also capture host artifacts (mutexes, registry keys, file paths) where the format allows.
python scripts/analyst.py extract analysis.txt
Step 3: Filter and deduplicate
Drop benign noise (Microsoft/CDN domains, localhost, RFC1918 where irrelevant) and deduplicate; keep a record of what was filtered and why.
Step 4: Type and hand off
Tag each indicator with its type and pass the set to enrichment/defanging for reporting.
Validation
- Extracted indicators match valid shapes (no malformed IPs/hashes).
- The set is deduplicated and obvious benign noise is filtered with a rationale.
- Each indicator is typed and ready for enrichment/defanging.
Pitfalls
- Capturing version numbers as IPs or library hostnames as C2.
- Missing indicators split across lines or encoded (base64) in the artifacts.
- Not recording what was filtered, losing analyst auditability.
References
- See
references/api-reference.mdfor the IOC extractor. - MITRE ATT&CK and indicator-extraction patterns (linked in frontmatter).
What ships with it: 3 files
4.0 KB alongside SKILL.md, 1 of them executable
references/
- api-reference.md1016 B
scripts/
- analyst.pyruns2.7 KB
- LICENSE340 B