Analyzing Indicators Of Compromise
Overview
Cybersecurity skill for analyzing indicators of compromise. Follows industry best practices and security standards.
When to Use
Trigger phrases:
- "analyzing indicators of compromise"
- "A phishing email or alert generates IOCs (URLs, IP addresses, file hashes) requi"
- "Automated feeds deliver bulk IOCs that need confidence scoring before ingestion"
- "An incident investigation requires contextual enrichment of observed network art"
Use this skill when:
- A phishing email or alert generates IOCs (URLs, IP addresses, file hashes) requiring rapid triage
- Automated feeds deliver bulk IOCs that need confidence scoring before ingestion into blocking controls
- An incident investigation requires contextual enrichment of observed network artifacts
Do not use this skill in isolation for high-stakes blocking decisions — always combine automated enrichment with analyst judgment, especially for shared infrastructure (CDNs, cloud providers).
When NOT to Use
- When you lack proper authorization for testing
- For production systems without change management
- When the task requires legal or compliance expertise beyond technical scope
Prerequisites
- VirusTotal API key (free or Enterprise) for multi-AV and sandbox lookup
- AbuseIPDB API key for IP reputation checks
- MISP instance or TIP for cross-referencing against known campaigns
- Python with
requests and vt-py libraries, or SOAR platform with pre-built connectors
Workflow
# Example: IOC detection
import re
IOC_PATTERNS = {
"ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",
"domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",
"hash_md5": r"\b[a-f0-9]{32}\b",
"hash_sha256": r"\b[a-f0-9]{64}\b",
}
def extract_iocs(text: str) -> dict:
return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}
- Scope the Analysis — Define what indicators of compromise artifacts or data sources to examine and the investigation timeline.
- Preserve Evidence — Create forensic copies of relevant data. Maintain chain of custody documentation.
- Extract Key Indicators — Parse and extract relevant indicators of compromise data points from collected artifacts.
- Correlate Findings — Cross-reference extracted data with other sources (threat intel, logs, timelines).
- Build Timeline — Construct a chronological sequence of events related to indicators of compromise.
- Document Analysis — Write findings report with evidence, conclusions, and recommendations.
Tools
- Forensic Toolkit — Evidence collection and analysis
- Timeline Tools — Chronological event reconstruction
- Log Analysis Platform — Centralized log parsing and search
Process
- Scope — Define research questions, identify data sources, set time boundaries
- Gather — Collect data from primary sources, APIs, and public records
- Synthesize — Analyze findings, identify patterns, produce actionable report
Verification
Anti-Rationalization Table
| Rationalization |
Reality |
| "We are too small to be targeted" |
Automated attacks target everyone. Size does not matter. |
| "Security slows us down" |
A breach slows you down 100x more. Build security in from the start. |
| "We will fix it after launch" |
Vulnerabilities in production are exploited within hours. Fix before deploy. |
1---2name: analyzing-indicators-of-compromise3description: Use when analyzes indicators of compromise (IOCs) including IP addresses, domains, file hashes, URLs, and email artifacts to determine maliciousness confidence, campaign attribution, and blocking priority. Use when triaging IOCs from phishing emails, security alerts, or external threat feeds; enriching raw IOCs with multi-source intelligence; or making block/monitor/whitelist decisions. Activates for requests involving VirusTotal, AbuseIPDB, MalwareBazaar, MISP, or IOC enrichment pipelines.4license: Apache-2.05---67# Analyzing Indicators Of Compromise89## Overview1011Cybersecurity skill for analyzing indicators of compromise. Follows industry best practices and security standards.1213## When to Use1415**Trigger phrases:**16- "analyzing indicators of compromise"17- "A phishing email or alert generates IOCs (URLs, IP addresses, file hashes) requi"18- "Automated feeds deliver bulk IOCs that need confidence scoring before ingestion"19- "An incident investigation requires contextual enrichment of observed network art"202122Use this skill when:23- A phishing email or alert generates IOCs (URLs, IP addresses, file hashes) requiring rapid triage24- Automated feeds deliver bulk IOCs that need confidence scoring before ingestion into blocking controls25- An incident investigation requires contextual enrichment of observed network artifacts2627**Do not use** this skill in isolation for high-stakes blocking decisions — always combine automated enrichment with analyst judgment, especially for shared infrastructure (CDNs, cloud providers).282930## When NOT to Use3132- When you lack proper authorization for testing33- For production systems without change management34- When the task requires legal or compliance expertise beyond technical scope353637## Prerequisites3839- VirusTotal API key (free or Enterprise) for multi-AV and sandbox lookup40- AbuseIPDB API key for IP reputation checks41- MISP instance or TIP for cross-referencing against known campaigns42- Python with `requests` and `vt-py` libraries, or SOAR platform with pre-built connectors4344## Workflow4546```python47# Example: IOC detection48import re4950IOC_PATTERNS = {51 "ip": r"\b(?:\d{1,3}\.){3}\d{1,3}\b",52 "domain": r"\b[a-z0-9-]+\.[a-z]{2,}\b",53 "hash_md5": r"\b[a-f0-9]{32}\b",54 "hash_sha256": r"\b[a-f0-9]{64}\b",55}5657def extract_iocs(text: str) -> dict:58 return {k: re.findall(v, text) for k, v in IOC_PATTERNS.items()}59```60611. **Scope the Analysis** — Define what indicators of compromise artifacts or data sources to examine and the investigation timeline.622. **Preserve Evidence** — Create forensic copies of relevant data. Maintain chain of custody documentation.633. **Extract Key Indicators** — Parse and extract relevant indicators of compromise data points from collected artifacts.644. **Correlate Findings** — Cross-reference extracted data with other sources (threat intel, logs, timelines).655. **Build Timeline** — Construct a chronological sequence of events related to indicators of compromise.666. **Document Analysis** — Write findings report with evidence, conclusions, and recommendations.6768## Tools6970- **Forensic Toolkit** — Evidence collection and analysis71- **Timeline Tools** — Chronological event reconstruction72- **Log Analysis Platform** — Centralized log parsing and search737475## Process76771. **Scope** — Define research questions, identify data sources, set time boundaries781. **Gather** — Collect data from primary sources, APIs, and public records791. **Synthesize** — Analyze findings, identify patterns, produce actionable report8081## Verification8283- [ ] All indicators of compromise procedures executed completely and documented84- [ ] Findings validated against multiple data sources85- [ ] False positives identified and filtered86- [ ] Results documented with evidence and timestamps87- [ ] Recommendations provided with risk-based prioritization8889## Anti-Rationalization Table9091| Rationalization | Reality |92|---|---|93| "We are too small to be targeted" | Automated attacks target everyone. Size does not matter. |94| "Security slows us down" | A breach slows you down 100x more. Build security in from the start. |95| "We will fix it after launch" | Vulnerabilities in production are exploited within hours. Fix before deploy. |