collecting-indicators-of-compromise

mukul975/Anthropic-Cybersecurity-Skills · updated May 25, 2026

MDX-style export adds YAML metadata + attribution linking explainx.ai and this canonical listing URL.

$npx skills install mukul975/Anthropic-Cybersecurity-Skills/collecting-indicators-of-compromise
0 commentsdiscussion
summary

Systematically collects, categorizes, and distributes indicators of compromise (IOCs) during and after security incidents to enable detection, blocking, and threat intelligence sharing. Covers network, host, email, and behavioral indicators using STIX/TAXII formats and threat intelligence platforms. Activates for requests involving IOC collection, indicator extraction, threat indicator sharing, compromise indicators, STIX export, or IOC enrichment.

skill.md
name
collecting-indicators-of-compromise
description
'Systematically collects, categorizes, and distributes indicators of compromise (IOCs) during and after security incidents to enable detection, blocking, and threat intelligence sharing. Covers network, host, email, and behavioral indicators using STIX/TAXII formats and threat intelligence platforms. Activates for requests involving IOC collection, indicator extraction, threat indicator sharing, compromise indicators, STIX export, or IOC enrichment. '
domain
cybersecurity
subdomain
incident-response
tags
- IOC-collection - threat-indicators - STIX-TAXII - MISP - threat-intelligence-sharing
mitre_attack
- T1071 - T1059 - T1547 - T1053
version
1.0.0
author
mahipal
license
Apache-2.0
nist_csf
- RS.MA-01 - RS.MA-02 - RS.AN-03 - RC.RP-01

Collecting Indicators of Compromise

When to Use

  • During active incident response to identify and block adversary infrastructure
  • Post-incident to document all observed adversary artifacts for future detection
  • When sharing threat intelligence with ISACs, sector partners, or law enforcement
  • When building detection rules in SIEM, EDR, or network security tools
  • When enriching IOCs with threat intelligence context for risk scoring

Do not use for behavioral TTP analysis without accompanying technical indicators; use MITRE ATT&CK mapping for behavioral characterization.

Prerequisites

  • Access to incident evidence sources: SIEM logs, EDR telemetry, memory dumps, disk images, network captures
  • Threat intelligence platform (MISP, OpenCTI, ThreatConnect) for IOC management and sharing
  • IOC enrichment tools: VirusTotal, OTX (AlienVault Open Threat Exchange), Shodan, DomainTools
  • STIX 2.1 knowledge for structured IOC representation
  • Sharing agreements with relevant ISACs (FS-ISAC, H-ISAC, IT-ISAC) or sector partners

Workflow

Step 1: Identify IOC Categories

Collect indicators across all categories from incident evidence:

Network Indicators:

  • IP addresses (C2 servers, staging servers, exfiltration destinations)
  • Domain names (C2 domains, phishing domains, DGA domains)
  • URLs (malware download, C2 check-in, exfiltration endpoints)
  • JA3/JA3S hashes (TLS client/server fingerprints)
  • User-Agent strings (custom or unusual HTTP headers)
  • DNS query patterns (tunneling signatures, DGA patterns)

Host Indicators:

  • File hashes (MD5, SHA-1, SHA-256 of malware, tools, scripts)
  • File paths (known malware installation directories)
  • Registry keys (persistence mechanisms, configuration storage)
  • Scheduled tasks and service names (persistence)
  • Mutex/event names (malware instance synchronization)
  • Named pipes (C2 communication channels, e.g., Cobalt Strike)

Email Indicators:

  • Sender addresses and domains (spoofed or attacker-controlled)
  • Subject lines and body content patterns
  • Attachment names and hashes
  • Embedded URLs
  • Email header anomalies (SPF/DKIM/DMARC failures)

Step 2: Extract IOCs from Evidence Sources

Systematically extract indicators from each evidence source:

From SIEM/Log Analysis:

# Extract unique destination IPs from firewall logs
index=firewall action=blocked
| stats count by dest_ip
| where count > 100

# Extract domains from DNS query logs
index=dns query=*evil* OR query=*c2*
| stats count by query

From Memory Forensics:

# Extract network connections
vol -f memory.raw windows.netscan | grep ESTABLISHED

# Extract strings from suspicious process memory
vol -f memory.raw windows.memmap --pid 3847 --dump
strings -n 8 pid.3847.dmp | grep -E "(http|https)://"

From Malware Analysis:

