Skip to content

Guide · Agent skill

How to use the correlating-threat-campaigns agent skill

Updated · written with AI from the project's own documentation and checked against our catalogue data

The correlating-threat-campaigns skill is a set of instructions and helper files that lets an AI agent work through the question of whether several security incidents belong to one coordinated operation. It is aimed at threat intelligence analysts, security teams reviewing indicators from partners, and SOC leads who need a structured way to decide whether incidents are linked. After this guide you will know what the skill does, how to install it, how to ask for it in plain language, and what it needs before it is useful.

Correlating Threat Campaignsmukul975/Anthropic-Cybersecurity-Skills · Apache-2.0

Quick start

  1. 1Download and unzip. Download the skill ZIP from this page and unzip it into ~/.claude/skills/ for personal use or into .claude/skills/ inside a project.
  2. 2Check your requirements. Confirm you have Python 3 for scripts/agent.py, historical SIEM or TIP data (90+ days recommended), and a MISP instance with an API key if you want the MISP client.
  3. 3Ask with your data. Describe the incidents or indicators you have and ask whether they belong to one campaign. Include timeframes and sources.
  4. 4Review the pivot analysis. Check which infrastructure, capability, timing and victimology links the agent found and which are weak.
  5. 5Read the confidence score. Use the HIGH, MEDIUM or LOW label as a starting point and question any link resting on shared hosting or common tools.
  6. 6Build the graph and report. Use OpenCTI, Maltego or Neo4j to visualise the relationships, then ask the agent to draft the campaign report.

What the skill makes the agent do

Once installed, the agent follows a five-step workflow: collect and normalise candidate events, look for pivot points, calculate a correlation confidence, build a campaign graph, and produce a campaign intelligence report. Pivot points are checked across four dimensions: infrastructure (shared IP addresses, /24 subnets, registrant details, ASNs, SSL certificate fingerprints), capability (shared malware hashes, YARA matches, C2 protocol parameters, packers), timing (events in the same window, kill-chain sequences, compilation timestamps) and victimology (target sector, geography, technology).

The skill weights these signals. Infrastructure overlap carries the most weight (40), capability overlap is next (35), temporal clustering is 15 and victim alignment is 10. The total is labelled HIGH at 70 or more, MEDIUM at 45 or more, and LOW otherwise. The report the agent drafts covers a campaign name, timeline, suspected actor with confidence, target profile, TTP summary, shared indicators and detection guidance.

Install the skill from the ZIP or the Claude apps

Download the ZIP for this skill from this page and unzip it. For a personal install, place the unzipped skill folder in ~/.claude/skills/. For a single project, place it in that project's .claude/skills/ folder instead. In the Claude apps, you can instead upload the skill under Settings → Capabilities → Skills.

The skill folder contains SKILL.md (the instructions the agent reads), scripts/agent.py (a Python helper) and references/api-reference.md (MISP REST API examples).

  • Personal install: ~/.claude/skills/
  • Project install: .claude/skills/ inside the project
  • Claude apps: Settings → Capabilities → Skills, then upload

Trigger the skill with natural requests

You do not need a special command. The skill description says it activates for requests about campaign analysis, incident clustering, cross-organisational IOC correlation or the MISP correlation engine. Describe what you have and what you want, and include the indicators or event details you are working from.

Good requests name the data and the question. Vague requests like 'look at these' are more likely to produce a generic answer.

  • Here are five incidents from the last six months with the same C2 IP range. Are they one campaign? Score the links and draft a report.
  • An ISAC partner shared these hashes and domains. Check whether they match our past events in the SIEM export I have attached.
  • Cluster these incidents by infrastructure and timing, then tell me which links are weak.
  • Build a campaign graph outline for these events and list the shared indicators I can block.

Use the MISP helper and API examples

The bundled helper scripts/agent.py queries a MISP threat-sharing server over its REST API and uses only the Python standard library. Using it needs a MISP instance and an API key. The reference file shows the kinds of calls involved: searching attributes by type and value, searching events by tag and date, viewing an event with its correlations, and adding an attribute to an event. Replace the placeholder URL and key with your own values.

curl -X POST "https://misp.example.com/attributes/restSearch" -H "Authorization: YOUR_API_KEY" -H "Content-Type: application/json" -d '{"type": "ip-src", "value": "185.220.101.42"}'

Avoid false attribution and read the scores with care

The skill is explicit that weak signals should not be forced into a campaign. Shared CDN or shared hosting IPs do not establish linkage, and several threat actors use the same tools such as Cobalt Strike. Premature attribution to an actor persists in reports, so treat a HIGH score as a reason to gather more evidence, not as proof.

The confidence snippet in the skill calls helper functions such as count_shared_infra and assess_temporal_clustering. The snippet does not define them, so you or the agent must supply those functions before the score can run.

  • Do not treat shared CDN or bulletproof-hosting IPs as proof of linkage.
  • Do not attribute a campaign to an actor until the evidence threshold is met.
  • Check for recycled infrastructure when incidents are years apart.

What people use it for

  • Grouping several incidents from the last few months into one suspected campaign with a timeline
  • Checking whether indicators shared by an ISAC partner match your own historical events
  • Scoring link strength between incidents before deciding whether to open a campaign record
  • Drafting a campaign report with shared indicators that can be prioritised for blocking

Frequently asked questions

How do I install the correlating-threat-campaigns skill?

Download the ZIP from this page and unzip it into ~/.claude/skills/ for personal use, or into a project's .claude/skills/ folder. In the Claude apps, you can upload it under Settings → Capabilities → Skills instead.

What does the correlating-threat-campaigns skill require?

It requires Python 3 for scripts/agent.py, which uses only the standard library. Historical SIEM or TIP data (90+ days recommended) is needed for the workflow, and a MISP instance with an API key is needed for the MISP client. Graph tools such as OpenCTI, Maltego or Neo4j are optional.

Is the correlating-threat-campaigns skill free?

The skill is listed under the Apache-2.0 licence. The source does not cover pricing, so check the licence text for terms. Some steps use commercial intelligence sources such as Recorded Future, Mandiant or CrowdStrike reports, which need their own access.

Does the skill send data over the network?

Yes. The MISP helper queries a MISP server over its REST API, so it uses the network and needs an API key. The skill also runs scripts, so review scripts/agent.py before use and point it only at servers you trust.

Can I use this skill for a single incident?

The source says it is not intended for quick single-incident triage. The workflow assumes weeks or months of historical data and a MISP or TIP setup, so a single incident will not give a meaningful campaign result.

How does this compare with doing campaign correlation by hand or with a MISP-only approach?

The skill gives the agent a repeatable structure: pivot dimensions, weighted scoring, a graph step and a report layout. MISP's correlation engine finds shared attribute values automatically, but the skill adds the analysis and report steps on top. It does not replace MISP or a graph tool, and several of its steps depend on 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

This skill suits threat intelligence analysts and SOC leads who already have historical event data and a MISP or TIP setup, and who want a consistent way to build campaign reports. It is a poor fit for quick single-incident triage, for teams without MISP or a graph tool, or for anyone who wants links forced from weak signals.

Download the skill