MCPInstall

threat-hunting

Conduct proactive, hypothesis-driven threat hunts — search SIEM / EDR / logs for adversaries who haven't tripped an alert yet. ATT&CK-driven, hypothesis-based methodology. Use when the user mentions 'threat hunting,' 'proactive hunt,' 'TaHiTI,' 'PEAK framework,' 'MITRE ATT&CK hunt,' 'hypothesis-driven hunt,' 'hunt hypothesis,' 'living off the land,' 'LOLBins,' 'beaconing,' 'lateral movement detection,' 'data staging,' 'persistence hunting,' or wants to find threats that have evaded existing detections.

Installs
339
Last 24h
—
Trending rank
—
Security
Not audited

Install

Works with every agent the skills CLI supports.

npx skills add https://github.com/briiirussell/cybersecurity-skills --skill threat-hunting
  1. 01

    Install

    Run the command in your project. The CLI asks which agents to install for.

  2. 02

    Describe the task

    Ask your agent for something this skill covers. It loads threat-hunting automatically when relevant.

  3. 03

    Review the result

    The agent follows the SKILL.md steps, scripts and references bundled with the skill.

SKILL.md

The instructions your agent reads when the skill is triggered.

Threat Hunting — Proactive Adversary Detection

Hunt for adversaries who are already inside but haven't tripped an alert. Distinct from incident-triage (reactive, alert is firing) and from siem-detection (engineer rules so future alerts fire). This skill is the proactive layer — assume something has slipped through, look for it.

Hunting is hypothesis-driven, not browse-driven. "Let's look around the SIEM" is not hunting; "let's check for the specific pattern of T1059.001 (PowerShell) being launched by Office processes" is.

Cross-references: siem-detection (queries you write here often graduate to detection rules), incident-triage (what to do if a hunt confirms a finding), breach-patterns (a rich source of hunt hypotheses), disk-forensics (deeper analysis on confirmed hits).

Methodology — PEAK framework

The PEAK (Prepare, Execute, Act, Knowledge) framework from Splunk SURGe — the most actionable hunting methodology I've seen.

Step 1: Prepare

Form the hypothesis. Strong hypotheses share three properties:

  1. Specific — names a technique, log source, and expected artifact
  2. Testable — describes what evidence would confirm or deny
  3. Bounded — has a defined time window and scope

Bad hypothesis: "Look for anomalies in the SIEM" Good hypothesis: "Within the last 30 days, no service account should have run interactive PowerShell with -encodedCommand flag (T1059.001 + T1027). Search Sysmon event 1 for parent process = service-account-launched scheduled task, child = powershell.exe, command line contains -enc or -encodedcommand."

Hunt hypothesis sources, ranked by yield:

