agentic-threat-hunting-framework 0.2.4__tar.gz → 0.3.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.
- {agentic_threat_hunting_framework-0.2.4/agentic_threat_hunting_framework.egg-info → agentic_threat_hunting_framework-0.3.0}/PKG-INFO +38 -40
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/README.md +36 -39
- agentic_threat_hunting_framework-0.3.0/USING_ATHF.md +209 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0/agentic_threat_hunting_framework.egg-info}/PKG-INFO +38 -40
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/agentic_threat_hunting_framework.egg-info/SOURCES.txt +4 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/agentic_threat_hunting_framework.egg-info/requires.txt +3 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/__version__.py +1 -1
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/cli.py +6 -1
- agentic_threat_hunting_framework-0.3.0/athf/commands/__init__.py +5 -0
- agentic_threat_hunting_framework-0.3.0/athf/commands/agent.py +452 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/commands/context.py +6 -9
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/commands/env.py +2 -2
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/commands/hunt.py +3 -1
- agentic_threat_hunting_framework-0.3.0/athf/commands/research.py +530 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/commands/similar.py +3 -3
- agentic_threat_hunting_framework-0.3.0/athf/core/research_manager.py +419 -0
- agentic_threat_hunting_framework-0.3.0/athf/core/web_search.py +340 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/__init__.py +6 -1
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/pyproject.toml +2 -1
- agentic_threat_hunting_framework-0.2.4/USING_ATHF.md +0 -434
- agentic_threat_hunting_framework-0.2.4/athf/commands/__init__.py +0 -1
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/LICENSE +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/MANIFEST.in +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/agentic_threat_hunting_framework.egg-info/dependency_links.txt +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/agentic_threat_hunting_framework.egg-info/entry_points.txt +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/agentic_threat_hunting_framework.egg-info/top_level.txt +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/ATHF_level_3.png +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf-cli-workflow.gif +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf-level0.gif +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf-level1.gif +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf-level2.gif +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf-level3.gif +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf_fivelevels.png +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf_lock.png +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf_logo.png +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/assets/athf_manual_v_ai.png +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/__init__.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/commands/init.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/commands/investigate.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/core/__init__.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/core/attack_matrix.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/core/hunt_manager.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/core/hunt_parser.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/core/investigation_parser.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/core/template_engine.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/CHANGELOG.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/CLI_REFERENCE.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/INSTALL.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/README.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/environment.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/getting-started.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/level4-agentic-workflows.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/lock-pattern.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/maturity-model.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/docs/why-athf.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/hunts/FORMAT_GUIDELINES.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/hunts/H-0001.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/hunts/H-0002.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/hunts/H-0003.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/hunts/README.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/integrations/MCP_CATALOG.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/integrations/README.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/integrations/quickstart/splunk.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/knowledge/hunting-knowledge.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/prompts/README.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/prompts/ai-workflow.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/prompts/basic-prompts.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/data/templates/HUNT_LOCK.md +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/athf/utils/__init__.py +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/setup.cfg +0 -0
- {agentic_threat_hunting_framework-0.2.4 → agentic_threat_hunting_framework-0.3.0}/setup.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: agentic-threat-hunting-framework
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.3.0
|
|
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>
|
|
@@ -33,6 +33,7 @@ Requires-Dist: click>=8.0.0
|
|
|
33
33
|
Requires-Dist: pyyaml>=6.0
|
|
34
34
|
Requires-Dist: rich>=10.0.0
|
|
35
35
|
Requires-Dist: jinja2>=3.0.0
|
|
36
|
+
Requires-Dist: importlib_resources>=5.0.0; python_version < "3.9"
|
|
36
37
|
Provides-Extra: dev
|
|
37
38
|
Requires-Dist: pytest>=7.0.0; extra == "dev"
|
|
38
39
|
Requires-Dist: pytest-cov>=4.0.0; extra == "dev"
|
|
@@ -76,6 +77,7 @@ ATHF provides structure and persistence for threat hunting programs. It's a mark
|
|
|
76
77
|
- Maintains a searchable repository of past investigations
|
|
77
78
|
- Enables AI assistants to reference your environment and previous work
|
|
78
79
|
- Works with any SIEM/EDR platform
|
|
80
|
+
- **NEW:** Includes AI-powered research and hypothesis generation agents (v0.3.0+)
|
|
79
81
|
|
|
80
82
|
## The Problem
|
|
81
83
|
|
|
@@ -115,8 +117,8 @@ ATHF defines a simple maturity model. Each level builds on the previous one.
|
|
|
115
117
|
| **0** | Ad-hoc | Hunts exist in Slack, tickets, or analyst notes |
|
|
116
118
|
| **1** | Documented | Persistent hunt records using LOCK |
|
|
117
119
|
| **2** | Searchable | AI reads and recalls your hunts |
|
|
118
|
-
| **3** | Generative | AI executes queries via MCP tools |
|
|
119
|
-
| **4** | Agentic | Autonomous agents monitor and act |
|
|
120
|
+
| **3** | Generative | AI executes queries via MCP tools, conducts research |
|
|
121
|
+
| **4** | Agentic | Autonomous agents monitor and act, generate hypotheses |
|
|
120
122
|
|
|
121
123
|
**Level 1:** Operational within a day
|
|
122
124
|
**Level 2:** Operational within a week
|
|
@@ -136,8 +138,11 @@ pip install agentic-threat-hunting-framework
|
|
|
136
138
|
# Initialize your hunt program
|
|
137
139
|
athf init
|
|
138
140
|
|
|
139
|
-
#
|
|
140
|
-
athf
|
|
141
|
+
# NEW: Conduct research before hunting (5-skill methodology)
|
|
142
|
+
athf research new --topic "LSASS dumping" --technique T1003.001
|
|
143
|
+
|
|
144
|
+
# Create your first hunt (link to research)
|
|
145
|
+
athf hunt new --technique T1003.001 --title "LSASS Credential Dumping" --research R-0001
|
|
141
146
|
```
|
|
142
147
|
|
|
143
148
|
### Option 2: Install from Source (Development)
|
|
@@ -161,7 +166,8 @@ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
|
161
166
|
cd agentic-threat-hunting-framework
|
|
162
167
|
|
|
163
168
|
# Copy a template and start documenting
|
|
164
|
-
|
|
169
|
+
mkdir -p hunts
|
|
170
|
+
cp athf/data/templates/HUNT_LOCK.md hunts/H-0001.md
|
|
165
171
|
|
|
166
172
|
# Customize AGENTS.md with your environment
|
|
167
173
|
# Add your SIEM, EDR, and data sources
|
|
@@ -182,6 +188,23 @@ athf init # Interactive setup
|
|
|
182
188
|
athf init --non-interactive # Use defaults
|
|
183
189
|
```
|
|
184
190
|
|
|
191
|
+
### Research & Hypothesis Generation (NEW in v0.3.0)
|
|
192
|
+
|
|
193
|
+
```bash
|
|
194
|
+
# Conduct thorough pre-hunt research (15-20 min)
|
|
195
|
+
athf research new --topic "LSASS dumping" --technique T1003.001
|
|
196
|
+
|
|
197
|
+
# Quick research for urgent hunts (5 min)
|
|
198
|
+
athf research new --topic "Pass-the-Hash" --depth basic
|
|
199
|
+
|
|
200
|
+
# Generate AI-powered hypothesis from threat intel
|
|
201
|
+
athf agent run hypothesis-generator --threat-intel "APT29 targeting SaaS"
|
|
202
|
+
|
|
203
|
+
# List research and agents
|
|
204
|
+
athf research list
|
|
205
|
+
athf agent list
|
|
206
|
+
```
|
|
207
|
+
|
|
185
208
|
### Create Hunts
|
|
186
209
|
|
|
187
210
|
```bash
|
|
@@ -189,7 +212,8 @@ athf hunt new # Interactive mode
|
|
|
189
212
|
athf hunt new \
|
|
190
213
|
--technique T1003.001 \
|
|
191
214
|
--title "LSASS Dumping Detection" \
|
|
192
|
-
--platform windows
|
|
215
|
+
--platform windows \
|
|
216
|
+
--research R-0001 # Link to research document
|
|
193
217
|
```
|
|
194
218
|
|
|
195
219
|
### List & Search
|
|
@@ -199,6 +223,7 @@ athf hunt list # Show all hunts
|
|
|
199
223
|
athf hunt list --status completed # Filter by status
|
|
200
224
|
athf hunt list --output json # JSON output
|
|
201
225
|
athf hunt search "kerberoasting" # Full-text search
|
|
226
|
+
athf research search "credential" # Search research docs
|
|
202
227
|
```
|
|
203
228
|
|
|
204
229
|
### Validate & Stats
|
|
@@ -208,6 +233,7 @@ athf hunt validate # Validate all hunts
|
|
|
208
233
|
athf hunt validate H-0001 # Validate specific hunt
|
|
209
234
|
athf hunt stats # Show statistics
|
|
210
235
|
athf hunt coverage # MITRE ATT&CK coverage
|
|
236
|
+
athf research stats # Research metrics
|
|
211
237
|
```
|
|
212
238
|
|
|
213
239
|
**Full documentation:** [CLI Reference](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/CLI_REFERENCE.md)
|
|
@@ -222,35 +248,12 @@ Watch ATHF in action: initialize a workspace, create hunts, and explore your thr
|
|
|
222
248
|
|
|
223
249
|
## Installation
|
|
224
250
|
|
|
225
|
-
|
|
251
|
+
See the [Quick Start](#-quick-start) section above for installation options (PyPI, source, or pure markdown).
|
|
252
|
+
|
|
253
|
+
**Prerequisites:**
|
|
226
254
|
- Python 3.8-3.13 (for CLI option)
|
|
227
255
|
- Your favorite AI code assistant
|
|
228
256
|
|
|
229
|
-
### From PyPI (Recommended)
|
|
230
|
-
|
|
231
|
-
```bash
|
|
232
|
-
pip install agentic-threat-hunting-framework
|
|
233
|
-
athf init
|
|
234
|
-
```
|
|
235
|
-
|
|
236
|
-
### From Source (Development)
|
|
237
|
-
|
|
238
|
-
```bash
|
|
239
|
-
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
240
|
-
cd agentic-threat-hunting-framework
|
|
241
|
-
pip install -e .
|
|
242
|
-
athf init
|
|
243
|
-
```
|
|
244
|
-
|
|
245
|
-
### Markdown-Only Setup (No Installation)
|
|
246
|
-
|
|
247
|
-
```bash
|
|
248
|
-
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
249
|
-
cd agentic-threat-hunting-framework
|
|
250
|
-
```
|
|
251
|
-
|
|
252
|
-
Start documenting hunts in the `hunts/` directory using the LOCK pattern.
|
|
253
|
-
|
|
254
257
|
## Documentation
|
|
255
258
|
|
|
256
259
|
### Core Concepts
|
|
@@ -297,21 +300,16 @@ Agentic threat hunting is not about replacing analysts. It's about building syst
|
|
|
297
300
|
|
|
298
301
|
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.
|
|
299
302
|
|
|
300
|
-
## 💬 Community &
|
|
303
|
+
## 💬 Community & Adoption
|
|
301
304
|
|
|
302
305
|
- **GitHub Discussions:** [Ask questions, share hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
|
|
303
306
|
- **Issues:** [Report bugs or request features](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues)
|
|
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
|
|
305
307
|
- **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - Follow for updates
|
|
306
308
|
|
|
307
|
-
|
|
308
|
-
|
|
309
|
-
ATHF is a framework to internalize, not a platform to extend. Fork it, customize it, make it yours.
|
|
309
|
+
**Using ATHF in Your Organization:** ATHF is a framework to internalize, not a platform to extend. Fork it, customize it, make it yours. 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.
|
|
310
310
|
|
|
311
311
|
**Repository:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
|
|
312
312
|
|
|
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)).
|
|
314
|
-
|
|
315
313
|
The goal is to help every threat hunting team move from ad-hoc memory to structured, agentic capability.
|
|
316
314
|
|
|
317
315
|
---
|
|
@@ -24,6 +24,7 @@ ATHF provides structure and persistence for threat hunting programs. It's a mark
|
|
|
24
24
|
- Maintains a searchable repository of past investigations
|
|
25
25
|
- Enables AI assistants to reference your environment and previous work
|
|
26
26
|
- Works with any SIEM/EDR platform
|
|
27
|
+
- **NEW:** Includes AI-powered research and hypothesis generation agents (v0.3.0+)
|
|
27
28
|
|
|
28
29
|
## The Problem
|
|
29
30
|
|
|
@@ -63,8 +64,8 @@ ATHF defines a simple maturity model. Each level builds on the previous one.
|
|
|
63
64
|
| **0** | Ad-hoc | Hunts exist in Slack, tickets, or analyst notes |
|
|
64
65
|
| **1** | Documented | Persistent hunt records using LOCK |
|
|
65
66
|
| **2** | Searchable | AI reads and recalls your hunts |
|
|
66
|
-
| **3** | Generative | AI executes queries via MCP tools |
|
|
67
|
-
| **4** | Agentic | Autonomous agents monitor and act |
|
|
67
|
+
| **3** | Generative | AI executes queries via MCP tools, conducts research |
|
|
68
|
+
| **4** | Agentic | Autonomous agents monitor and act, generate hypotheses |
|
|
68
69
|
|
|
69
70
|
**Level 1:** Operational within a day
|
|
70
71
|
**Level 2:** Operational within a week
|
|
@@ -84,8 +85,11 @@ pip install agentic-threat-hunting-framework
|
|
|
84
85
|
# Initialize your hunt program
|
|
85
86
|
athf init
|
|
86
87
|
|
|
87
|
-
#
|
|
88
|
-
athf
|
|
88
|
+
# NEW: Conduct research before hunting (5-skill methodology)
|
|
89
|
+
athf research new --topic "LSASS dumping" --technique T1003.001
|
|
90
|
+
|
|
91
|
+
# Create your first hunt (link to research)
|
|
92
|
+
athf hunt new --technique T1003.001 --title "LSASS Credential Dumping" --research R-0001
|
|
89
93
|
```
|
|
90
94
|
|
|
91
95
|
### Option 2: Install from Source (Development)
|
|
@@ -109,7 +113,8 @@ git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
|
109
113
|
cd agentic-threat-hunting-framework
|
|
110
114
|
|
|
111
115
|
# Copy a template and start documenting
|
|
112
|
-
|
|
116
|
+
mkdir -p hunts
|
|
117
|
+
cp athf/data/templates/HUNT_LOCK.md hunts/H-0001.md
|
|
113
118
|
|
|
114
119
|
# Customize AGENTS.md with your environment
|
|
115
120
|
# Add your SIEM, EDR, and data sources
|
|
@@ -130,6 +135,23 @@ athf init # Interactive setup
|
|
|
130
135
|
athf init --non-interactive # Use defaults
|
|
131
136
|
```
|
|
132
137
|
|
|
138
|
+
### Research & Hypothesis Generation (NEW in v0.3.0)
|
|
139
|
+
|
|
140
|
+
```bash
|
|
141
|
+
# Conduct thorough pre-hunt research (15-20 min)
|
|
142
|
+
athf research new --topic "LSASS dumping" --technique T1003.001
|
|
143
|
+
|
|
144
|
+
# Quick research for urgent hunts (5 min)
|
|
145
|
+
athf research new --topic "Pass-the-Hash" --depth basic
|
|
146
|
+
|
|
147
|
+
# Generate AI-powered hypothesis from threat intel
|
|
148
|
+
athf agent run hypothesis-generator --threat-intel "APT29 targeting SaaS"
|
|
149
|
+
|
|
150
|
+
# List research and agents
|
|
151
|
+
athf research list
|
|
152
|
+
athf agent list
|
|
153
|
+
```
|
|
154
|
+
|
|
133
155
|
### Create Hunts
|
|
134
156
|
|
|
135
157
|
```bash
|
|
@@ -137,7 +159,8 @@ athf hunt new # Interactive mode
|
|
|
137
159
|
athf hunt new \
|
|
138
160
|
--technique T1003.001 \
|
|
139
161
|
--title "LSASS Dumping Detection" \
|
|
140
|
-
--platform windows
|
|
162
|
+
--platform windows \
|
|
163
|
+
--research R-0001 # Link to research document
|
|
141
164
|
```
|
|
142
165
|
|
|
143
166
|
### List & Search
|
|
@@ -147,6 +170,7 @@ athf hunt list # Show all hunts
|
|
|
147
170
|
athf hunt list --status completed # Filter by status
|
|
148
171
|
athf hunt list --output json # JSON output
|
|
149
172
|
athf hunt search "kerberoasting" # Full-text search
|
|
173
|
+
athf research search "credential" # Search research docs
|
|
150
174
|
```
|
|
151
175
|
|
|
152
176
|
### Validate & Stats
|
|
@@ -156,6 +180,7 @@ athf hunt validate # Validate all hunts
|
|
|
156
180
|
athf hunt validate H-0001 # Validate specific hunt
|
|
157
181
|
athf hunt stats # Show statistics
|
|
158
182
|
athf hunt coverage # MITRE ATT&CK coverage
|
|
183
|
+
athf research stats # Research metrics
|
|
159
184
|
```
|
|
160
185
|
|
|
161
186
|
**Full documentation:** [CLI Reference](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/blob/main/docs/CLI_REFERENCE.md)
|
|
@@ -170,35 +195,12 @@ Watch ATHF in action: initialize a workspace, create hunts, and explore your thr
|
|
|
170
195
|
|
|
171
196
|
## Installation
|
|
172
197
|
|
|
173
|
-
|
|
198
|
+
See the [Quick Start](#-quick-start) section above for installation options (PyPI, source, or pure markdown).
|
|
199
|
+
|
|
200
|
+
**Prerequisites:**
|
|
174
201
|
- Python 3.8-3.13 (for CLI option)
|
|
175
202
|
- Your favorite AI code assistant
|
|
176
203
|
|
|
177
|
-
### From PyPI (Recommended)
|
|
178
|
-
|
|
179
|
-
```bash
|
|
180
|
-
pip install agentic-threat-hunting-framework
|
|
181
|
-
athf init
|
|
182
|
-
```
|
|
183
|
-
|
|
184
|
-
### From Source (Development)
|
|
185
|
-
|
|
186
|
-
```bash
|
|
187
|
-
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
188
|
-
cd agentic-threat-hunting-framework
|
|
189
|
-
pip install -e .
|
|
190
|
-
athf init
|
|
191
|
-
```
|
|
192
|
-
|
|
193
|
-
### Markdown-Only Setup (No Installation)
|
|
194
|
-
|
|
195
|
-
```bash
|
|
196
|
-
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
197
|
-
cd agentic-threat-hunting-framework
|
|
198
|
-
```
|
|
199
|
-
|
|
200
|
-
Start documenting hunts in the `hunts/` directory using the LOCK pattern.
|
|
201
|
-
|
|
202
204
|
## Documentation
|
|
203
205
|
|
|
204
206
|
### Core Concepts
|
|
@@ -245,21 +247,16 @@ Agentic threat hunting is not about replacing analysts. It's about building syst
|
|
|
245
247
|
|
|
246
248
|
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.
|
|
247
249
|
|
|
248
|
-
## 💬 Community &
|
|
250
|
+
## 💬 Community & Adoption
|
|
249
251
|
|
|
250
252
|
- **GitHub Discussions:** [Ask questions, share hunts](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
|
|
251
253
|
- **Issues:** [Report bugs or request features](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues)
|
|
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
|
|
253
254
|
- **LinkedIn:** [Nebulock Inc.](https://www.linkedin.com/company/nebulock-inc) - Follow for updates
|
|
254
255
|
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
ATHF is a framework to internalize, not a platform to extend. Fork it, customize it, make it yours.
|
|
256
|
+
**Using ATHF in Your Organization:** ATHF is a framework to internalize, not a platform to extend. Fork it, customize it, make it yours. 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.
|
|
258
257
|
|
|
259
258
|
**Repository:** [https://github.com/Nebulock-Inc/agentic-threat-hunting-framework](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework)
|
|
260
259
|
|
|
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)).
|
|
262
|
-
|
|
263
260
|
The goal is to help every threat hunting team move from ad-hoc memory to structured, agentic capability.
|
|
264
261
|
|
|
265
262
|
---
|
|
@@ -0,0 +1,209 @@
|
|
|
1
|
+
# Using ATHF in Your Organization
|
|
2
|
+
|
|
3
|
+
ATHF is a **framework for building agentic capability** in threat hunting. This guide helps you adopt it.
|
|
4
|
+
|
|
5
|
+
## Philosophy
|
|
6
|
+
|
|
7
|
+
ATHF teaches systems how to hunt with memory, learning, and augmentation.
|
|
8
|
+
|
|
9
|
+
- **Framework, not platform** - Structure over software, adapt to your environment
|
|
10
|
+
- **Capability-focused** - Adds memory and agents to any hunting methodology ([PEAK](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html), [SQRRL](https://www.threathunting.net/files/The%20Threat%20Hunting%20Reference%20Model%20Part%202_%20The%20Hunting%20Loop%20_%20Sqrrl.pdf), custom)
|
|
11
|
+
- **Progression-minded** - Start simple, scale when complexity demands it
|
|
12
|
+
|
|
13
|
+
## How to Adopt ATHF
|
|
14
|
+
|
|
15
|
+
### 1. Clone and Customize
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework
|
|
19
|
+
cd agentic-threat-hunting-framework
|
|
20
|
+
|
|
21
|
+
# Option A: With CLI (Recommended)
|
|
22
|
+
pip install -e .
|
|
23
|
+
athf init
|
|
24
|
+
|
|
25
|
+
# Option B: Markdown-Only
|
|
26
|
+
# Just start documenting hunts in hunts/ folder
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
> The CLI is optional convenience tooling. The framework structure (hunts/, LOCK pattern, AGENTS.md) enables AI assistance.
|
|
30
|
+
|
|
31
|
+
### 2. Choose Your Integration Approach
|
|
32
|
+
|
|
33
|
+
**Standalone:** Use ATHF's LOCK pattern as your hunting methodology (simple, agentic-first).
|
|
34
|
+
|
|
35
|
+
**Layered:** Keep your existing framework ([PEAK](https://www.splunk.com/en_us/blog/security/peak-threat-hunting-framework.html), [SQRRL](https://www.threathunting.net/files/The%20Threat%20Hunting%20Reference%20Model%20Part%202_%20The%20Hunting%20Loop%20_%20Sqrrl.pdf), [TaHiTI](https://www.betaalvereniging.nl/en/safety/tahiti/)) and use ATHF to add memory and AI capability.
|
|
36
|
+
|
|
37
|
+
### 3. Customize Environmental Context
|
|
38
|
+
|
|
39
|
+
**environment.md** - Your actual tech stack:
|
|
40
|
+
- Security tools (SIEM, EDR, firewalls)
|
|
41
|
+
- Technology stack (languages, frameworks, cloud platforms)
|
|
42
|
+
- Known gaps and blind spots
|
|
43
|
+
- Update quarterly or when major changes occur
|
|
44
|
+
|
|
45
|
+
**AGENTS.md** - AI assistant context:
|
|
46
|
+
- Data sources and tools
|
|
47
|
+
- Organization threat model and priorities
|
|
48
|
+
- Compliance requirements
|
|
49
|
+
- High-priority ATT&CK TTPs
|
|
50
|
+
|
|
51
|
+
**knowledge/hunting-knowledge.md** - Expert hunting frameworks (included):
|
|
52
|
+
- Pre-loaded hunting methodology and analytical rigor
|
|
53
|
+
- Use as-is or customize for your organization
|
|
54
|
+
|
|
55
|
+
### 4. Start at Your Maturity Level
|
|
56
|
+
|
|
57
|
+
See the [README](README.md) for detailed maturity model explanation.
|
|
58
|
+
|
|
59
|
+
**Level 1: Documented (Week 1)**
|
|
60
|
+
- Create repository, start documenting hunts in LOCK format
|
|
61
|
+
- Use `athf hunt new` or manual markdown
|
|
62
|
+
|
|
63
|
+
**Level 2: Searchable (Week 2-4)**
|
|
64
|
+
- Add AGENTS.md and hunting-knowledge.md
|
|
65
|
+
- Choose AI tool (GitHub Copilot, Claude Code, Cursor)
|
|
66
|
+
- AI reads your hunt history automatically
|
|
67
|
+
|
|
68
|
+
**Level 3+: Generative/Agentic (Month 3-6+)**
|
|
69
|
+
- Build scripts for repetitive tasks (if needed)
|
|
70
|
+
- Add structured memory when grep becomes slow (50+ hunts)
|
|
71
|
+
|
|
72
|
+
## Maintaining Environmental Context
|
|
73
|
+
|
|
74
|
+
### Ownership & Cadence
|
|
75
|
+
|
|
76
|
+
**Who maintains:**
|
|
77
|
+
- **Infrastructure/DevOps:** Tech stack changes, new services
|
|
78
|
+
- **Security architects:** Network architecture, security tools
|
|
79
|
+
- **Threat hunters:** Hunt findings, discovered services, blind spots
|
|
80
|
+
|
|
81
|
+
**When to update:**
|
|
82
|
+
- **Quarterly:** Scheduled review of environment.md
|
|
83
|
+
- **Event-driven:** New security tools, infrastructure migrations, major application launches
|
|
84
|
+
- **AGENTS.md:** As needed when data sources or AI tools change
|
|
85
|
+
- **hunting-knowledge.md:** Rarely (core hunting frameworks are stable)
|
|
86
|
+
|
|
87
|
+
### Memory Scaling
|
|
88
|
+
|
|
89
|
+
| Hunt Volume | Approach | Tools |
|
|
90
|
+
|-------------|----------|-------|
|
|
91
|
+
| **10-50 hunts** | Grep or CLI search | `grep -i "keyword" hunts/*.md` or `athf hunt search` |
|
|
92
|
+
| **50-200 hunts** | CLI + simple helpers | Tags in markdown, hunt index, `athf hunt list --filter` |
|
|
93
|
+
| **200+ hunts** | Structured memory | JSON index, SQLite, full-text search |
|
|
94
|
+
|
|
95
|
+
**Key principle:** Don't build structure until grep becomes painful.
|
|
96
|
+
|
|
97
|
+
### Asset Management Integration (Optional)
|
|
98
|
+
|
|
99
|
+
**Manual (Level 1-2):** Reference CMDB/asset inventory in environment.md, add links to ServiceNow/Jira/wikis.
|
|
100
|
+
|
|
101
|
+
**Automated (Level 3+):** Script to pull tech stack from CMDB API, auto-update environment.md sections.
|
|
102
|
+
|
|
103
|
+
## Scaling by Team Size
|
|
104
|
+
|
|
105
|
+
| Team Size | Level | Focus |
|
|
106
|
+
|-----------|-------|-------|
|
|
107
|
+
| **Solo Hunter** | 1-2 | Personal repo + AI tool, maintain environment.md yourself (15-30 min/quarter) |
|
|
108
|
+
| **Small Team (2-5)** | 1-2 | Shared repo + AI tools, collaborative memory, shared environment.md responsibility |
|
|
109
|
+
| **Security Team (5-20)** | 2-3 | Optional automation scripts, metrics dashboards, formalized environment.md updates |
|
|
110
|
+
| **Enterprise SOC (20+)** | 3-4 | Hunt library by TTP, detection engineering pipeline, automated environment.md from CMDB |
|
|
111
|
+
|
|
112
|
+
## Customizing the LOCK Loop
|
|
113
|
+
|
|
114
|
+
LOCK is flexible—add gates as needed:
|
|
115
|
+
|
|
116
|
+
```
|
|
117
|
+
# Add approval gates
|
|
118
|
+
Learn → Observe → [Manager Approval] → Check → Keep
|
|
119
|
+
|
|
120
|
+
# Add peer review
|
|
121
|
+
Learn → Observe → Check → [Peer Review] → Keep
|
|
122
|
+
|
|
123
|
+
# Add detection pipeline
|
|
124
|
+
Learn → Observe → Check → Keep → [AI Converts to Detection] → Deploy
|
|
125
|
+
```
|
|
126
|
+
|
|
127
|
+
## Customization Examples
|
|
128
|
+
|
|
129
|
+
### Add Organization-Specific Fields
|
|
130
|
+
|
|
131
|
+
```markdown
|
|
132
|
+
## Organization Context
|
|
133
|
+
**Business Unit**: [Sales / Engineering / Finance]
|
|
134
|
+
**Data Classification**: [Public / Internal / Confidential]
|
|
135
|
+
**Compliance Framework**: [NIST / PCI / SOC2]
|
|
136
|
+
```
|
|
137
|
+
|
|
138
|
+
### Add Your Threat Model
|
|
139
|
+
|
|
140
|
+
Create `threat_model.md` to document:
|
|
141
|
+
- Priority threat actors for your industry
|
|
142
|
+
- Common initial access vectors
|
|
143
|
+
- Crown jewels and critical assets
|
|
144
|
+
- Known coverage gaps
|
|
145
|
+
|
|
146
|
+
### Organize Hunts by Priority
|
|
147
|
+
|
|
148
|
+
```
|
|
149
|
+
hunts/
|
|
150
|
+
├── ransomware/
|
|
151
|
+
├── insider_threat/
|
|
152
|
+
├── supply_chain/
|
|
153
|
+
└── cloud_compromise/
|
|
154
|
+
```
|
|
155
|
+
|
|
156
|
+
## Integration Patterns
|
|
157
|
+
|
|
158
|
+
### With HEARTH
|
|
159
|
+
```bash
|
|
160
|
+
./tools/convert_to_hearth.py hunts/H-0001.md
|
|
161
|
+
```
|
|
162
|
+
|
|
163
|
+
### With Detection-as-Code
|
|
164
|
+
```bash
|
|
165
|
+
./tools/export_to_sigma.py queries/H-0001.spl
|
|
166
|
+
```
|
|
167
|
+
|
|
168
|
+
### With SOAR
|
|
169
|
+
Trigger automated hunts from playbooks using generated hypotheses.
|
|
170
|
+
|
|
171
|
+
## Making ATHF "Yours"
|
|
172
|
+
|
|
173
|
+
### Rebrand
|
|
174
|
+
- Change logo, update terminology, add your security principles
|
|
175
|
+
|
|
176
|
+
### Add Your Voice
|
|
177
|
+
- Replace examples with your real hunts (redacted)
|
|
178
|
+
- Document your team's unique lessons
|
|
179
|
+
- Share your threat hunting philosophy
|
|
180
|
+
|
|
181
|
+
### Extend with Tools
|
|
182
|
+
|
|
183
|
+
**Built-in CLI:** See [README](README.md#-cli-commands) for complete command reference including:
|
|
184
|
+
- Hunt management (`athf hunt new/list/search/validate/stats/coverage`)
|
|
185
|
+
- Research agent (`athf research new`) - Deep pre-hunt research with 5-skill methodology
|
|
186
|
+
- Hypothesis generator (`athf agent run hypothesis-generator`) - AI-generated hunt hypotheses
|
|
187
|
+
|
|
188
|
+
**Custom helpers:** Build additional tools as needed (query validators, metrics dashboards, SOAR integrations).
|
|
189
|
+
|
|
190
|
+
## Questions?
|
|
191
|
+
|
|
192
|
+
1. Review templates and example hunt (H-0001) for patterns
|
|
193
|
+
2. Check prompts/ folder for AI-assisted workflows
|
|
194
|
+
3. See [README](README.md) for workflow diagrams and integration patterns
|
|
195
|
+
4. Adapt freely - this framework is yours to modify
|
|
196
|
+
|
|
197
|
+
## Sharing Back (Optional)
|
|
198
|
+
|
|
199
|
+
We'd love to hear how you're using ATHF:
|
|
200
|
+
- Blog about your experience
|
|
201
|
+
- Share anonymized metrics
|
|
202
|
+
- Present at conferences
|
|
203
|
+
- Open a discussion at [github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
|
|
204
|
+
|
|
205
|
+
Your hunts, data, and lessons stay **yours**.
|
|
206
|
+
|
|
207
|
+
---
|
|
208
|
+
|
|
209
|
+
**Remember**: ATHF is a framework to internalize, not a platform to extend. Make it yours.
|