Sandbox Report IOC Extraction:
- Dropped files:      3 (hashes extracted)
- DNS queries:        update.evil[.]com, cdn.malware[.]net
- HTTP connections:   POST to https://185.220.101[.]42/gate.php
- Registry modified:  HKCU\Software\Microsoft\Windows\CurrentVersion\Run\svcupdate
- Mutex created:      Global\MTX_0x1234ABCD
- Named pipe:         \\.\pipe\MSSE-1234-server

Step 3: Enrich IOCs with Context

Add threat intelligence context to each indicator:

IOC Enrichment Report:
━━━━━━━━━━━━━━━━━━━━━
IP: 185.220.101.42
  VirusTotal:     12/89 vendors flag as malicious
  Shodan:         Open ports: 443, 8443, 80
  Geolocation:    Netherlands, AS208476
  First Seen:     2025-10-01
  Threat Intel:   Associated with Qakbot C2 infrastructure
  Confidence:     High
  TLP:            AMBER

Domain: update.evil[.]com
  Registration:   2025-10-28 (recently registered)
  Registrar:      Namecheap
  WHOIS Privacy:  Yes
  VirusTotal:     8/89 vendors flag as malicious
  DNS History:    Resolved to 185.220.101.42, 91.215.85.17
  Confidence:     High
  TLP:            AMBER

Step 4: Score and Prioritize IOCs

Assign confidence and risk scores to each indicator:

ScoreConfidence LevelCriteria
90-100Confirmed MaliciousMultiple TI sources confirm, observed in active attack
70-89Highly SuspiciousSingle TI source confirms, behavioral analysis supports
50-69SuspiciousLimited TI data, contextually suspicious
30-49UnconfirmedNo TI matches, but anomalous in environment
0-29Likely BenignFalse positive indicators or legitimate infrastructure

Step 5: Distribute IOCs for Detection and Blocking

Push IOCs to defensive systems for immediate protection:

  • Firewall/IPS: Block C2 IPs and domains
  • DNS: Sinkhole malicious domains
  • EDR: Add file hashes to blocklist, create custom IOC watchlists
  • Email Gateway: Block sender domains, attachment hashes, malicious URLs
  • SIEM: Create correlation searches for IOC matches
  • Web Proxy: Block URLs and domains in web filtering policy

Step 6: Share IOCs with Partners

Package IOCs in STIX 2.1 format for sharing:

{
  "type": "indicator",
  "spec_version": "2.1",
  "id": "indicator--a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "created": "2025-11-15T18:00:00Z",
  "modified": "2025-11-15T18:00:00Z",
  "name": "Qakbot C2 Server IP",
  "indicator_types": ["malicious-activity"],
  "pattern": "[ipv4-addr:value = '185.220.101.42']",
  "pattern_type": "stix",
  "valid_from": "2025-11-15T14:23:00Z",
  "confidence": 95,
  "labels": ["c2", "qakbot"],
  "object_marking_refs": ["marking-definition--f88d31f6-486f-44da-b317-01333bde0b82"]
}

Submit to MISP, ISAC portals, and TAXII servers per sharing agreements.

Key Concepts

TermDefinition
IOC (Indicator of Compromise)Technical artifact observed during a security incident that indicates adversary presence (hash, IP, domain, etc.)
TLP (Traffic Light Protocol)Standard for classifying the sharing restrictions of threat intelligence: WHITE, GREEN, AMBER, AMBER+STRICT, RED
STIX (Structured Threat Information Expression)Standard language for representing cyber threat intelligence in a structured, machine-readable format
TAXII (Trusted Automated Exchange of Intelligence Information)Transport protocol for sharing STIX-formatted threat intelligence between organizations
Confidence ScoreNumerical rating (0-100) indicating the analyst's certainty that an indicator is truly malicious
IOC LifecycleProcess of creating, validating, distributing, and eventually retiring indicators as they lose relevance
DefangingPractice of modifying malicious URLs and domains in reports to prevent accidental clicks (e.g., evil[.]com)

Tools & Systems

  • MISP: Open-source threat intelligence sharing platform for managing, storing, and distributing IOCs
  • VirusTotal: Multi-engine malware scanning and threat intelligence platform for IOC enrichment
  • OpenCTI: Open-source cyber threat intelligence platform supporting STIX 2.1 natively
  • Yeti: Open-source platform for organizing observables, indicators, and TTPs
  • CyberChef: GCHQ's data transformation tool useful for decoding, defanging, and formatting IOCs

