agentic-threat-hunting-framework 0.1.0__tar.gz → 0.2.1__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 (62) hide show
  1. {agentic_threat_hunting_framework-0.1.0/agentic_threat_hunting_framework.egg-info → agentic_threat_hunting_framework-0.2.1}/PKG-INFO +64 -53
  2. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/README.md +61 -52
  3. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1/agentic_threat_hunting_framework.egg-info}/PKG-INFO +64 -53
  4. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/agentic_threat_hunting_framework.egg-info/SOURCES.txt +6 -0
  5. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/agentic_threat_hunting_framework.egg-info/requires.txt +3 -0
  6. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/__version__.py +1 -1
  7. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/cli.py +7 -1
  8. agentic_threat_hunting_framework-0.2.1/athf/commands/context.py +358 -0
  9. agentic_threat_hunting_framework-0.2.1/athf/commands/env.py +374 -0
  10. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/commands/hunt.py +92 -15
  11. agentic_threat_hunting_framework-0.2.1/athf/commands/investigate.py +744 -0
  12. agentic_threat_hunting_framework-0.2.1/athf/commands/similar.py +376 -0
  13. agentic_threat_hunting_framework-0.2.1/athf/core/attack_matrix.py +131 -0
  14. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/core/hunt_manager.py +78 -10
  15. agentic_threat_hunting_framework-0.2.1/athf/core/investigation_parser.py +211 -0
  16. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/CHANGELOG.md +40 -7
  17. agentic_threat_hunting_framework-0.2.1/docs/CLI_REFERENCE.md +1797 -0
  18. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/INSTALL.md +15 -15
  19. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/pyproject.toml +5 -2
  20. agentic_threat_hunting_framework-0.1.0/docs/CLI_REFERENCE.md +0 -956
  21. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/LICENSE +0 -0
  22. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/MANIFEST.in +0 -0
  23. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/USING_ATHF.md +0 -0
  24. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/agentic_threat_hunting_framework.egg-info/dependency_links.txt +0 -0
  25. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/agentic_threat_hunting_framework.egg-info/entry_points.txt +0 -0
  26. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/agentic_threat_hunting_framework.egg-info/top_level.txt +0 -0
  27. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf-cli-workflow.gif +0 -0
  28. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf-level0.gif +0 -0
  29. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf-level1.gif +0 -0
  30. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf-level2.gif +0 -0
  31. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf-level3.gif +0 -0
  32. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf_fivelevels.png +0 -0
  33. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf_level_3.png +0 -0
  34. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf_lock.png +0 -0
  35. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf_logo.png +0 -0
  36. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/assets/athf_manual_v_ai.png +0 -0
  37. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/__init__.py +0 -0
  38. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/commands/__init__.py +0 -0
  39. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/commands/init.py +0 -0
  40. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/core/__init__.py +0 -0
  41. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/core/hunt_parser.py +0 -0
  42. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/core/template_engine.py +0 -0
  43. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/athf/utils/__init__.py +0 -0
  44. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/README.md +0 -0
  45. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/environment.md +0 -0
  46. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/getting-started.md +0 -0
  47. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/level4-agentic-workflows.md +0 -0
  48. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/lock-pattern.md +0 -0
  49. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/maturity-model.md +0 -0
  50. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/docs/why-athf.md +0 -0
  51. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/hunts/FORMAT_GUIDELINES.md +0 -0
  52. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/hunts/H-0001.md +0 -0
  53. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/hunts/H-0002.md +0 -0
  54. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/hunts/H-0003.md +0 -0
  55. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/hunts/README.md +0 -0
  56. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/integrations/MCP_CATALOG.md +0 -0
  57. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/integrations/README.md +0 -0
  58. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/integrations/quickstart/splunk.md +0 -0
  59. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/knowledge/hunting-knowledge.md +0 -0
  60. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/setup.cfg +0 -0
  61. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/setup.py +0 -0
  62. {agentic_threat_hunting_framework-0.1.0 → agentic_threat_hunting_framework-0.2.1}/templates/HUNT_LOCK.md +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: agentic-threat-hunting-framework
3
- Version: 0.1.0
3
+ Version: 0.2.1
4
4
  Summary: Agentic Threat Hunting Framework - Memory and AI for threat hunters
