attack-mapping
Check or add ATT&CK technique ids on a finding by grounding each id in an observable. Read this when a triage, investigation, or…
How to move a hunt from its hypotheses to verdicts -- what to query next, when to validate, when to stop. Load at the start of a hunt.
$ npx -y skills add Vigil-SOC/vigil --skill hunt-method --agent claude-codeHow it fires
How this skill gets triggered: by you, by Claude, or both.
/hunt-methodContext preview
The summary Claude sees to decide when to auto-load this skill.
How to move a hunt from its hypotheses to verdicts -- what to query next, when to validate, when to stop. Load at the start of a hunt.
name: hunt-method description: How to move a hunt from its hypotheses to verdicts -- what to query next, when to validate, when to stop. Load at the start of a hunt.
Start from the board in your brief. For each active hypothesis, say what it predicts you would see if it were true and what the benign explanation predicts instead. Query for what separates them.
same host over a longer window, the same flow at a finer grain.
beaconing; now ask what 198.51.100.7 also talked to. Record it as a follow_up when you record the evidence that showed it, so it is on the board. Pivot only to an entity a record mentions.
After every record_evidence, rule each new record against every active hypothesis with link_evidence. Evidence that only ever accrues to the hypothesis it was gathered for is confirmation drift; ruling against the benign explanation is what stops a hunt only looking one way.
Validate a hypothesis when its linked evidence would survive a defender's best benign story: corroborated by more than one telemetry domain, resting on at least one value the sensor recorded rather than one the adversary chose. A verdict that is refused tells you what is missing; go and get it, then validate again. A hypothesis you never put up for a verdict closes inconclusive when the budget runs out, which is worse than testing it.
abandon_hypothesis needs a cited record the telemetry attested. A feed label, a process name, a signing cert and any auto-enriched record are all attacker-nameable and cannot clear a branch on their own.
handoff_ir only on a proven hypothesis. Say in the rationale what a responder should act on first.
Call conclude_hunt when nothing active could still be moved by a query you can run. If it is refused, it says what is blocking: resolve that, or close the open questions you have answered with close_question.
Vigil is an open source, agentic AI SOC released under Apache 2.0. Your playbooks are plain-text Markdown files, your agent logic is readable code, and your integrations use an open standard (MCP). It is a capability you own, not a black box you rent.
Check or add ATT&CK technique ids on a finding by grounding each id in an observable. Read this when a triage, investigation, or…
Grade a periodic outbound flow as c2, suspicious, or benign-periodic. Read this when raw_data shows a repeating connection and…
Write a security report for a chosen audience - technical report, executive summary, or one-page board brief with…
Broad behavioural hunting across the findings detection already scored and the raw telemetry behind them.
Method for working one open case from its findings to a supported disposition. Load at the start of a case.
Enrich the indicators of compromise (IPs, domains, hashes, URLs) in a finding. Read this before looking up any IOC so the…