Common Scenarios

Scenario: Post-Incident IOC Package for ISAC Sharing

Context: After responding to a Qakbot infection that led to Cobalt Strike deployment, the IR team must package all IOCs for sharing with the Financial Services ISAC (FS-ISAC).

Approach:

  1. Compile all network, host, and email indicators from the investigation
  2. Enrich each IOC with VirusTotal and MISP correlation data
  3. Assign confidence scores based on direct observation vs. secondary correlation
  4. Mark all IOCs with TLP:AMBER for partner sharing
  5. Export as STIX 2.1 bundle and submit to FS-ISAC TAXII feed
  6. Create a human-readable IOC summary report for email distribution

Pitfalls:

  • Including internal IP addresses or hostnames in shared IOC packages (information leakage)
  • Sharing IOCs at TLP:WHITE that should be restricted to TLP:AMBER
  • Not defanging URLs and domains in human-readable reports
  • Sharing IP addresses of legitimate CDNs or cloud providers as malicious IOCs

Output Format

INDICATOR OF COMPROMISE REPORT
================================
Incident:     INC-2025-1547
Date:         2025-11-15
TLP:          AMBER
Sharing:      FS-ISAC, internal SOC

NETWORK INDICATORS
Type     | Value                    | Confidence | Context
---------|--------------------------|------------|--------
IPv4     | 185.220.101[.]42         | 95         | Qakbot C2 server
IPv4     | 91.215.85[.]17           | 90         | Cobalt Strike C2
Domain   | update.evil[.]com        | 95         | Staging domain
URL      | hxxps://185.220[.]101.42/gate.php | 95  | C2 check-in
JA3      | a0e9f5d64349fb13191bc7...| 80         | Qakbot TLS fingerprint

HOST INDICATORS
Type     | Value                    | Confidence | Context
---------|--------------------------|------------|--------
SHA-256  | a1b2c3d4e5f6...         | 100        | Qakbot dropper
SHA-256  | b2c3d4e5f6a7...         | 100        | Cobalt Strike beacon
FilePath | C:\Users\*\AppData\Local\Temp\update.exe | 85 | Dropper location
RegKey   | HKCU\...\Run\svcupdate  | 90         | Persistence
Mutex    | Global\MTX_0x1234ABCD   | 95         | Qakbot instance lock
Task     | WindowsUpdate           | 90         | Scheduled task persistence

EMAIL INDICATORS
Type     | Value                    | Confidence | Context
---------|--------------------------|------------|--------
Sender   | billing@spoofed[.]com   | 95         | Phishing sender
Subject  | "Invoice-Nov2025"       | 70         | Phishing subject line
Hash     | c3d4e5f6a7b8...         | 100        | Malicious .docm attachment

TOTAL: 14 indicators | HIGH confidence avg: 91
how to use collecting-indicators-of-compromise

How to use collecting-indicators-of-compromise on Cursor

AI-first code editor with Composer

1

Prerequisites

Before installing skills in Cursor, ensure your development environment meets these requirements:

  • Cursor installed and configured on your development machine
  • Node.js version 16.0+ with npm package manager (verify with node --version)
  • Active project directory or workspace where you want to add collecting-indicators-of-compromise
2

Execute installation command

Execute the skills CLI command in your project's root directory to begin installation:

$npx skills install mukul975/Anthropic-Cybersecurity-Skills/collecting-indicators-of-compromise

The skills CLI fetches collecting-indicators-of-compromise from GitHub repository mukul975/Anthropic-Cybersecurity-Skills and configures it for Cursor.

3

Select Cursor when prompted

The CLI will show a list of available agents. Use arrow keys to navigate and space to select Cursor:

◆ Which agents do you want to install to?
│ ── Universal (.agents/skills) ── always included ────
│ • Amp
│ • Antigravity
│ • Cline
│ • Codex
│ ●Cursor(selected)
│ • Cursor
│ • Windsurf
4

Verify installation

Confirm successful installation by checking the skill directory location:

.cursor/skills/collecting-indicators-of-compromise

Reload or restart Cursor to activate collecting-indicators-of-compromise. Access the skill through slash commands (e.g., /collecting-indicators-of-compromise) or your agent's skill management interface.

Security & Verification Notice

