agentic-threat-hunting-framework 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (55) hide show
  1. agentic_threat_hunting_framework-0.1.0/LICENSE +21 -0
  2. agentic_threat_hunting_framework-0.1.0/MANIFEST.in +45 -0
  3. agentic_threat_hunting_framework-0.1.0/PKG-INFO +339 -0
  4. agentic_threat_hunting_framework-0.1.0/README.md +289 -0
  5. agentic_threat_hunting_framework-0.1.0/USING_ATHF.md +434 -0
  6. agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info/PKG-INFO +339 -0
  7. agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info/SOURCES.txt +53 -0
  8. agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info/dependency_links.txt +1 -0
  9. agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info/entry_points.txt +2 -0
  10. agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info/requires.txt +19 -0
  11. agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info/top_level.txt +1 -0
  12. agentic_threat_hunting_framework-0.1.0/assets/athf-cli-workflow.gif +0 -0
  13. agentic_threat_hunting_framework-0.1.0/assets/athf-level0.gif +0 -0
  14. agentic_threat_hunting_framework-0.1.0/assets/athf-level1.gif +0 -0
  15. agentic_threat_hunting_framework-0.1.0/assets/athf-level2.gif +0 -0
  16. agentic_threat_hunting_framework-0.1.0/assets/athf-level3.gif +0 -0
  17. agentic_threat_hunting_framework-0.1.0/assets/athf_fivelevels.png +0 -0
  18. agentic_threat_hunting_framework-0.1.0/assets/athf_level_3.png +0 -0
  19. agentic_threat_hunting_framework-0.1.0/assets/athf_lock.png +0 -0
  20. agentic_threat_hunting_framework-0.1.0/assets/athf_logo.png +0 -0
  21. agentic_threat_hunting_framework-0.1.0/assets/athf_manual_v_ai.png +0 -0
  22. agentic_threat_hunting_framework-0.1.0/athf/__init__.py +9 -0
  23. agentic_threat_hunting_framework-0.1.0/athf/__version__.py +3 -0
  24. agentic_threat_hunting_framework-0.1.0/athf/cli.py +127 -0
  25. agentic_threat_hunting_framework-0.1.0/athf/commands/__init__.py +1 -0
  26. agentic_threat_hunting_framework-0.1.0/athf/commands/hunt.py +596 -0
  27. agentic_threat_hunting_framework-0.1.0/athf/commands/init.py +411 -0
  28. agentic_threat_hunting_framework-0.1.0/athf/core/__init__.py +1 -0
  29. agentic_threat_hunting_framework-0.1.0/athf/core/hunt_manager.py +245 -0
  30. agentic_threat_hunting_framework-0.1.0/athf/core/hunt_parser.py +169 -0
  31. agentic_threat_hunting_framework-0.1.0/athf/core/template_engine.py +224 -0
  32. agentic_threat_hunting_framework-0.1.0/athf/utils/__init__.py +1 -0
  33. agentic_threat_hunting_framework-0.1.0/docs/CHANGELOG.md +94 -0
  34. agentic_threat_hunting_framework-0.1.0/docs/CLI_REFERENCE.md +956 -0
  35. agentic_threat_hunting_framework-0.1.0/docs/INSTALL.md +594 -0
  36. agentic_threat_hunting_framework-0.1.0/docs/README.md +31 -0
  37. agentic_threat_hunting_framework-0.1.0/docs/environment.md +256 -0
  38. agentic_threat_hunting_framework-0.1.0/docs/getting-started.md +419 -0
  39. agentic_threat_hunting_framework-0.1.0/docs/level4-agentic-workflows.md +480 -0
  40. agentic_threat_hunting_framework-0.1.0/docs/lock-pattern.md +149 -0
  41. agentic_threat_hunting_framework-0.1.0/docs/maturity-model.md +400 -0
  42. agentic_threat_hunting_framework-0.1.0/docs/why-athf.md +44 -0
  43. agentic_threat_hunting_framework-0.1.0/hunts/FORMAT_GUIDELINES.md +507 -0
  44. agentic_threat_hunting_framework-0.1.0/hunts/H-0001.md +453 -0
  45. agentic_threat_hunting_framework-0.1.0/hunts/H-0002.md +436 -0
  46. agentic_threat_hunting_framework-0.1.0/hunts/H-0003.md +546 -0
  47. agentic_threat_hunting_framework-0.1.0/hunts/README.md +231 -0
  48. agentic_threat_hunting_framework-0.1.0/integrations/MCP_CATALOG.md +45 -0
  49. agentic_threat_hunting_framework-0.1.0/integrations/README.md +129 -0
  50. agentic_threat_hunting_framework-0.1.0/integrations/quickstart/splunk.md +162 -0
  51. agentic_threat_hunting_framework-0.1.0/knowledge/hunting-knowledge.md +2375 -0
  52. agentic_threat_hunting_framework-0.1.0/pyproject.toml +161 -0
  53. agentic_threat_hunting_framework-0.1.0/setup.cfg +4 -0
  54. agentic_threat_hunting_framework-0.1.0/setup.py +12 -0
  55. agentic_threat_hunting_framework-0.1.0/templates/HUNT_LOCK.md +228 -0
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2025 Sydney Marrone
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,45 @@
1
+ # MANIFEST.in - Package data inclusion rules for ATHF
2
+
3
+ # Include documentation files
4
+ include README.md
5
+ include LICENSE
6
+ include USING_ATHF.md
7
+ include INSTALL.md
8
+ include CHANGELOG.md
9
+
10
+ # Include all markdown documentation in docs/
11
+ recursive-include docs *.md
12
+
13
+ # Include templates
14
+ recursive-include templates *.md
15
+
16
+ # Include example hunts
17
+ recursive-include hunts *.md
18
+
19
+ # Include example queries
20
+ recursive-include queries *.spl *.kql *.sql
21
+
22
+ # Include knowledge base
23
+ recursive-include knowledge *.md
24
+
25
+ # Include integration documentation
26
+ recursive-include integrations *.md
27
+
28
+ # Include visual assets
29
+ recursive-include assets *.png *.gif *.svg
30
+
31
+ # Exclude development and test files
32
+ exclude .gitignore
33
+ exclude .athfconfig.yaml
34
+ exclude pytest.ini
35
+ exclude .coveragerc
36
+ recursive-exclude tests *
37
+ recursive-exclude .github *
38
+ prune tests
39
+ prune .github
40
+
41
+ # Exclude cached files
42
+ global-exclude __pycache__
43
+ global-exclude *.py[cod]
44
+ global-exclude *$py.class
45
+ global-exclude .DS_Store
@@ -0,0 +1,339 @@
1
+ Metadata-Version: 2.4
2
+ Name: agentic-threat-hunting-framework
3
+ Version: 0.1.0
4
+ Summary: Agentic Threat Hunting Framework - Memory and AI for threat hunters
5
+ Author-email: Sydney Marrone <athf@nebulock.io>
6
+ Maintainer-email: Sydney Marrone <athf@nebulock.io>
7
+ License: MIT
8
+ Project-URL: Homepage, https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
9
+ Project-URL: Documentation, https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/tree/main/docs
10
+ Project-URL: Repository, https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
11
+ Project-URL: Issues, https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues
12
+ Project-URL: Discussions, https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions
13
+ Keywords: threat-hunting,security,cybersecurity,mitre-attack,detection-engineering,soc,blue-team,incident-response,threat-intelligence,agentic-ai
14
+ Classifier: Development Status :: 3 - Alpha
15
+ Classifier: Intended Audience :: Information Technology
16
+ Classifier: Intended Audience :: System Administrators
17
+ Classifier: Topic :: Security
18
+ Classifier: Topic :: System :: Monitoring
19
+ Classifier: License :: OSI Approved :: MIT License
20
+ Classifier: Programming Language :: Python :: 3
21
+ Classifier: Programming Language :: Python :: 3.8
22
+ Classifier: Programming Language :: Python :: 3.9
23
+ Classifier: Programming Language :: Python :: 3.10
24
+ Classifier: Programming Language :: Python :: 3.11
25
+ Classifier: Programming Language :: Python :: 3.12
26
+ Classifier: Programming Language :: Python :: 3.13
27
+ Classifier: Operating System :: OS Independent
28
+ Classifier: Environment :: Console
29
+ Requires-Python: >=3.8
30
+ Description-Content-Type: text/markdown
31
+ License-File: LICENSE
32
+ Requires-Dist: click>=8.0.0
33
+ Requires-Dist: pyyaml>=6.0
34
+ Requires-Dist: rich>=10.0.0
35
+ Requires-Dist: jinja2>=3.0.0
36
+ Provides-Extra: dev
37
+ Requires-Dist: pytest>=7.0.0; extra == "dev"
38
+ Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
39
+ Requires-Dist: flake8>=6.0.0; extra == "dev"
40
+ Requires-Dist: mypy>=1.0.0; extra == "dev"
41
+ Requires-Dist: black>=23.0.0; extra == "dev"
42
+ Requires-Dist: isort>=5.12.0; extra == "dev"
43
+ Requires-Dist: bandit[toml]>=1.7.0; extra == "dev"
44
+ Requires-Dist: pre-commit>=3.0.0; extra == "dev"
45
+ Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
46
+ Provides-Extra: docs
47
+ Requires-Dist: mkdocs>=1.5.0; extra == "docs"
48
+ Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
49
+ Dynamic: license-file
50
+
51
+ <p align="center">
52
+ <img src="assets/athf_logo.png" alt="ATHF Logo" width="400"/>
53
+ </p>
54
+
55
+ <h1 align="center">Agentic Threat Hunting Framework (ATHF)</h1>
56
+
57
+ <p align="center">
58
+ <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.8%2B-blue" alt="Python Version"></a>
59
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
60
+ <a href="https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/stargazers"><img src="https://img.shields.io/github/stars/Nebulock-Inc/agentic-threat-hunting-framework?style=social" alt="GitHub stars"></a>
61
+ </p>
62
+
63
+ <p align="center">
64
+ <strong><a href="#-quick-start">Quick Start</a></strong> •
65
+ <strong><a href="#installation">Installation</a></strong> •
66
+ <strong><a href="#documentation">Documentation</a></strong> •
67
+ <strong><a href="SHOWCASE.md">Examples</a></strong>
68
+ </p>
69
+
70
+ <p align="center">
71
+ <em>Give your threat hunting program memory and agency.</em>
72
+ </p>
73
+
74
+ The **Agentic Threat Hunting Framework (ATHF)** is the memory and automation layer for your threat hunting program. It gives your hunts structure, persistence, and context - making every past investigation accessible to both humans and AI.
75
+
76
+ ATHF works with any hunting methodology (PEAK, TaHiTI, or your own process). It's not a replacement; it's the layer that makes your existing process AI-ready.
77
+
78
+ ## What is ATHF?
79
+
80
+ ATHF provides structure and persistence for threat hunting programs. It's a markdown-based framework that:
81
+
82
+ - Documents hunts using the LOCK pattern (Learn → Observe → Check → Keep)
83
+ - Maintains a searchable repository of past investigations
84
+ - Enables AI assistants to reference your environment and previous work
85
+ - Works with any SIEM/EDR platform
86
+
87
+ ## The Problem
88
+
89
+ Most threat hunting programs lose valuable context once a hunt ends. Notes live in Slack or tickets, queries are written once and forgotten, and lessons learned exist only in analysts' heads.
90
+
91
+ Even AI tools start from zero every time without access to your environment, your data, or your past hunts.
92
+
93
+ ATHF changes that by giving your hunts structure, persistence, and context.
94
+
95
+ **Read more:** [docs/why-athf.md](docs/why-athf.md)
96
+
97
+ ## The LOCK Pattern
98
+
99
+ Every threat hunt follows the same basic loop: **Learn → Observe → Check → Keep**.
100
+
101
+ ![The LOCK Pattern](assets/athf_lock.png)
102
+
103
+ - **Learn:** Gather context from threat intel, alerts, or anomalies
104
+ - **Observe:** Form a hypothesis about adversary behavior
105
+ - **Check:** Test hypotheses with targeted queries
106
+ - **Keep:** Record findings and lessons learned
107
+
108
+ **Why LOCK?** It's small enough to use and strict enough for agents to interpret. By capturing every hunt in this format, ATHF makes it possible for AI assistants to recall prior work and suggest refined queries based on past results.
109
+
110
+ **Read more:** [docs/lock-pattern.md](docs/lock-pattern.md)
111
+
112
+ ## The Five Levels of Agentic Hunting
113
+
114
+ ATHF defines a simple maturity model. Each level builds on the previous one.
115
+
116
+ **Most teams will live at Levels 1–2. Everything beyond that is optional maturity.**
117
+
118
+ ![The Five Levels](assets/athf_fivelevels.png)
119
+
120
+ | Level | Capability | What You Get |
121
+ |-------|-----------|--------------|
122
+ | **0** | Ad-hoc | Hunts exist in Slack, tickets, or analyst notes |
123
+ | **1** | Documented | Persistent hunt records using LOCK |
124
+ | **2** | Searchable | AI reads and recalls your hunts |
125
+ | **3** | Generative | AI executes queries via MCP tools |
126
+ | **4** | Agentic | Autonomous agents monitor and act |
127
+
128
+ **Level 1:** Operational within a day
129
+ **Level 2:** Operational within a week
130
+ **Level 3:** 2-4 weeks (optional)
131
+ **Level 4:** 1-3 months (optional)
132
+
133
+ **Read more:** [docs/maturity-model.md](docs/maturity-model.md)
134
+
135
+ ## 🚀 Quick Start
136
+
137
+ ### Option 1: Python CLI (Recommended)
138
+
139
+ ```bash
140
+ # Clone and install from source
141
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
142
+ cd agentic-threat-hunting-framework
143
+ pip install -e .
144
+
145
+ # Initialize your hunt program
146
+ athf init
147
+
148
+ # Create your first hunt
149
+ athf hunt new --technique T1003.001 --title "LSASS Credential Dumping"
150
+ ```
151
+
152
+ ### Option 2: Pure Markdown (No Installation)
153
+
154
+ ```bash
155
+ # Clone the repository
156
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
157
+ cd agentic-threat-hunting-framework
158
+
159
+ # Copy a template and start documenting
160
+ cp templates/HUNT_LOCK.md hunts/H-0001.md
161
+
162
+ # Customize AGENTS.md with your environment
163
+ # Add your SIEM, EDR, and data sources
164
+ ```
165
+
166
+ **Choose your AI assistant:** Claude Code, GitHub Copilot, or Cursor - any tool that can read your repository files.
167
+
168
+ **Full guide:** [docs/getting-started.md](docs/getting-started.md)
169
+
170
+ ## 🔧 CLI Commands
171
+
172
+ ATHF includes a full-featured CLI for managing your hunts. Here's a quick reference:
173
+
174
+ ### Initialize Workspace
175
+
176
+ ```bash
177
+ athf init # Interactive setup
178
+ athf init --non-interactive # Use defaults
179
+ ```
180
+
181
+ ### Create Hunts
182
+
183
+ ```bash
184
+ athf hunt new # Interactive mode
185
+ athf hunt new \
186
+ --technique T1003.001 \
187
+ --title "LSASS Dumping Detection" \
188
+ --platform windows
189
+ ```
190
+
191
+ ### List & Search
192
+
193
+ ```bash
194
+ athf hunt list # Show all hunts
195
+ athf hunt list --status completed # Filter by status
196
+ athf hunt list --output json # JSON output
197
+ athf hunt search "kerberoasting" # Full-text search
198
+ ```
199
+
200
+ ### Validate & Stats
201
+
202
+ ```bash
203
+ athf hunt validate # Validate all hunts
204
+ athf hunt validate H-0001 # Validate specific hunt
205
+ athf hunt stats # Show statistics
206
+ athf hunt coverage # MITRE ATT&CK coverage
207
+ ```
208
+
209
+ **Full documentation:** [CLI Reference](docs/CLI_REFERENCE.md)
210
+
211
+ ## 📺 See It In Action
212
+
213
+ ![ATHF Demo](assets/athf-cli-workflow.gif)
214
+
215
+ Watch ATHF in action: initialize a workspace, create hunts, and explore your threat hunting catalog in under 60 seconds.
216
+
217
+ **[View example hunts →](SHOWCASE.md)**
218
+
219
+ ## Installation
220
+
221
+ ### Prerequisites
222
+ - Python 3.8-3.13 (for CLI option)
223
+ - Git
224
+ - Your favorite AI code assistant
225
+
226
+ ### CLI Installation
227
+
228
+ ```bash
229
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
230
+ cd agentic-threat-hunting-framework
231
+ pip install -e .
232
+ ```
233
+
234
+ ### Markdown-Only Setup (No CLI)
235
+
236
+ ```bash
237
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
238
+ cd agentic-threat-hunting-framework
239
+ ```
240
+
241
+ Start documenting hunts in the `hunts/` directory using the LOCK pattern.
242
+
243
+ ## Documentation
244
+
245
+ ### Core Concepts
246
+
247
+ - [Why ATHF Exists](docs/why-athf.md) - The problem and solution
248
+ - [The LOCK Pattern](docs/lock-pattern.md) - Structure for all hunts
249
+ - [Maturity Model](docs/maturity-model.md) - The five levels explained
250
+ - [Getting Started](docs/getting-started.md) - Step-by-step onboarding
251
+
252
+ ### Level-Specific Guides
253
+
254
+ - [Level 1: Documented Hunts](docs/maturity-model.md#level-1-documented-hunts)
255
+ - [Level 2: Searchable Memory](docs/maturity-model.md#level-2-searchable-memory)
256
+ - [Level 3: Generative Capabilities](docs/level4-agentic-workflows.md)
257
+ - [Level 4: Agentic Workflows](docs/level4-agentic-workflows.md)
258
+
259
+ ### Integration & Customization
260
+
261
+ - [Installation & Development](docs/INSTALL.md) - Setup, fork customization, testing
262
+ - [MCP Catalog](integrations/MCP_CATALOG.md) - Available tool integrations
263
+ - [Quickstart Guides](integrations/quickstart/) - Setup for specific tools
264
+ - [Using ATHF](USING_ATHF.md) - Adoption and customization
265
+
266
+ ## 🎖️ Featured Hunts
267
+
268
+ ### H-0001: macOS Information Stealer Detection
269
+
270
+ Detected Atomic Stealer collecting Safari cookies via AppleScript.
271
+ **Result:** 1 true positive, host isolated before exfiltration.
272
+
273
+ **Key Insight:** Behavior-based detection outperformed signature-based approaches. Process signature validation identified unsigned malware attempting data collection.
274
+
275
+ [View full hunt →](hunts/H-0001.md) | [See more examples →](SHOWCASE.md)
276
+
277
+ ## Why This Matters
278
+
279
+ You might wonder how this interacts with frameworks like [PEAK](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html). PEAK gives you a solid method for how to hunt. ATHF builds on that foundation by giving you structure, memory, and continuity. PEAK guides the work. ATHF ensures you capture the work, organize it, and reuse it across future hunts.
280
+
281
+ Agentic threat hunting is not about replacing analysts. It's about building systems that can:
282
+
283
+ - Remember what has been done before
284
+ - Learn from past successes and mistakes
285
+ - Support human judgment with contextual recall
286
+
287
+ When your framework has memory, you stop losing knowledge to turnover or forgotten notes. When your AI assistant can reference that memory, it becomes a force multiplier.
288
+
289
+ ## 💬 Community & Support
290
+
291
+ - **GitHub Discussions:** [Ask questions, share hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
292
+ - **Issues:** [Report bugs or request features](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues)
293
+ - **Adoption Guide:** See [USING_ATHF.md](USING_ATHF.md) for how to use ATHF in your organization
294
+ - **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - Follow for updates
295
+
296
+ ## 📖 Using ATHF
297
+
298
+ ATHF is a framework to internalize, not a platform to extend. Fork it, customize it, make it yours.
299
+
300
+ **Repository:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
301
+
302
+ See [USING_ATHF.md](USING_ATHF.md) for adoption guidance. Your hunts stay yours—sharing back is optional but appreciated ([Discussions](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)).
303
+
304
+ The goal is to help every threat hunting team move from ad-hoc memory to structured, agentic capability.
305
+
306
+ ---
307
+
308
+ ## 🛠️ Development & Customization
309
+
310
+ ATHF is designed to be forked and customized for your organization.
311
+
312
+ **See [docs/INSTALL.md#development--customization](docs/INSTALL.md#development--customization) for:**
313
+ - Setting up your fork for development
314
+ - Pre-commit hooks for code quality
315
+ - Testing and type checking
316
+ - Customization examples
317
+ - CI/CD integration
318
+
319
+ Quick start:
320
+ ```bash
321
+ pip install -e ".[dev]" # Install dev dependencies
322
+ pre-commit install # Set up quality checks
323
+ pytest tests/ -v # Run tests
324
+ ```
325
+
326
+ ---
327
+
328
+ ## 👤 Author
329
+
330
+ Created by **Sydney Marrone** © 2025
331
+
332
+ ---
333
+
334
+ **Start small. Document one hunt. Add structure. Build memory.**
335
+
336
+ Memory is the multiplier. Agency is the force.
337
+ Once your program can remember, everything else becomes possible.
338
+
339
+ Happy hunting!
@@ -0,0 +1,289 @@
1
+ <p align="center">
2
+ <img src="assets/athf_logo.png" alt="ATHF Logo" width="400"/>
3
+ </p>
4
+
5
+ <h1 align="center">Agentic Threat Hunting Framework (ATHF)</h1>
6
+
7
+ <p align="center">
8
+ <a href="https://www.python.org/downloads/"><img src="https://img.shields.io/badge/python-3.8%2B-blue" alt="Python Version"></a>
9
+ <a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
10
+ <a href="https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/stargazers"><img src="https://img.shields.io/github/stars/Nebulock-Inc/agentic-threat-hunting-framework?style=social" alt="GitHub stars"></a>
11
+ </p>
12
+
13
+ <p align="center">
14
+ <strong><a href="#-quick-start">Quick Start</a></strong> •
15
+ <strong><a href="#installation">Installation</a></strong> •
16
+ <strong><a href="#documentation">Documentation</a></strong> •
17
+ <strong><a href="SHOWCASE.md">Examples</a></strong>
18
+ </p>
19
+
20
+ <p align="center">
21
+ <em>Give your threat hunting program memory and agency.</em>
22
+ </p>
23
+
24
+ The **Agentic Threat Hunting Framework (ATHF)** is the memory and automation layer for your threat hunting program. It gives your hunts structure, persistence, and context - making every past investigation accessible to both humans and AI.
25
+
26
+ ATHF works with any hunting methodology (PEAK, TaHiTI, or your own process). It's not a replacement; it's the layer that makes your existing process AI-ready.
27
+
28
+ ## What is ATHF?
29
+
30
+ ATHF provides structure and persistence for threat hunting programs. It's a markdown-based framework that:
31
+
32
+ - Documents hunts using the LOCK pattern (Learn → Observe → Check → Keep)
33
+ - Maintains a searchable repository of past investigations
34
+ - Enables AI assistants to reference your environment and previous work
35
+ - Works with any SIEM/EDR platform
36
+
37
+ ## The Problem
38
+
39
+ Most threat hunting programs lose valuable context once a hunt ends. Notes live in Slack or tickets, queries are written once and forgotten, and lessons learned exist only in analysts' heads.
40
+
41
+ Even AI tools start from zero every time without access to your environment, your data, or your past hunts.
42
+
43
+ ATHF changes that by giving your hunts structure, persistence, and context.
44
+
45
+ **Read more:** [docs/why-athf.md](docs/why-athf.md)
46
+
47
+ ## The LOCK Pattern
48
+
49
+ Every threat hunt follows the same basic loop: **Learn → Observe → Check → Keep**.
50
+
51
+ ![The LOCK Pattern](assets/athf_lock.png)
52
+
53
+ - **Learn:** Gather context from threat intel, alerts, or anomalies
54
+ - **Observe:** Form a hypothesis about adversary behavior
55
+ - **Check:** Test hypotheses with targeted queries
56
+ - **Keep:** Record findings and lessons learned
57
+
58
+ **Why LOCK?** It's small enough to use and strict enough for agents to interpret. By capturing every hunt in this format, ATHF makes it possible for AI assistants to recall prior work and suggest refined queries based on past results.
59
+
60
+ **Read more:** [docs/lock-pattern.md](docs/lock-pattern.md)
61
+
62
+ ## The Five Levels of Agentic Hunting
63
+
64
+ ATHF defines a simple maturity model. Each level builds on the previous one.
65
+
66
+ **Most teams will live at Levels 1–2. Everything beyond that is optional maturity.**
67
+
68
+ ![The Five Levels](assets/athf_fivelevels.png)
69
+
70
+ | Level | Capability | What You Get |
71
+ |-------|-----------|--------------|
72
+ | **0** | Ad-hoc | Hunts exist in Slack, tickets, or analyst notes |
73
+ | **1** | Documented | Persistent hunt records using LOCK |
74
+ | **2** | Searchable | AI reads and recalls your hunts |
75
+ | **3** | Generative | AI executes queries via MCP tools |
76
+ | **4** | Agentic | Autonomous agents monitor and act |
77
+
78
+ **Level 1:** Operational within a day
79
+ **Level 2:** Operational within a week
80
+ **Level 3:** 2-4 weeks (optional)
81
+ **Level 4:** 1-3 months (optional)
82
+
83
+ **Read more:** [docs/maturity-model.md](docs/maturity-model.md)
84
+
85
+ ## 🚀 Quick Start
86
+
87
+ ### Option 1: Python CLI (Recommended)
88
+
89
+ ```bash
90
+ # Clone and install from source
91
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
92
+ cd agentic-threat-hunting-framework
93
+ pip install -e .
94
+
95
+ # Initialize your hunt program
96
+ athf init
97
+
98
+ # Create your first hunt
99
+ athf hunt new --technique T1003.001 --title "LSASS Credential Dumping"
100
+ ```
101
+
102
+ ### Option 2: Pure Markdown (No Installation)
103
+
104
+ ```bash
105
+ # Clone the repository
106
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
107
+ cd agentic-threat-hunting-framework
108
+
109
+ # Copy a template and start documenting
110
+ cp templates/HUNT_LOCK.md hunts/H-0001.md
111
+
112
+ # Customize AGENTS.md with your environment
113
+ # Add your SIEM, EDR, and data sources
114
+ ```
115
+
116
+ **Choose your AI assistant:** Claude Code, GitHub Copilot, or Cursor - any tool that can read your repository files.
117
+
118
+ **Full guide:** [docs/getting-started.md](docs/getting-started.md)
119
+
120
+ ## 🔧 CLI Commands
121
+
122
+ ATHF includes a full-featured CLI for managing your hunts. Here's a quick reference:
123
+
124
+ ### Initialize Workspace
125
+
126
+ ```bash
127
+ athf init # Interactive setup
128
+ athf init --non-interactive # Use defaults
129
+ ```
130
+
131
+ ### Create Hunts
132
+
133
+ ```bash
134
+ athf hunt new # Interactive mode
135
+ athf hunt new \
136
+ --technique T1003.001 \
137
+ --title "LSASS Dumping Detection" \
138
+ --platform windows
139
+ ```
140
+
141
+ ### List & Search
142
+
143
+ ```bash
144
+ athf hunt list # Show all hunts
145
+ athf hunt list --status completed # Filter by status
146
+ athf hunt list --output json # JSON output
147
+ athf hunt search "kerberoasting" # Full-text search
148
+ ```
149
+
150
+ ### Validate & Stats
151
+
152
+ ```bash
153
+ athf hunt validate # Validate all hunts
154
+ athf hunt validate H-0001 # Validate specific hunt
155
+ athf hunt stats # Show statistics
156
+ athf hunt coverage # MITRE ATT&CK coverage
157
+ ```
158
+
159
+ **Full documentation:** [CLI Reference](docs/CLI_REFERENCE.md)
160
+
161
+ ## 📺 See It In Action
162
+
163
+ ![ATHF Demo](assets/athf-cli-workflow.gif)
164
+
165
+ Watch ATHF in action: initialize a workspace, create hunts, and explore your threat hunting catalog in under 60 seconds.
166
+
167
+ **[View example hunts →](SHOWCASE.md)**
168
+
169
+ ## Installation
170
+
171
+ ### Prerequisites
172
+ - Python 3.8-3.13 (for CLI option)
173
+ - Git
174
+ - Your favorite AI code assistant
175
+
176
+ ### CLI Installation
177
+
178
+ ```bash
179
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
180
+ cd agentic-threat-hunting-framework
181
+ pip install -e .
182
+ ```
183
+
184
+ ### Markdown-Only Setup (No CLI)
185
+
186
+ ```bash
187
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
188
+ cd agentic-threat-hunting-framework
189
+ ```
190
+
191
+ Start documenting hunts in the `hunts/` directory using the LOCK pattern.
192
+
193
+ ## Documentation
194
+
195
+ ### Core Concepts
196
+
197
+ - [Why ATHF Exists](docs/why-athf.md) - The problem and solution
198
+ - [The LOCK Pattern](docs/lock-pattern.md) - Structure for all hunts
199
+ - [Maturity Model](docs/maturity-model.md) - The five levels explained
200
+ - [Getting Started](docs/getting-started.md) - Step-by-step onboarding
201
+
202
+ ### Level-Specific Guides
203
+
204
+ - [Level 1: Documented Hunts](docs/maturity-model.md#level-1-documented-hunts)
205
+ - [Level 2: Searchable Memory](docs/maturity-model.md#level-2-searchable-memory)
206
+ - [Level 3: Generative Capabilities](docs/level4-agentic-workflows.md)
207
+ - [Level 4: Agentic Workflows](docs/level4-agentic-workflows.md)
208
+
209
+ ### Integration & Customization
210
+
211
+ - [Installation & Development](docs/INSTALL.md) - Setup, fork customization, testing
212
+ - [MCP Catalog](integrations/MCP_CATALOG.md) - Available tool integrations
213
+ - [Quickstart Guides](integrations/quickstart/) - Setup for specific tools
214
+ - [Using ATHF](USING_ATHF.md) - Adoption and customization
215
+
216
+ ## 🎖️ Featured Hunts
217
+
218
+ ### H-0001: macOS Information Stealer Detection
219
+
220
+ Detected Atomic Stealer collecting Safari cookies via AppleScript.
221
+ **Result:** 1 true positive, host isolated before exfiltration.
222
+
223
+ **Key Insight:** Behavior-based detection outperformed signature-based approaches. Process signature validation identified unsigned malware attempting data collection.
224
+
225
+ [View full hunt →](hunts/H-0001.md) | [See more examples →](SHOWCASE.md)
226
+
227
+ ## Why This Matters
228
+
229
+ You might wonder how this interacts with frameworks like [PEAK](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html). PEAK gives you a solid method for how to hunt. ATHF builds on that foundation by giving you structure, memory, and continuity. PEAK guides the work. ATHF ensures you capture the work, organize it, and reuse it across future hunts.
230
+
231
+ Agentic threat hunting is not about replacing analysts. It's about building systems that can:
232
+
233
+ - Remember what has been done before
234
+ - Learn from past successes and mistakes
235
+ - Support human judgment with contextual recall
236
+
237
+ When your framework has memory, you stop losing knowledge to turnover or forgotten notes. When your AI assistant can reference that memory, it becomes a force multiplier.
238
+
239
+ ## 💬 Community & Support
240
+
241
+ - **GitHub Discussions:** [Ask questions, share hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
242
+ - **Issues:** [Report bugs or request features](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues)
243
+ - **Adoption Guide:** See [USING_ATHF.md](USING_ATHF.md) for how to use ATHF in your organization
244
+ - **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - Follow for updates
245
+
246
+ ## 📖 Using ATHF
247
+
248
+ ATHF is a framework to internalize, not a platform to extend. Fork it, customize it, make it yours.
249
+
250
+ **Repository:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
251
+
252
+ See [USING_ATHF.md](USING_ATHF.md) for adoption guidance. Your hunts stay yours—sharing back is optional but appreciated ([Discussions](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)).
253
+
254
+ The goal is to help every threat hunting team move from ad-hoc memory to structured, agentic capability.
255
+
256
+ ---
257
+
258
+ ## 🛠️ Development & Customization
259
+
260
+ ATHF is designed to be forked and customized for your organization.
261
+
262
+ **See [docs/INSTALL.md#development--customization](docs/INSTALL.md#development--customization) for:**
263
+ - Setting up your fork for development
264
+ - Pre-commit hooks for code quality
265
+ - Testing and type checking
266
+ - Customization examples
267
+ - CI/CD integration
268
+
269
+ Quick start:
270
+ ```bash
271
+ pip install -e ".[dev]" # Install dev dependencies
272
+ pre-commit install # Set up quality checks
273
+ pytest tests/ -v # Run tests
274
+ ```
275
+
276
+ ---
277
+
278
+ ## 👤 Author
279
+
280
+ Created by **Sydney Marrone** © 2025
281
+
282
+ ---
283
+
284
+ **Start small. Document one hunt. Add structure. Build memory.**
285
+
286
+ Memory is the multiplier. Agency is the force.
287
+ Once your program can remember, everything else becomes possible.
288
+
289
+ Happy hunting!