agentic-threat-hunting-framework 0.2.2__py3-none-any.whl → 0.2.4__py3-none-any.whl
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.2.dist-info → agentic_threat_hunting_framework-0.2.4.dist-info}/METADATA +1 -1
- agentic_threat_hunting_framework-0.2.4.dist-info/RECORD +47 -0
- athf/__version__.py +1 -1
- athf/cli.py +1 -1
- athf/commands/context.py +29 -15
- athf/commands/hunt.py +1 -3
- athf/commands/init.py +45 -0
- athf/commands/similar.py +2 -2
- athf/core/hunt_manager.py +7 -0
- athf/data/__init__.py +14 -0
- athf/data/docs/CHANGELOG.md +147 -0
- athf/data/docs/CLI_REFERENCE.md +1797 -0
- athf/data/docs/INSTALL.md +594 -0
- athf/data/docs/README.md +31 -0
- athf/data/docs/environment.md +256 -0
- athf/data/docs/getting-started.md +419 -0
- athf/data/docs/level4-agentic-workflows.md +480 -0
- athf/data/docs/lock-pattern.md +149 -0
- athf/data/docs/maturity-model.md +400 -0
- athf/data/docs/why-athf.md +44 -0
- athf/data/hunts/FORMAT_GUIDELINES.md +507 -0
- athf/data/hunts/H-0001.md +453 -0
- athf/data/hunts/H-0002.md +436 -0
- athf/data/hunts/H-0003.md +546 -0
- athf/data/hunts/README.md +231 -0
- athf/data/integrations/MCP_CATALOG.md +45 -0
- athf/data/integrations/README.md +129 -0
- athf/data/integrations/quickstart/splunk.md +162 -0
- athf/data/knowledge/hunting-knowledge.md +2375 -0
- athf/data/prompts/README.md +172 -0
- athf/data/prompts/ai-workflow.md +581 -0
- athf/data/prompts/basic-prompts.md +316 -0
- athf/data/templates/HUNT_LOCK.md +228 -0
- agentic_threat_hunting_framework-0.2.2.dist-info/RECORD +0 -23
- {agentic_threat_hunting_framework-0.2.2.dist-info → agentic_threat_hunting_framework-0.2.4.dist-info}/WHEEL +0 -0
- {agentic_threat_hunting_framework-0.2.2.dist-info → agentic_threat_hunting_framework-0.2.4.dist-info}/entry_points.txt +0 -0
- {agentic_threat_hunting_framework-0.2.2.dist-info → agentic_threat_hunting_framework-0.2.4.dist-info}/licenses/LICENSE +0 -0
- {agentic_threat_hunting_framework-0.2.2.dist-info → agentic_threat_hunting_framework-0.2.4.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,594 @@
|
|
|
1
|
+
# ATHF Installation & Development Guide
|
|
2
|
+
|
|
3
|
+
This guide covers installation methods and development setup for the Agentic Threat Hunting Framework (ATHF).
|
|
4
|
+
|
|
5
|
+
## Quick Start
|
|
6
|
+
|
|
7
|
+
The fastest way to get started:
|
|
8
|
+
|
|
9
|
+
```bash
|
|
10
|
+
pip install agentic-threat-hunting-framework
|
|
11
|
+
athf init
|
|
12
|
+
```
|
|
13
|
+
|
|
14
|
+
That's it! You're ready to start threat hunting.
|
|
15
|
+
|
|
16
|
+
---
|
|
17
|
+
|
|
18
|
+
## Installation Options
|
|
19
|
+
|
|
20
|
+
### Option 1: Install from PyPI (Recommended)
|
|
21
|
+
|
|
22
|
+
**Best for**: Most users who want a stable, production-ready installation.
|
|
23
|
+
|
|
24
|
+
```bash
|
|
25
|
+
# Install the latest stable release
|
|
26
|
+
pip install agentic-threat-hunting-framework
|
|
27
|
+
|
|
28
|
+
# Verify installation
|
|
29
|
+
athf --version
|
|
30
|
+
|
|
31
|
+
# Initialize your workspace
|
|
32
|
+
athf init
|
|
33
|
+
```
|
|
34
|
+
|
|
35
|
+
**Requirements**:
|
|
36
|
+
- Python 3.8 or higher
|
|
37
|
+
- pip (comes with Python)
|
|
38
|
+
|
|
39
|
+
**Virtual Environment (Recommended)**:
|
|
40
|
+
|
|
41
|
+
```bash
|
|
42
|
+
# Create a virtual environment
|
|
43
|
+
python3 -m venv athf-env
|
|
44
|
+
|
|
45
|
+
# Activate it
|
|
46
|
+
source athf-env/bin/activate # On macOS/Linux
|
|
47
|
+
athf-env\Scripts\activate # On Windows
|
|
48
|
+
|
|
49
|
+
# Install ATHF
|
|
50
|
+
pip install agentic-threat-hunting-framework
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
---
|
|
54
|
+
|
|
55
|
+
### Option 2: Install from Source
|
|
56
|
+
|
|
57
|
+
**Best for**: Contributors, developers, or users who want the latest features.
|
|
58
|
+
|
|
59
|
+
```bash
|
|
60
|
+
# Clone the repository
|
|
61
|
+
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework.git
|
|
62
|
+
cd agentic-threat-hunting-framework
|
|
63
|
+
|
|
64
|
+
# Install in editable mode (changes take effect immediately)
|
|
65
|
+
pip install -e .
|
|
66
|
+
|
|
67
|
+
# Or install normally
|
|
68
|
+
pip install .
|
|
69
|
+
|
|
70
|
+
# Verify installation
|
|
71
|
+
athf --version
|
|
72
|
+
```
|
|
73
|
+
|
|
74
|
+
---
|
|
75
|
+
|
|
76
|
+
### Option 3: No Installation (Pure Markdown)
|
|
77
|
+
|
|
78
|
+
**Best for**: Users who prefer a documentation-only approach or don't want to install Python packages.
|
|
79
|
+
|
|
80
|
+
```bash
|
|
81
|
+
# Clone the repository
|
|
82
|
+
git clone https://github.com/Nebulock-Inc/agentic-threat-hunting-framework.git
|
|
83
|
+
cd agentic-threat-hunting-framework
|
|
84
|
+
|
|
85
|
+
# Copy the template structure
|
|
86
|
+
mkdir -p my-hunts/hunts my-hunts/queries my-hunts/runs
|
|
87
|
+
cp templates/HUNT_LOCK.md my-hunts/templates/
|
|
88
|
+
cp docs/AGENTS.md my-hunts/
|
|
89
|
+
|
|
90
|
+
# Start creating hunts by copying the template
|
|
91
|
+
cp templates/HUNT_LOCK.md my-hunts/hunts/H-0001.md
|
|
92
|
+
```
|
|
93
|
+
|
|
94
|
+
**Pros**:
|
|
95
|
+
- No installation required
|
|
96
|
+
- Works with any text editor
|
|
97
|
+
- Complete control over file structure
|
|
98
|
+
- AI assistants can edit markdown directly
|
|
99
|
+
|
|
100
|
+
**Cons**:
|
|
101
|
+
- No validation or automation
|
|
102
|
+
- Manual hunt ID tracking
|
|
103
|
+
- No built-in search or statistics
|
|
104
|
+
- No standardized workflow
|
|
105
|
+
|
|
106
|
+
---
|
|
107
|
+
|
|
108
|
+
## Development & Customization
|
|
109
|
+
|
|
110
|
+
ATHF is designed to be forked and customized for your organization. This section covers setting up your development environment and maintaining code quality in your fork.
|
|
111
|
+
|
|
112
|
+
### Setting Up Your Fork for Development
|
|
113
|
+
|
|
114
|
+
```bash
|
|
115
|
+
# Fork and clone your repository
|
|
116
|
+
git clone https://github.com/YOUR-ORG/agentic-threat-hunting-framework
|
|
117
|
+
cd agentic-threat-hunting-framework
|
|
118
|
+
|
|
119
|
+
# Install with development dependencies
|
|
120
|
+
pip install -e ".[dev]"
|
|
121
|
+
|
|
122
|
+
# Set up pre-commit hooks (recommended)
|
|
123
|
+
pre-commit install
|
|
124
|
+
|
|
125
|
+
# Run tests
|
|
126
|
+
pytest tests/ -v
|
|
127
|
+
|
|
128
|
+
# Run type checking
|
|
129
|
+
mypy athf --ignore-missing-imports
|
|
130
|
+
|
|
131
|
+
# Run linting
|
|
132
|
+
flake8 athf
|
|
133
|
+
black athf --check
|
|
134
|
+
isort athf --check-only
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
### Pre-commit Hooks (Optional)
|
|
138
|
+
|
|
139
|
+
Pre-commit hooks help maintain code quality as you customize ATHF for your organization. Once installed, they run automatically on every commit and check:
|
|
140
|
+
|
|
141
|
+
- **Code formatting** (black, isort)
|
|
142
|
+
- **Linting** (flake8)
|
|
143
|
+
- **Security** (bandit)
|
|
144
|
+
- **Type checking** (mypy)
|
|
145
|
+
- **File hygiene** (trailing whitespace, end-of-file fixes, etc.)
|
|
146
|
+
|
|
147
|
+
**Installing Pre-commit Hooks**:
|
|
148
|
+
|
|
149
|
+
```bash
|
|
150
|
+
# Install pre-commit (included in dev dependencies)
|
|
151
|
+
pip install -e ".[dev]"
|
|
152
|
+
|
|
153
|
+
# Set up the git hook
|
|
154
|
+
pre-commit install
|
|
155
|
+
|
|
156
|
+
# Run manually on all files (optional)
|
|
157
|
+
pre-commit run --all-files
|
|
158
|
+
```
|
|
159
|
+
|
|
160
|
+
**Running Individual Tools**:
|
|
161
|
+
|
|
162
|
+
```bash
|
|
163
|
+
# Format code
|
|
164
|
+
black athf
|
|
165
|
+
isort athf
|
|
166
|
+
|
|
167
|
+
# Check formatting without changes
|
|
168
|
+
black athf --check
|
|
169
|
+
isort athf --check-only
|
|
170
|
+
|
|
171
|
+
# Lint code
|
|
172
|
+
flake8 athf
|
|
173
|
+
|
|
174
|
+
# Check security issues
|
|
175
|
+
bandit -r athf -c pyproject.toml
|
|
176
|
+
|
|
177
|
+
# Type check
|
|
178
|
+
mypy athf --ignore-missing-imports
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
### Code Quality Standards
|
|
182
|
+
|
|
183
|
+
When customizing ATHF for your team:
|
|
184
|
+
|
|
185
|
+
**Type Hints**: Maintain type annotations for better IDE support and catch errors early:
|
|
186
|
+
|
|
187
|
+
```python
|
|
188
|
+
def get_config_path() -> Path:
|
|
189
|
+
"""Get config file path."""
|
|
190
|
+
return Path("config/.athfconfig.yaml")
|
|
191
|
+
|
|
192
|
+
def search_hunts(query: str) -> list[dict]:
|
|
193
|
+
"""Search hunts by query string."""
|
|
194
|
+
results = []
|
|
195
|
+
return results
|
|
196
|
+
```
|
|
197
|
+
|
|
198
|
+
The mypy configuration in `pyproject.toml` enforces:
|
|
199
|
+
- `disallow_untyped_defs = true` - All functions need type annotations
|
|
200
|
+
- `disallow_incomplete_defs = true` - Function signatures must be complete
|
|
201
|
+
|
|
202
|
+
**Testing**: Add tests for custom features you build. ATHF uses pytest:
|
|
203
|
+
|
|
204
|
+
```bash
|
|
205
|
+
# Run all tests
|
|
206
|
+
pytest tests/ -v
|
|
207
|
+
|
|
208
|
+
# Run specific test file
|
|
209
|
+
pytest tests/test_commands.py -v
|
|
210
|
+
|
|
211
|
+
# Run with coverage
|
|
212
|
+
pytest tests/ -v --cov=athf --cov-report=term-missing
|
|
213
|
+
|
|
214
|
+
# Run specific test
|
|
215
|
+
pytest tests/test_commands.py::TestInitCommand::test_init_creates_structure_non_interactive -v
|
|
216
|
+
```
|
|
217
|
+
|
|
218
|
+
Tests use Click's `CliRunner` to test actual CLI commands rather than mocks. See [tests/test_commands.py](../../../tests/test_commands.py) for examples.
|
|
219
|
+
|
|
220
|
+
**Documentation**: Keep your fork's documentation current:
|
|
221
|
+
- **AGENTS.md** - Update with your environment details, data sources, team context
|
|
222
|
+
- **environment.md** - Document your tech stack, tools, known gaps
|
|
223
|
+
- **Hunt files** - Use LOCK pattern consistently across all hunts
|
|
224
|
+
- **Custom features** - Document any custom commands or extensions you build
|
|
225
|
+
|
|
226
|
+
**Security**: Run bandit to check for security issues in custom code:
|
|
227
|
+
|
|
228
|
+
```bash
|
|
229
|
+
# Check all Python files
|
|
230
|
+
bandit -r athf -c pyproject.toml
|
|
231
|
+
|
|
232
|
+
# Check specific file
|
|
233
|
+
bandit athf/commands/hunt.py
|
|
234
|
+
```
|
|
235
|
+
|
|
236
|
+
### Testing Your Changes
|
|
237
|
+
|
|
238
|
+
Before committing significant customizations:
|
|
239
|
+
|
|
240
|
+
```bash
|
|
241
|
+
# 1. Run all tests
|
|
242
|
+
pytest tests/ -v
|
|
243
|
+
|
|
244
|
+
# 2. Check types
|
|
245
|
+
mypy athf --ignore-missing-imports
|
|
246
|
+
|
|
247
|
+
# 3. Format code
|
|
248
|
+
black athf
|
|
249
|
+
isort athf
|
|
250
|
+
|
|
251
|
+
# 4. Check security
|
|
252
|
+
bandit -r athf -c pyproject.toml
|
|
253
|
+
|
|
254
|
+
# 5. Or run pre-commit on everything
|
|
255
|
+
pre-commit run --all-files
|
|
256
|
+
```
|
|
257
|
+
|
|
258
|
+
### Customization Examples
|
|
259
|
+
|
|
260
|
+
**Adding a Custom Command**:
|
|
261
|
+
|
|
262
|
+
```python
|
|
263
|
+
# athf/commands/custom.py
|
|
264
|
+
import click
|
|
265
|
+
from rich.console import Console
|
|
266
|
+
|
|
267
|
+
console = Console()
|
|
268
|
+
|
|
269
|
+
@click.command()
|
|
270
|
+
def mycustom() -> None:
|
|
271
|
+
"""My custom command."""
|
|
272
|
+
console.print("[cyan]Running custom command![/cyan]")
|
|
273
|
+
|
|
274
|
+
# Register in athf/cli.py
|
|
275
|
+
from athf.commands import custom
|
|
276
|
+
cli.add_command(custom.mycustom)
|
|
277
|
+
```
|
|
278
|
+
|
|
279
|
+
**Extending Hunt Metadata**: Modify the hunt template in `athf/core/template_engine.py` to add custom fields:
|
|
280
|
+
|
|
281
|
+
```python
|
|
282
|
+
HUNT_TEMPLATE = """---
|
|
283
|
+
hunt_id: {{ hunt_id }}
|
|
284
|
+
title: {{ title }}
|
|
285
|
+
# Your custom fields
|
|
286
|
+
priority: {{ priority | default('medium') }}
|
|
287
|
+
owner_team: {{ owner_team | default('SOC') }}
|
|
288
|
+
---
|
|
289
|
+
```
|
|
290
|
+
|
|
291
|
+
**Custom Workflows**: ATHF's structure makes it easy to build custom workflows:
|
|
292
|
+
|
|
293
|
+
```bash
|
|
294
|
+
#!/bin/bash
|
|
295
|
+
# weekly-hunt-report.sh
|
|
296
|
+
|
|
297
|
+
# Get all completed hunts from last week
|
|
298
|
+
athf hunt list --status completed --output json | \
|
|
299
|
+
jq '[.[] | select(.date >= "2025-11-29")]' | \
|
|
300
|
+
athf stats
|
|
301
|
+
```
|
|
302
|
+
|
|
303
|
+
### CI/CD Integration
|
|
304
|
+
|
|
305
|
+
ATHF includes a GitHub Actions workflow ([.github/workflows/tests.yml](../../../.github/workflows/tests.yml)) that runs:
|
|
306
|
+
|
|
307
|
+
- Tests across Python 3.8-3.12 on Ubuntu, macOS, Windows
|
|
308
|
+
- Linting with flake8
|
|
309
|
+
- Type checking with mypy
|
|
310
|
+
- Hunt validation
|
|
311
|
+
- Package building
|
|
312
|
+
|
|
313
|
+
Customize the workflow for your organization's needs.
|
|
314
|
+
|
|
315
|
+
### Tools Configuration
|
|
316
|
+
|
|
317
|
+
All tools are configured in `pyproject.toml`:
|
|
318
|
+
|
|
319
|
+
- **Black**: Line length 127, targets Python 3.8-3.12
|
|
320
|
+
- **isort**: Black-compatible profile
|
|
321
|
+
- **mypy**: Strict type checking enabled
|
|
322
|
+
- **pytest**: Test discovery, coverage reporting
|
|
323
|
+
- **bandit**: Security checks with test exclusions
|
|
324
|
+
|
|
325
|
+
See [pyproject.toml](../../../pyproject.toml) for full configuration.
|
|
326
|
+
|
|
327
|
+
---
|
|
328
|
+
|
|
329
|
+
## Platform-Specific Instructions
|
|
330
|
+
|
|
331
|
+
### macOS
|
|
332
|
+
|
|
333
|
+
```bash
|
|
334
|
+
# Python 3 usually comes pre-installed on modern macOS
|
|
335
|
+
python3 --version
|
|
336
|
+
|
|
337
|
+
# If not installed, get it from homebrew
|
|
338
|
+
brew install python3
|
|
339
|
+
|
|
340
|
+
# Install ATHF
|
|
341
|
+
pip3 install agentic-threat-hunting-framework
|
|
342
|
+
|
|
343
|
+
# Add to PATH if needed (check installation output)
|
|
344
|
+
export PATH="$HOME/Library/Python/3.x/bin:$PATH"
|
|
345
|
+
```
|
|
346
|
+
|
|
347
|
+
Add the PATH export to your `~/.zshrc` or `~/.bash_profile` to make it permanent.
|
|
348
|
+
|
|
349
|
+
### Linux (Ubuntu/Debian)
|
|
350
|
+
|
|
351
|
+
```bash
|
|
352
|
+
# Install Python 3 and pip
|
|
353
|
+
sudo apt update
|
|
354
|
+
sudo apt install python3 python3-pip python3-venv
|
|
355
|
+
|
|
356
|
+
# Install ATHF
|
|
357
|
+
pip3 install agentic-threat-hunting-framework
|
|
358
|
+
|
|
359
|
+
# Add to PATH if needed
|
|
360
|
+
export PATH="$HOME/.local/bin:$PATH"
|
|
361
|
+
```
|
|
362
|
+
|
|
363
|
+
Add the PATH export to your `~/.bashrc` to make it permanent.
|
|
364
|
+
|
|
365
|
+
### Windows
|
|
366
|
+
|
|
367
|
+
```powershell
|
|
368
|
+
# Download Python from python.org (ensure "Add to PATH" is checked)
|
|
369
|
+
|
|
370
|
+
# Verify installation
|
|
371
|
+
python --version
|
|
372
|
+
|
|
373
|
+
# Install ATHF
|
|
374
|
+
pip install agentic-threat-hunting-framework
|
|
375
|
+
|
|
376
|
+
# Verify
|
|
377
|
+
athf --version
|
|
378
|
+
```
|
|
379
|
+
|
|
380
|
+
If `athf` is not recognized, add Python Scripts to your PATH:
|
|
381
|
+
- `C:\Users\<YourUser>\AppData\Local\Programs\Python\Python3x\Scripts`
|
|
382
|
+
|
|
383
|
+
---
|
|
384
|
+
|
|
385
|
+
## Verifying Installation
|
|
386
|
+
|
|
387
|
+
After installation, verify everything works:
|
|
388
|
+
|
|
389
|
+
```bash
|
|
390
|
+
# Check version
|
|
391
|
+
athf --version
|
|
392
|
+
|
|
393
|
+
# Get help
|
|
394
|
+
athf --help
|
|
395
|
+
|
|
396
|
+
# List available commands
|
|
397
|
+
athf hunt --help
|
|
398
|
+
|
|
399
|
+
# Initialize a test workspace
|
|
400
|
+
mkdir athf-test
|
|
401
|
+
cd athf-test
|
|
402
|
+
athf init --non-interactive
|
|
403
|
+
|
|
404
|
+
# Create a test hunt
|
|
405
|
+
athf hunt new --technique T1003.001 --title "Test Hunt" --non-interactive
|
|
406
|
+
|
|
407
|
+
# List hunts
|
|
408
|
+
athf hunt list
|
|
409
|
+
|
|
410
|
+
# View statistics
|
|
411
|
+
athf hunt stats
|
|
412
|
+
```
|
|
413
|
+
|
|
414
|
+
If all commands work, you're ready to go!
|
|
415
|
+
|
|
416
|
+
---
|
|
417
|
+
|
|
418
|
+
## Troubleshooting
|
|
419
|
+
|
|
420
|
+
### "athf: command not found"
|
|
421
|
+
|
|
422
|
+
**Cause**: The Python scripts directory is not in your PATH.
|
|
423
|
+
|
|
424
|
+
**Solution**:
|
|
425
|
+
|
|
426
|
+
1. Find where pip installed the package:
|
|
427
|
+
```bash
|
|
428
|
+
pip show agentic-threat-hunting-framework
|
|
429
|
+
```
|
|
430
|
+
|
|
431
|
+
2. The scripts are typically in:
|
|
432
|
+
- **macOS**: `~/Library/Python/3.x/bin`
|
|
433
|
+
- **Linux**: `~/.local/bin`
|
|
434
|
+
- **Windows**: `%APPDATA%\Python\Python3x\Scripts`
|
|
435
|
+
|
|
436
|
+
3. Add to PATH:
|
|
437
|
+
```bash
|
|
438
|
+
# macOS/Linux (add to ~/.zshrc or ~/.bashrc)
|
|
439
|
+
export PATH="$HOME/Library/Python/3.9/bin:$PATH"
|
|
440
|
+
|
|
441
|
+
# Windows (use System Properties > Environment Variables)
|
|
442
|
+
```
|
|
443
|
+
|
|
444
|
+
4. Reload your shell or open a new terminal.
|
|
445
|
+
|
|
446
|
+
### "No module named 'athf'"
|
|
447
|
+
|
|
448
|
+
**Cause**: Package not installed or wrong Python environment.
|
|
449
|
+
|
|
450
|
+
**Solution**:
|
|
451
|
+
|
|
452
|
+
```bash
|
|
453
|
+
# Check if installed
|
|
454
|
+
pip list | grep athf
|
|
455
|
+
|
|
456
|
+
# If not listed, install it
|
|
457
|
+
pip install agentic-threat-hunting-framework
|
|
458
|
+
|
|
459
|
+
# Check which Python pip is using
|
|
460
|
+
pip --version
|
|
461
|
+
|
|
462
|
+
# Make sure it matches your Python
|
|
463
|
+
python --version
|
|
464
|
+
```
|
|
465
|
+
|
|
466
|
+
### "ERROR: Could not find a version that satisfies the requirement"
|
|
467
|
+
|
|
468
|
+
**Cause**: Python version too old (< 3.8).
|
|
469
|
+
|
|
470
|
+
**Solution**:
|
|
471
|
+
|
|
472
|
+
```bash
|
|
473
|
+
# Check Python version
|
|
474
|
+
python --version
|
|
475
|
+
|
|
476
|
+
# Upgrade Python to 3.8 or higher
|
|
477
|
+
# - macOS: brew install python3
|
|
478
|
+
# - Linux: sudo apt install python3.11
|
|
479
|
+
# - Windows: Download from python.org
|
|
480
|
+
```
|
|
481
|
+
|
|
482
|
+
### "Permission denied" errors
|
|
483
|
+
|
|
484
|
+
**Cause**: Installing globally without sudo (Linux/macOS).
|
|
485
|
+
|
|
486
|
+
**Solution** (choose one):
|
|
487
|
+
|
|
488
|
+
```bash
|
|
489
|
+
# Option 1: Install for current user only (recommended)
|
|
490
|
+
pip install --user agentic-threat-hunting-framework
|
|
491
|
+
|
|
492
|
+
# Option 2: Use a virtual environment (best practice)
|
|
493
|
+
python3 -m venv athf-env
|
|
494
|
+
source athf-env/bin/activate
|
|
495
|
+
pip install agentic-threat-hunting-framework
|
|
496
|
+
|
|
497
|
+
# Option 3: Install globally (not recommended)
|
|
498
|
+
sudo pip install agentic-threat-hunting-framework
|
|
499
|
+
```
|
|
500
|
+
|
|
501
|
+
### Import errors with dependencies
|
|
502
|
+
|
|
503
|
+
**Cause**: Dependency version conflicts.
|
|
504
|
+
|
|
505
|
+
**Solution**:
|
|
506
|
+
|
|
507
|
+
```bash
|
|
508
|
+
# Use a fresh virtual environment
|
|
509
|
+
python3 -m venv fresh-env
|
|
510
|
+
source fresh-env/bin/activate
|
|
511
|
+
|
|
512
|
+
# Install ATHF in the clean environment
|
|
513
|
+
pip install agentic-threat-hunting-framework
|
|
514
|
+
|
|
515
|
+
# Verify dependencies
|
|
516
|
+
pip list
|
|
517
|
+
```
|
|
518
|
+
|
|
519
|
+
### Windows: "python is not recognized"
|
|
520
|
+
|
|
521
|
+
**Cause**: Python not installed or not in PATH.
|
|
522
|
+
|
|
523
|
+
**Solution**:
|
|
524
|
+
|
|
525
|
+
1. Download Python from [python.org](https://www.python.org/downloads/)
|
|
526
|
+
2. During installation, **check "Add Python to PATH"**
|
|
527
|
+
3. Restart your terminal
|
|
528
|
+
4. Verify: `python --version`
|
|
529
|
+
|
|
530
|
+
---
|
|
531
|
+
|
|
532
|
+
## Upgrading ATHF
|
|
533
|
+
|
|
534
|
+
To upgrade to the latest version:
|
|
535
|
+
|
|
536
|
+
```bash
|
|
537
|
+
# Upgrade from PyPI
|
|
538
|
+
pip install --upgrade agentic-threat-hunting-framework
|
|
539
|
+
|
|
540
|
+
# Or from source
|
|
541
|
+
cd agentic-threat-hunting-framework
|
|
542
|
+
git pull
|
|
543
|
+
pip install --upgrade .
|
|
544
|
+
|
|
545
|
+
# Verify new version
|
|
546
|
+
athf --version
|
|
547
|
+
```
|
|
548
|
+
|
|
549
|
+
---
|
|
550
|
+
|
|
551
|
+
## Uninstalling ATHF
|
|
552
|
+
|
|
553
|
+
To remove ATHF:
|
|
554
|
+
|
|
555
|
+
```bash
|
|
556
|
+
# Uninstall the package
|
|
557
|
+
pip uninstall agentic-threat-hunting-framework
|
|
558
|
+
|
|
559
|
+
# Remove your workspace (optional - this deletes your hunts!)
|
|
560
|
+
# rm -rf /path/to/your/athf-workspace
|
|
561
|
+
```
|
|
562
|
+
|
|
563
|
+
Your hunt files are separate from the package installation, so uninstalling ATHF won't delete your hunts.
|
|
564
|
+
|
|
565
|
+
---
|
|
566
|
+
|
|
567
|
+
## Next Steps
|
|
568
|
+
|
|
569
|
+
After installation:
|
|
570
|
+
|
|
571
|
+
1. **Initialize your workspace**: `athf init`
|
|
572
|
+
2. **Read the getting started guide**: [getting-started.md](getting-started.md)
|
|
573
|
+
3. **Review the CLI reference**: [CLI_REFERENCE.md](CLI_REFERENCE.md)
|
|
574
|
+
4. **Create your first hunt**: `athf hunt new`
|
|
575
|
+
5. **Explore example hunts**: [../hunts/H-0001.md](../hunts/H-0001.md)
|
|
576
|
+
|
|
577
|
+
---
|
|
578
|
+
|
|
579
|
+
## Getting Help
|
|
580
|
+
|
|
581
|
+
- **CLI help**: `athf --help` or `athf <command> --help`
|
|
582
|
+
- **Documentation**: [getting-started.md](getting-started.md)
|
|
583
|
+
- **Issues**: [GitHub Issues](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/issues)
|
|
584
|
+
- **Discussions**: [GitHub Discussions](https://github.com/Nebulock-Inc/agentic-threat-hunting-framework/discussions)
|
|
585
|
+
|
|
586
|
+
---
|
|
587
|
+
|
|
588
|
+
## System Requirements
|
|
589
|
+
|
|
590
|
+
- **Python**: 3.8 or higher
|
|
591
|
+
- **OS**: macOS, Linux, or Windows
|
|
592
|
+
- **Disk Space**: ~5 MB for package, more for your hunt data
|
|
593
|
+
- **Memory**: Minimal (< 50 MB)
|
|
594
|
+
- **Dependencies**: 4 packages (click, pyyaml, rich, jinja2)
|
athf/data/docs/README.md
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
# ATHF Documentation
|
|
2
|
+
|
|
3
|
+
Complete documentation for the Agentic Threat Hunting Framework.
|
|
4
|
+
|
|
5
|
+
## Getting Started
|
|
6
|
+
|
|
7
|
+
- **[Getting Started Guide](getting-started.md)** - Step-by-step setup and onboarding
|
|
8
|
+
- **[Installation](INSTALL.md)** - Detailed installation instructions
|
|
9
|
+
- **[Why ATHF?](why-athf.md)** - The problem and solution
|
|
10
|
+
|
|
11
|
+
## Core Concepts
|
|
12
|
+
|
|
13
|
+
- **[The LOCK Pattern](lock-pattern.md)** - Learn → Observe → Check → Keep
|
|
14
|
+
- **[Maturity Model](maturity-model.md)** - The five levels of agentic hunting
|
|
15
|
+
- **[Environment Setup](environment.md)** - Tech stack and data sources
|
|
16
|
+
|
|
17
|
+
## Advanced Topics
|
|
18
|
+
|
|
19
|
+
- **[Level 4: Agentic Workflows](level4-agentic-workflows.md)** - Autonomous agent capabilities
|
|
20
|
+
|
|
21
|
+
## Reference
|
|
22
|
+
|
|
23
|
+
- **[CLI Reference](CLI_REFERENCE.md)** - Complete command-line interface documentation
|
|
24
|
+
- **[Changelog](CHANGELOG.md)** - Version history and updates
|
|
25
|
+
|
|
26
|
+
## Quick Links
|
|
27
|
+
|
|
28
|
+
- [Main README](../../../README.md)
|
|
29
|
+
- [AGENTS.md](../../../AGENTS.md) - AI assistant context
|
|
30
|
+
- [Example Hunts](../../../SHOWCASE.md)
|
|
31
|
+
- [Using ATHF](../../../USING_ATHF.md) - Adoption guide
|