5
5
  Author-email: Sydney Marrone <athf@nebulock.io>
6
6
  Maintainer-email: Sydney Marrone <athf@nebulock.io>
@@ -46,30 +46,23 @@ Requires-Dist: types-PyYAML>=6.0.0; extra == "dev"
46
46
  Provides-Extra: docs
47
47
  Requires-Dist: mkdocs>=1.5.0; extra == "docs"
48
48
  Requires-Dist: mkdocs-material>=9.0.0; extra == "docs"
49
+ Provides-Extra: similarity
50
+ Requires-Dist: scikit-learn>=1.0.0; extra == "similarity"
49
51
  Dynamic: license-file
50
52
 
51
- <p align="center">
52
- <img src="assets/athf_logo.png" alt="ATHF Logo" width="400"/>
53
- </p>
53
+ # Agentic Threat Hunting Framework (ATHF)
54
54
 
55
- <h1 align="center">Agentic Threat Hunting Framework (ATHF)</h1>
55
+ ![ATHF Logo](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf_logo.png)
56
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>
57
+ [![PyPI version](https://img.shields.io/pypi/v/agentic-threat-hunting-framework)](https://pypi.org/project/agentic-threat-hunting-framework/)
58
+ [![PyPI downloads](https://img.shields.io/pypi/dm/agentic-threat-hunting-framework)](https://pypi.org/project/agentic-threat-hunting-framework/)
59
+ [![Python Version](https://img.shields.io/badge/python-3.8%2B-blue)](https://www.python.org/downloads/)
60
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/LICENSE)
61
+ [![GitHub stars](https://img.shields.io/github/stars/Nebulock-Inc/agentic-threat-hunting-framework?style=social)](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/stargazers)
62
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>
63
+ **[Quick Start](#-quick-start)** • **[Installation](#installation)** • **[Documentation](#documentation)** • **[Examples](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)**
69
64
 
70
- <p align="center">
71
- <em>Give your threat hunting program memory and agency.</em>
72
- </p>
65
+ *Give your threat hunting program memory and agency.*
73
66
 
74
67
  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
68
 
@@ -92,13 +85,13 @@ Even AI tools start from zero every time without access to your environment, you
92
85
 
93
86
  ATHF changes that by giving your hunts structure, persistence, and context.
94
87
 
95
- **Read more:** [docs/why-athf.md](docs/why-athf.md)
88
+ **Read more:** [docs/why-athf.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/why-athf.md)
96
89
 
97
90
  ## The LOCK Pattern
98
91
 
99
92
  Every threat hunt follows the same basic loop: **Learn → Observe → Check → Keep**.
100
93
 
101
- ![The LOCK Pattern](assets/athf_lock.png)
94
+ ![The LOCK Pattern](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf_lock.png)
102
95
 
103
96
  - **Learn:** Gather context from threat intel, alerts, or anomalies
104
97
  - **Observe:** Form a hypothesis about adversary behavior
@@ -107,7 +100,7 @@ Every threat hunt follows the same basic loop: **Learn → Observe → Check →
107
100
 
108
101
  **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
102
 
110
- **Read more:** [docs/lock-pattern.md](docs/lock-pattern.md)
103
+ **Read more:** [docs/lock-pattern.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/lock-pattern.md)
111
104
 
112
105
  ## The Five Levels of Agentic Hunting
113
106
 
@@ -115,7 +108,7 @@ ATHF defines a simple maturity model. Each level builds on the previous one.
115
108
 
116
109
  **Most teams will live at Levels 1–2. Everything beyond that is optional maturity.**
117
110
 
118
- ![The Five Levels](assets/athf_fivelevels.png)
111
+ ![The Five Levels](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf_fivelevels.png)
119
112
 
120
113
  | Level | Capability | What You Get |
121
114
  |-------|-----------|--------------|
@@ -130,17 +123,15 @@ ATHF defines a simple maturity model. Each level builds on the previous one.
130
123
  **Level 3:** 2-4 weeks (optional)
131
124
  **Level 4:** 1-3 months (optional)
132
125
 
133
- **Read more:** [docs/maturity-model.md](docs/maturity-model.md)
126
+ **Read more:** [docs/maturity-model.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md)
134
127
 
135
128
  ## 🚀 Quick Start
136
129
 
137
- ### Option 1: Python CLI (Recommended)
130
+ ### Option 1: Install from PyPI (Recommended)
138
131
 
139
132
  ```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 .
133
+ # Install ATHF
134
+ pip install agentic-threat-hunting-framework
144
135
 
145
136
  # Initialize your hunt program
146
137
  athf init
@@ -149,7 +140,20 @@ athf init
149
140
  athf hunt new --technique T1003.001 --title "LSASS Credential Dumping"
150
141
  ```
151
142
 
152
- ### Option 2: Pure Markdown (No Installation)
143
+ ### Option 2: Install from Source (Development)
144
+
145
+ ```bash
146
+ # Clone and install from source
147
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
148
+ cd agentic-threat-hunting-framework
149
+ pip install -e .
150
+
151
+ # Initialize and start hunting
152
+ athf init
153
+ athf hunt new --technique T1003.001
154
+ ```
155
+
156
+ ### Option 3: Pure Markdown (No Installation)
153
157
 
154
158
  ```bash
155
159
  # Clone the repository
@@ -165,7 +169,7 @@ cp templates/HUNT_LOCK.md hunts/H-0001.md
165
169
 
166
170
  **Choose your AI assistant:** Claude Code, GitHub Copilot, or Cursor - any tool that can read your repository files.
167
171
 
168
- **Full guide:** [docs/getting-started.md](docs/getting-started.md)
172
+ **Full guide:** [docs/getting-started.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/getting-started.md)
169
173
 
170
174
  ## 🔧 CLI Commands
171
175
 
@@ -206,32 +210,39 @@ athf hunt stats # Show statistics
206
210
  athf hunt coverage # MITRE ATT&CK coverage
207
211
  ```
208
212
 
209
- **Full documentation:** [CLI Reference](docs/CLI_REFERENCE.md)
213
+ **Full documentation:** [CLI Reference](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/CLI_REFERENCE.md)
210
214
 
211
215
  ## 📺 See It In Action
212
216
 
213
- ![ATHF Demo](assets/athf-cli-workflow.gif)
217
+ ![ATHF Demo](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf-cli-workflow.gif)
214
218
 
215
219
  Watch ATHF in action: initialize a workspace, create hunts, and explore your threat hunting catalog in under 60 seconds.
216
220
 
217
- **[View example hunts →](SHOWCASE.md)**
221
+ **[View example hunts →](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)**
218
222
 
219
223
  ## Installation
220
224
 
221
225
  ### Prerequisites
222
226
  - Python 3.8-3.13 (for CLI option)
223
- - Git
224
227
  - Your favorite AI code assistant
225
228
 
226
- ### CLI Installation
229
+ ### From PyPI (Recommended)
230
+
231
+ ```bash
232
+ pip install agentic-threat-hunting-framework
233
+ athf init
234
+ ```
235
+
236
+ ### From Source (Development)
227
237
 
228
238
  ```bash
229
239
  git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
230
240
  cd agentic-threat-hunting-framework
231
241
  pip install -e .
242
+ athf init
232
243
  ```
233
244
 
234
- ### Markdown-Only Setup (No CLI)
245
+ ### Markdown-Only Setup (No Installation)
235
246
 
236
247
  ```bash
237
248
  git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
@@ -244,24 +255,24 @@ Start documenting hunts in the `hunts/` directory using the LOCK pattern.
244
255
 
245
256
  ### Core Concepts
246
257
 
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
258
+ - [Why ATHF Exists](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/why-athf.md) - The problem and solution
259
+ - [The LOCK Pattern](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/lock-pattern.md) - Structure for all hunts
260
+ - [Maturity Model](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md) - The five levels explained
261
+ - [Getting Started](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/getting-started.md) - Step-by-step onboarding
251
262
 
252
263
  ### Level-Specific Guides
253
264
 
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)
265
+ - [Level 1: Documented Hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md#level-1-documented-hunts)
266
+ - [Level 2: Searchable Memory](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md#level-2-searchable-memory)
267
+ - [Level 3: Generative Capabilities](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/level4-agentic-workflows.md)
268
+ - [Level 4: Agentic Workflows](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/level4-agentic-workflows.md)
258
269
 
259
270
  ### Integration & Customization
260
271
 
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
272
+ - [Installation & Development](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/INSTALL.md) - Setup, fork customization, testing
273
+ - [MCP Catalog](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/integrations/MCP_CATALOG.md) - Available tool integrations
274
+ - [Quickstart Guides](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/tree/main/integrations/quickstart/) - Setup for specific tools
275
+ - [Using ATHF](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/USING_ATHF.md) - Adoption and customization
265
276
 
266
277
  ## 🎖️ Featured Hunts
267
278
 
@@ -272,7 +283,7 @@ Detected Atomic Stealer collecting Safari cookies via AppleScript.
272
283
 
273
284
  **Key Insight:** Behavior-based detection outperformed signature-based approaches. Process signature validation identified unsigned malware attempting data collection.
274
285
 
275
- [View full hunt →](hunts/H-0001.md) | [See more examples →](SHOWCASE.md)
286
+ [View full hunt →](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/hunts/H-0001.md) | [See more examples →](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)
276
287
 
277
288
  ## Why This Matters
278
289
 
@@ -290,7 +301,7 @@ When your framework has memory, you stop losing knowledge to turnover or forgott
290
301
 
291
302
  - **GitHub Discussions:** [Ask questions, share hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
292
303
  - **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
304
+ - **Adoption Guide:** See [USING_ATHF.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/USING_ATHF.md) for how to use ATHF in your organization
294
305
  - **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - Follow for updates
295
306
 
296
307
  ## 📖 Using ATHF
@@ -299,7 +310,7 @@ ATHF is a framework to internalize, not a platform to extend. Fork it, customize
299
310
 
300
311
  **Repository:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
301
312
 
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)).
313
+ See [USING_ATHF.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/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
314
 
304
315
  The goal is to help every threat hunting team move from ad-hoc memory to structured, agentic capability.
305
316
 
@@ -309,7 +320,7 @@ The goal is to help every threat hunting team move from ad-hoc memory to structu
309
320
 
310
321
  ATHF is designed to be forked and customized for your organization.
311
322
 
312
- **See [docs/INSTALL.md#development--customization](docs/INSTALL.md#development--customization) for:**
323
+ **See [docs/INSTALL.md#development--customization](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/INSTALL.md#development--customization) for:**
313
324
  - Setting up your fork for development
314
325
  - Pre-commit hooks for code quality
315
326
  - Testing and type checking
@@ -1,25 +1,16 @@
1
- <p align="center">
2
- <img src="assets/athf_logo.png" alt="ATHF Logo" width="400"/>
3
- </p>
1
+ # Agentic Threat Hunting Framework (ATHF)
4
2
 
5
- <h1 align="center">Agentic Threat Hunting Framework (ATHF)</h1>
3
+ ![ATHF Logo](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf_logo.png)
6
4
 
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>
5
+ [![PyPI version](https://img.shields.io/pypi/v/agentic-threat-hunting-framework)](https://pypi.org/project/agentic-threat-hunting-framework/)
6
+ [![PyPI downloads](https://img.shields.io/pypi/dm/agentic-threat-hunting-framework)](https://pypi.org/project/agentic-threat-hunting-framework/)
7
+ [![Python Version](https://img.shields.io/badge/python-3.8%2B-blue)](https://www.python.org/downloads/)
8
+ [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/LICENSE)
9
+ [![GitHub stars](https://img.shields.io/github/stars/Nebulock-Inc/agentic-threat-hunting-framework?style=social)](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/stargazers)
12
10
 
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>
11
+ **[Quick Start](#-quick-start)** • **[Installation](#installation)** • **[Documentation](#documentation)** • **[Examples](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)**
19
12
 
20
- <p align="center">
21
- <em>Give your threat hunting program memory and agency.</em>
22
- </p>
13
+ *Give your threat hunting program memory and agency.*
23
14
 
24
15
  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
16
 
@@ -42,13 +33,13 @@ Even AI tools start from zero every time without access to your environment, you
42
33
 
43
34
  ATHF changes that by giving your hunts structure, persistence, and context.
44
35
 
45
- **Read more:** [docs/why-athf.md](docs/why-athf.md)
36
+ **Read more:** [docs/why-athf.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/why-athf.md)
46
37
 
47
38
  ## The LOCK Pattern
48
39
 
49
40
  Every threat hunt follows the same basic loop: **Learn → Observe → Check → Keep**.
50
41
 
51
- ![The LOCK Pattern](assets/athf_lock.png)
42
+ ![The LOCK Pattern](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf_lock.png)
52
43
 
53
44
  - **Learn:** Gather context from threat intel, alerts, or anomalies
54
45
  - **Observe:** Form a hypothesis about adversary behavior
@@ -57,7 +48,7 @@ Every threat hunt follows the same basic loop: **Learn → Observe → Check →
57
48
 
58
49
  **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
50
 
60
- **Read more:** [docs/lock-pattern.md](docs/lock-pattern.md)
51
+ **Read more:** [docs/lock-pattern.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/lock-pattern.md)
61
52
 
62
53
  ## The Five Levels of Agentic Hunting
63
54
 
@@ -65,7 +56,7 @@ ATHF defines a simple maturity model. Each level builds on the previous one.
65
56
 
66
57
  **Most teams will live at Levels 1–2. Everything beyond that is optional maturity.**
67
58
 
68
- ![The Five Levels](assets/athf_fivelevels.png)
59
+ ![The Five Levels](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf_fivelevels.png)
69
60
 
70
61
  | Level | Capability | What You Get |
71
62
  |-------|-----------|--------------|
@@ -80,17 +71,15 @@ ATHF defines a simple maturity model. Each level builds on the previous one.
80
71
  **Level 3:** 2-4 weeks (optional)
81
72
  **Level 4:** 1-3 months (optional)
82
73
 
83
- **Read more:** [docs/maturity-model.md](docs/maturity-model.md)
74
+ **Read more:** [docs/maturity-model.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md)
84
75
 
85
76
  ## 🚀 Quick Start
86
77
 
87
- ### Option 1: Python CLI (Recommended)
78
+ ### Option 1: Install from PyPI (Recommended)
88
79
 
89
80
  ```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 .
81
+ # Install ATHF
82
+ pip install agentic-threat-hunting-framework
94
83
 
95
84
  # Initialize your hunt program
96
85
  athf init
@@ -99,7 +88,20 @@ athf init
99
88
  athf hunt new --technique T1003.001 --title "LSASS Credential Dumping"
100
89
  ```
101
90
 
102
- ### Option 2: Pure Markdown (No Installation)
91
+ ### Option 2: Install from Source (Development)
92
+
93
+ ```bash
94
+ # Clone and install from source
95
+ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
96
+ cd agentic-threat-hunting-framework
97
+ pip install -e .
98
+
99
+ # Initialize and start hunting
100
+ athf init
101
+ athf hunt new --technique T1003.001
102
+ ```
103
+
104
+ ### Option 3: Pure Markdown (No Installation)
103
105
 
104
106
  ```bash
105
107
  # Clone the repository
@@ -115,7 +117,7 @@ cp templates/HUNT_LOCK.md hunts/H-0001.md
115
117
 
116
118
  **Choose your AI assistant:** Claude Code, GitHub Copilot, or Cursor - any tool that can read your repository files.
117
119
 
118
- **Full guide:** [docs/getting-started.md](docs/getting-started.md)
120
+ **Full guide:** [docs/getting-started.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/getting-started.md)
119
121
 
120
122
  ## 🔧 CLI Commands
121
123
 
@@ -156,32 +158,39 @@ athf hunt stats # Show statistics
156
158
  athf hunt coverage # MITRE ATT&CK coverage
157
159
  ```
158
160
 
159
- **Full documentation:** [CLI Reference](docs/CLI_REFERENCE.md)
161
+ **Full documentation:** [CLI Reference](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/CLI_REFERENCE.md)
160
162
 
161
163
  ## 📺 See It In Action
162
164
 
163
- ![ATHF Demo](assets/athf-cli-workflow.gif)
165
+ ![ATHF Demo](https://raw.githubusercontent.com/Nebulock-Inc/agentic-threat-hunting-framework/main/assets/athf-cli-workflow.gif)
164
166
 
165
167
  Watch ATHF in action: initialize a workspace, create hunts, and explore your threat hunting catalog in under 60 seconds.
166
168
 
167
- **[View example hunts →](SHOWCASE.md)**
169
+ **[View example hunts →](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)**
168
170
 
169
171
  ## Installation
170
172
 
171
173
  ### Prerequisites
172
174
  - Python 3.8-3.13 (for CLI option)
173
- - Git
174
175
  - Your favorite AI code assistant
175
176
 
176
- ### CLI Installation
177
+ ### From PyPI (Recommended)
178
+
179
+ ```bash
180
+ pip install agentic-threat-hunting-framework
181
+ athf init
182
+ ```
183
+
184
+ ### From Source (Development)
177
185
 
178
186
  ```bash
179
187
  git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
180
188
  cd agentic-threat-hunting-framework
181
189
  pip install -e .
190
+ athf init
182
191
  ```
183
192
 
184
- ### Markdown-Only Setup (No CLI)
193
+ ### Markdown-Only Setup (No Installation)
185
194
 
186
195
  ```bash
187
196
  git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
@@ -194,24 +203,24 @@ Start documenting hunts in the `hunts/` directory using the LOCK pattern.
194
203
 
195
204
  ### Core Concepts
196
205
 
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
206
+ - [Why ATHF Exists](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/why-athf.md) - The problem and solution
207
+ - [The LOCK Pattern](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/lock-pattern.md) - Structure for all hunts
208
+ - [Maturity Model](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md) - The five levels explained
209
+ - [Getting Started](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/getting-started.md) - Step-by-step onboarding
201
210
 
202
211
  ### Level-Specific Guides
203
212
 
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)
213
+ - [Level 1: Documented Hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md#level-1-documented-hunts)
214
+ - [Level 2: Searchable Memory](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/maturity-model.md#level-2-searchable-memory)
215
+ - [Level 3: Generative Capabilities](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/level4-agentic-workflows.md)
216
+ - [Level 4: Agentic Workflows](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/level4-agentic-workflows.md)
208
217
 
209
218
  ### Integration & Customization
210
219
 
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
220
+ - [Installation & Development](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/INSTALL.md) - Setup, fork customization, testing
221
+ - [MCP Catalog](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/integrations/MCP_CATALOG.md) - Available tool integrations
222
+ - [Quickstart Guides](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/tree/main/integrations/quickstart/) - Setup for specific tools
223
+ - [Using ATHF](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/USING_ATHF.md) - Adoption and customization
215
224
 
216
225
  ## 🎖️ Featured Hunts
217
226
 
@@ -222,7 +231,7 @@ Detected Atomic Stealer collecting Safari cookies via AppleScript.
222
231
 
223
232
  **Key Insight:** Behavior-based detection outperformed signature-based approaches. Process signature validation identified unsigned malware attempting data collection.
224
233
 
225
- [View full hunt →](hunts/H-0001.md) | [See more examples →](SHOWCASE.md)
234
+ [View full hunt →](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/hunts/H-0001.md) | [See more examples →](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/SHOWCASE.md)
226
235
 
227
236
  ## Why This Matters
228
237
 
@@ -240,7 +249,7 @@ When your framework has memory, you stop losing knowledge to turnover or forgott
240
249
 
241
250
  - **GitHub Discussions:** [Ask questions, share hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
242
251
  - **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
252
+ - **Adoption Guide:** See [USING_ATHF.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/USING_ATHF.md) for how to use ATHF in your organization
244
253
  - **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - Follow for updates
245
254
 
246
255
  ## 📖 Using ATHF
@@ -249,7 +258,7 @@ ATHF is a framework to internalize, not a platform to extend. Fork it, customize
249
258
 
250
259
  **Repository:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
251
260
 
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)).
261
+ See [USING_ATHF.md](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/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
262
 
254
263
  The goal is to help every threat hunting team move from ad-hoc memory to structured, agentic capability.
255
264
 
@@ -259,7 +268,7 @@ The goal is to help every threat hunting team move from ad-hoc memory to structu
259
268
 
260
269
  ATHF is designed to be forked and customized for your organization.
261
270
 
262
- **See [docs/INSTALL.md#development--customization](docs/INSTALL.md#development--customization) for:**
271
+ **See [docs/INSTALL.md#development--customization](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/INSTALL.md#development--customization) for:**
263
272
  - Setting up your fork for development
264
273
  - Pre-commit hooks for code quality
265
274
  - Testing and type checking