We perform automated surface-level scans (Gen AI Scanner, Socket, Snyk) during installation. These checks detect common vulnerabilities but do not guarantee complete security. Always review skill source code and verify the publisher's reputation before production use.

Skills execute code in your development environment. Always verify the publisher's identity, review recent commits, and test in isolated environments before production deployment.

List & Monetize Your Skill

Submit your Claude Code skill and start earning

GET_STARTED →

Use Cases

Task Automation & Efficiency

Automate repetitive workflows and reduce manual effort

Example

Generate reports, summarize documents, draft communications

Save 3-5 hours per week on routine tasks

Knowledge Enhancement

Learn new skills, understand complex topics, get expert guidance

Example

Explain concepts, provide examples, suggest learning resources

Accelerate learning and skill development by 2x

Quality Improvement

Enhance output quality through reviews, suggestions, and refinements

Example

Review drafts, suggest improvements, catch errors

Improve work quality by 30-40% with less effort

Implementation Guide

Prerequisites

  • Claude Desktop or compatible AI client with skill support
  • Clear understanding of task or problem to solve
  • Willingness to iterate and refine outputs

Time Estimate

15-45 minutes depending on use case complexity

Installation Steps

  1. 1.Install skill using provided installation command
  2. 2.Test with simple use case relevant to your work
  3. 3.Evaluate output quality and relevance
  4. 4.Iterate on prompts to improve results
  5. 5.Integrate into regular workflow if valuable

Common Pitfalls

  • Expecting perfect results without iteration
  • Not providing enough context in prompts
  • Using skill for tasks outside its intended scope
  • Accepting outputs without review and validation

Best Practices

✓ Do

  • +Start with clear, specific prompts
  • +Provide relevant context and constraints
  • +Review and refine all outputs before using
  • +Iterate to improve output quality
  • +Document successful prompt patterns

✗ Don't

  • Don't use without understanding skill limitations
  • Don't skip validation of outputs
  • Don't share sensitive information in prompts
  • Don't expect skill to replace human judgment

💡 Pro Tips

  • Be specific about desired format and style
  • Ask for multiple options to choose from
  • Request explanations to understand reasoning
  • Combine AI efficiency with human expertise

When to Use This

✓ Use When

Use when skill capabilities match your task, clear ROI on time saved, and you can validate outputs. Best for repetitive tasks, learning, and quality improvement.

✗ Avoid When

Avoid when task requires deep expertise you can't validate, involves sensitive decisions, or when learning process is more valuable than speed of completion.

Learning Path

  1. 1Familiarize yourself with skill capabilities and limitations
  2. 2Start with low-risk, non-critical tasks
  3. 3Progress to more complex and valuable use cases
  4. 4Build expertise through regular use and experimentation

Discussion

Product Hunt–style comments (not star reviews)
  • No comments yet — start the thread.
general reviews

Ratings

4.873 reviews
  • Ama Farah· Dec 28, 2024

    collecting-indicators-of-compromise reduced setup friction for our internal harness; good balance of opinion and flexibility.

  • Naina Abebe· Dec 20, 2024

    collecting-indicators-of-compromise fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Chinedu Agarwal· Dec 16, 2024

    Useful defaults in collecting-indicators-of-compromise — fewer surprises than typical one-off scripts, and it plays nicely with `npx skills` flows.

  • Soo Farah· Dec 8, 2024

    Registry listing for collecting-indicators-of-compromise matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Advait Malhotra· Nov 27, 2024

    collecting-indicators-of-compromise fits our agent workflows well — practical, well scoped, and easy to wire into existing repos.

  • Ama Flores· Nov 19, 2024

    We added collecting-indicators-of-compromise from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

  • Neel Kim· Nov 11, 2024

    Registry listing for collecting-indicators-of-compromise matched our evaluation — installs cleanly and behaves as described in the markdown.

  • Chinedu Park· Nov 7, 2024

    collecting-indicators-of-compromise is among the better-maintained entries we tried; worth keeping pinned for repeat workflows.

  • Chinedu Ndlovu· Oct 26, 2024

    Keeps context tight: collecting-indicators-of-compromise is the kind of skill you can hand to a new teammate without a long onboarding doc.

  • Advait Chawla· Oct 18, 2024

    We added collecting-indicators-of-compromise from the explainx registry; install was straightforward and the SKILL.md answered most questions upfront.

showing 1-10 of 73

1 / 8