SourceYieldEffort
Recent incident (yours or peer's)HighLow — pattern is concrete
breach-patterns skill catalogHighLow — generalizes from public breaches
MITRE ATT&CK technique you don't have a detection forMediumMedium — read the technique, design the hunt
Threat intel report (CrowdStrike, Mandiant, vendor reports)MediumMedium — current patterns
Anomaly: "this number went up — why"LowLow — often FP, occasionally gold

Step 2: Execute

Run the hunt. Three execution patterns:

Pattern A — Pivot from indicator. Start with a specific IOC (IP, hash, domain) and look for any host or user that touched it.

// Sentinel — pivot from a suspicious IP across all log sources
union *
| where TimeGenerated > ago(90d)
| where contains("198.51.100.42")
| project TimeGenerated, Type, Computer, _ResourceId

Pattern B — Pivot from technique. Start with an ATT&CK technique and look for any host doing that.

// Splunk — T1547.001 Registry Run Keys persistence
index=sysmon EventCode=13 
  TargetObject="*\\Software\\Microsoft\\Windows\\CurrentVersion\\Run\\*"
| stats values(Details) by Computer, User
| where len(values(Details)) > 1

Pattern C — Anomaly hunt. Establish a baseline; look for outliers.

// Sentinel — service accounts authenticating from new geographies
SigninLogs
| where TimeGenerated > ago(30d)
| where UserType == "Service"
| summarize Countries = make_set(Location) by UserPrincipalName
| where array_length(Countries) > 1

Step 3: Act

For every hit, three possible outcomes:

OutcomeAction
Confirmed maliciousEscalate to incident-triage immediately
Confirmed benignDocument and move on
Unknown / unable to confirmDeepen investigation (host artifacts, network traffic, user interview)

Don't leave hits in the "unknown" state. Either resolve, or hand off with a documented next-step.

Step 4: Knowledge

The hunt's value isn't the one hit — it's the artifacts.

For each hunt:

  • If you found something, write a detection rule so future occurrences fire automatically (see siem-detection)
  • If you didn't find anything, document the hunt — query, scope, time window, conclusion. Future hunters won't re-do it
  • If the hunt was hard because of missing log coverage, document the gap and create a backlog item to fix log ingestion

Hunts that don't produce artifacts are work without compounding return. The whole point of the methodology is to turn every hunt into either a rule, a documented dead-end, or a coverage improvement.

High-yield hunt catalog

Persistence

  • Scheduled tasks created outside business hours — schtasks.exe /create from Sysmon event 1 + EventCode 4698 from Windows Security
  • Run-key persistence — registry writes to HKCU\...\Run, HKLM\...\Run, HKCU\...\RunOnce
  • Service installation outside known software-install windows — EventCode 7045
  • WMI persistence — __EventFilter and CommandLineEventConsumer subscriptions
  • Login items / launch daemons (macOS) — /Library/LaunchDaemons/*.plist, ~/Library/LaunchAgents/*.plist
  • Cron / systemd timers (Linux) — /etc/cron.*, /etc/systemd/system/*.timer, user crontabs

Defense evasion

  • PowerShell with -EncodedCommand — base64-encoded scripts are evasion 80% of the time
  • certutil.exe -decode — LOLBin used to decode dropper payloads
  • Sysmon EventCode 7 (Image loaded) for known-bad DLLs from non-standard paths
  • Process executing from %TEMP%, %APPDATA%, \Users\Public — non-standard exec paths
  • Command-line obfuscation patterns — large amounts of ^, backticks, cmd /c echo y | ...

Credential access

  • LSASS access from unexpected processes — Sysmon EventCode 10 with TargetImage = lsass.exe and SourceImage not in [mssense.exe, NisSrv.exe, ...]
  • procdump.exe or comsvcs.dll use — process-dumping LOLBins
  • NTDS.dit access outside backup windows — domain controller DB
  • AWS GetSessionToken or AssumeRole from new IPs — credential capture pivot
  • OAuth consent grants for high-scope applications — see iam-audit

Discovery

  • net group "Domain Admins" or equivalent enumeration commands
  • AD service ticket requests for high-value SPNs (Kerberoasting prep) — EventCode 4769 with RC4 encryption
  • whoami /all, quser, nltest /domain_trusts — situational awareness commands run by service accounts (humans rarely run these)
  • Cloud API listing — ListBuckets, ListUsers, DescribeInstances from unusual principals

Lateral movement

  • WMI execution to remote hosts — Sysmon EventCode 1 with wmic.exe or Invoke-WmiMethod
  • PsExec / remote service creation patterns — EventCode 7045 with random service name
  • Remote registry connections to unusual hosts
  • SSH key reuse — one private key authenticating to many hosts in a short window
  • AWS / GCP AssumeRole chains across accounts — pivot detection

Collection / staging / exfil

  • Large-volume reads from cloud storage by single principal — unusual S3 / GCS access patterns
  • Archive creation patterns — Compress-Archive, 7z.exe, tar, zip operating on directories outside user home
  • DNS queries to recently-registered domains — exfil over DNS or C2 beacon resolution
  • Outbound TLS to high-risk geographies — depends on your organization's normal pattern
  • Beaconing patterns — regular-interval connections (every N seconds ± jitter) to the same destination over hours

Cloud-specific

  • IAM credential exfiltration patterns — GetCredentialReport, GenerateCredentialReport from unusual principals
  • IMDS access from unusual processes / containers — anything reaching 169.254.169.254 that isn't the cloud SDK
  • CloudTrail / Audit Log tampering attempts — StopLogging, DeleteTrail, log-bucket access from non-logging principals
  • Cross-region resource creation by single principal in short window — pivot or coin-mining setup

Identity-provider-specific

  • OAuth app grants of high-scope permissions (Google Workspace, M365) — adversary technique for persistence outside the user's password
  • MFA method enrollment from new device — attacker registering their own MFA after stealing a session
  • Sign-ins from impossible geographies — geolocation jumps that exceed travel time
  • Service-account authentication from new client / new IP — service accounts should be predictable

Tools

  • SIEM — Splunk, Sentinel, Elastic, Chronicle, Sumo, Wazuh
  • EDR — CrowdStrike (RTR), SentinelOne (deep visibility), Microsoft Defender (advanced hunting), Carbon Black
  • Sysmon — open-source endpoint logging on Windows, output to SIEM
  • osquery — SQL queries over endpoint state (cross-platform)
  • Velociraptor — open-source live response and hunting framework (much more capable than free EDR)
  • Zeek — network metadata for traffic analysis
  • MITRE ATT&CK Navigator — coverage visualization
  • Hunt-Evil — hunting playbook content (open-source)
  • MaxMind GeoIP — geolocation lookup for IP-based hunts

Output Format

# Threat Hunt Report
## Hunt name: [descriptive — e.g., "Office process → encoded PowerShell"]
## Hypothesis: [specific, testable, bounded]
## Date range: [from - to]
## Hunter: [name]

### Methodology
- ATT&CK technique(s): [TXXXX.NNN]
- Data sources queried: [list]
- Query / queries:
  [the actual SIEM query]

### Findings
| Hit ID | Host / User / Resource | Outcome | Notes |
|--------|------------------------|---------|-------|

### Conclusion
- [Confirmed malicious / All benign / Inconclusive]
- [Confidence level — Low / Medium / High]

### Artifacts produced
- [ ] Detection rule added (link)
- [ ] Coverage gap documented (link)
- [ ] Negative-result documentation filed (link)

### Recommended follow-up
[Anything that needs deeper investigation, escalation, or future hunts]

Boundaries

  • Hunt only environments the user has authorization for
  • Never query SIEM / EDR data outside the user's authority — even if the dataset is available, scope matters
  • For confirmed-malicious findings, escalate to incident-triage immediately — do not continue hunting and risk tipping the adversary
  • Live response actions (host isolation, account disablement) are incident response, not hunting — escalate
  • Refuse to use threat-hunting techniques to surveil employees beyond what HR / legal has authorized
  • Negative hunt results are valuable evidence, not failure — document and credit accordingly

References

  • PEAK Threat Hunting Framework (Splunk SURGe)
  • TaHiTI (Targeted Hunting integrating Threat Intelligence) — Dutch model
  • MITRE ATT&CK
  • "The ThreatHunter Playbook" (Cyb3rWard0g) — open-source content
  • Sigma rules repo — many rules can become hunt queries
  • "Practical Threat Intelligence and Data-Driven Threat Hunting" — Valentina Costa-Gazcón
  • David Bianco's "Pyramid of Pain" — IOC value hierarchy
  • SANS FOR508 / FOR578 course materials
  • Velociraptor community hunt content

FAQ

What does the threat-hunting skill do?

Conduct proactive, hypothesis-driven threat hunts — search SIEM / EDR / logs for adversaries who haven't tripped an alert yet. ATT&CK-driven, hypothesis-based methodology. Use when the user mentions 'threat hunting,' 'proactive hunt,' 'TaHiTI,' 'PEAK framework,' 'MITRE ATT&CK hunt,' 'hypothesis-driven hunt,' 'hunt hypothesis,' 'living off the land,' 'LOLBins,' 'beaconing,' 'lateral movement detection,' 'data staging,' 'persistence hunting,' or wants to find threats that have evaded existing detections.

How do I install threat-hunting?

Run npx skills add https://github.com/briiirussell/cybersecurity-skills --skill threat-hunting in your project. The skills CLI detects the agents you use and copies the skill into the right folder. For Claude Code you can also place the skill folder at ~/.claude/skills/threat-hunting/ (personal) or .claude/skills/threat-hunting/ (project).

Which AI agents can use threat-hunting?

Any agent that supports the open Agent Skills format (a folder with a SKILL.md file), including Claude Code, Codex, Cursor, GitHub Copilot, Gemini CLI, Windsurf, Cline, OpenCode and more.

Is threat-hunting safe to install?

No partner security audit is available yet. Skills can run commands and scripts, so read the SKILL.md and any bundled files before installing.

Who maintains threat-hunting?

It is published by briiirussell in briiirussell/cybersecurity-skills. It has 339 recorded installs.

More from briiirussell/cybersecurity-skills

View all →

owasp-audit

briiirussell/cybersecurity-skills

Audit application source code against the OWASP Top 10 (2021) vulnerability categories — broken access control, cryptographic failures, injection, insecure design, security misconfiguration, vulnerable components, authentication failures, data integrity, logging failures, SSRF. Use when the user mentions 'OWASP,' 'OWASP Top 10,' 'security audit,' 'security review,' 'secure code review,' 'code security review,' 'vulnerability audit,' 'find vulnerabilities,' 'appsec review,' 'application security audit,' 'check for security issues,' 'broken access control,' 'IDOR,' 'SQL injection,' 'XSS,' 'SSRF,' or wants to check their codebase for common security weaknesses.

Security599 installs

web-pentest

briiirussell/cybersecurity-skills

Perform black-box / grey-box web application penetration testing on an authorized target — auth bypass, IDOR, session handling, business-logic flaws, parameter tampering, Burp Suite / OWASP ZAP workflows. Use when the user mentions 'web pentest,' 'web application penetration test,' 'pentesting,' 'bug bounty,' 'Burp Suite,' 'ZAP,' 'OWASP testing,' 'authentication testing,' 'session testing,' 'authorization testing,' 'business logic testing,' 'web vulnerability testing,' or has explicit authorization to test a live web application.

Security553 installs

api-audit

briiirussell/cybersecurity-skills

Audit REST, GraphQL, and RPC APIs against the OWASP API Security Top 10 (2023). Use when the user mentions 'API security,' 'API audit,' 'BOLA,' 'broken object level authorization,' 'BFLA,' 'function-level authorization,' 'mass assignment,' 'API rate limiting,' 'GraphQL security,' 'REST security,' 'API authentication,' 'API authorization,' 'excessive data exposure,' or needs to review API endpoints for security weaknesses.

Backend & APIs490 installs

dependency-audit

briiirussell/cybersecurity-skills

Audit project dependencies, frameworks, languages, and dev tools for known vulnerabilities, CVEs, and security anti-patterns. Use when the user mentions 'dependency audit,' 'npm audit,' 'CVE,' 'vulnerable packages,' 'supply chain security,' 'outdated dependencies,' 'known vulnerabilities,' 'security advisory,' 'package security,' 'framework vulnerability,' 'is this package safe,' or needs to check whether their stack has known security issues.

Security478 installs

secrets-audit

briiirussell/cybersecurity-skills

Find leaked secrets in source code, Git history, build artifacts, and infrastructure — and audit the secrets-management posture preventing future leaks. Use when the user mentions 'secrets audit,' 'secret scanning,' 'leaked credentials,' 'API key in code,' 'gitleaks,' 'trufflehog,' 'git history scan,' 'secrets management,' 'vault audit,' 'rotation policy,' 'AWS Secrets Manager,' 'HashiCorp Vault,' 'Doppler,' '1Password Secrets Automation,' 'sealed-secrets,' 'External Secrets Operator,' or needs to find or prevent credential exposure.

Security466 installs

threat-modeling

briiirussell/cybersecurity-skills

Run a structured threat-modeling session for a new feature, system, or architecture — STRIDE, attack trees, data flow diagrams, abuse cases. Use when the user mentions 'threat model,' 'threat modeling,' 'STRIDE,' 'attack tree,' 'abuse case,' 'data flow diagram,' 'DFD,' 'security architecture review,' 'design review,' 'pre-implementation security,' 'shift left,' 'what could go wrong,' or needs strategic security thinking before code is written.

Security421 installs

Popular security skills

View category →

azure-compliance

microsoft/azure-skills

Run Azure compliance and security audits with azqr plus Key Vault expiration checks. Covers best-practice assessment, resource review, policy/compliance validation, and security posture checks. WHEN: compliance scan, security audit, BEFORE running azqr (compliance cli tool), Azure best practices, Key Vault expiration check, expired certificates, expiring secrets, orphaned resources, compliance assessment.

OfficialSecurity567K installs

minimal-run-and-audit

lllllllama/rigorpilot-skills

Rigor Run skill for README-first deep learning repo reproduction. Use when the task is specifically to capture or normalize evidence from the selected smoke test or documented inference or evaluation command and write standardized reprooutputs/ files, including patch notes when repository files changed. Do not use for training execution, initial repo intake, generic environment setup, paper lookup, target selection, hidden scientific-meaning changes, or end-to-end orchestration by itself.

Security477.4K installs

seo-audit

coreyhaines31/marketingskills

When the user wants to audit, review, or diagnose SEO issues on their site. Also use when the user mentions "SEO audit," "technical SEO," "why am I not ranking," "SEO issues," "on-page SEO," "meta tags review," "SEO health check," "my traffic dropped," "lost rankings," "not showing up in Google," "site isn't ranking," "Google update hit me," "page speed," "core web vitals," "crawl errors," "indexing issues," "stuck on page 2," "striking distance keywords," "title tag rewrite," "low CTR," "local SEO," "Google Business Profile," or "map pack." Use this even if the user just says something vague like "my SEO is bad" or "help with SEO" — start with an audit. For building pages at scale to target keywords, see programmatic-seo. For adding structured data, see schema. For AI search optimization, see ai-seo.

Security238.7K installs

firebase-security-rules-auditor

firebase/agent-skills

Audits Firebase (Firestore, Cloud Storage) security rules for vulnerabilities, privilege escalation, role bypasses, create vs update inconsistencies, resource exhaustion, type safety, size limits, and hasOnly ownership checks. Use when auditing/reviewing rules, running red-team rule assessments, or scoring against auditor checklists. Don't use for Firebase CLI (login, deploy), Auth, Crashlytics, Remote Config, or database queries.

OfficialSecurity139.1K installs

audit

pbakaus/impeccable

Run technical quality checks across accessibility, performance, theming, responsive design, and anti-patterns. Generates a scored report with P0-P3 severity ratings and actionable plan. Use when the user wants an accessibility check, performance audit, or technical quality review.

Security81.9K installs

competitors

coreyhaines31/marketingskills

When the user wants to create competitor comparison or alternative pages for SEO and buyer-facing use. Also use when the user mentions 'alternative page,' 'vs page,' 'competitor comparison,' 'comparison page,' '[Product] vs [Product],' '[Product] alternative,' 'competitive landing pages,' 'how do we compare to X,' 'competitor teardown,' 'audit our competitor pages,' 'are our comparison pages out of date,' or 'competitive asset audit.' Use this for any content that positions your product against competitors. Covers four formats: singular alternative, plural alternatives, you vs competitor, and competitor vs competitor. For auditing existing claims (not researching competitors from scratch, which is competitor-profiling; not technical SEO on these pages, which is seo-audit), use the asset audit here. For internal battle cards and sales-specific competitor docs, see sales-enablement.

Security79.3K installs