agentic-threat-hunting-framework 0.3.0__py3-none-any.whl → 0.4.0__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.3.0.dist-info → agentic_threat_hunting_framework-0.4.0.dist-info}/METADATA +4 -1
- {agentic_threat_hunting_framework-0.3.0.dist-info → agentic_threat_hunting_framework-0.4.0.dist-info}/RECORD +26 -19
- athf/__version__.py +1 -1
- athf/agents/__init__.py +14 -0
- athf/agents/base.py +141 -0
- athf/agents/llm/__init__.py +27 -0
- athf/agents/llm/hunt_researcher.py +762 -0
- athf/agents/llm/hypothesis_generator.py +238 -0
- athf/cli.py +17 -10
- athf/commands/__init__.py +19 -3
- athf/commands/agent.py +43 -1
- athf/commands/hunt.py +63 -12
- athf/commands/similar.py +2 -2
- athf/commands/splunk.py +323 -0
- athf/core/splunk_client.py +360 -0
- athf/core/template_engine.py +7 -1
- athf/core/web_search.py +1 -1
- athf/data/docs/CHANGELOG.md +52 -0
- athf/data/docs/CLI_REFERENCE.md +518 -12
- athf/data/docs/getting-started.md +47 -3
- athf/data/docs/level4-agentic-workflows.md +9 -1
- athf/data/docs/maturity-model.md +56 -14
- {agentic_threat_hunting_framework-0.3.0.dist-info → agentic_threat_hunting_framework-0.4.0.dist-info}/WHEEL +0 -0
- {agentic_threat_hunting_framework-0.3.0.dist-info → agentic_threat_hunting_framework-0.4.0.dist-info}/entry_points.txt +0 -0
- {agentic_threat_hunting_framework-0.3.0.dist-info → agentic_threat_hunting_framework-0.4.0.dist-info}/licenses/LICENSE +0 -0
- {agentic_threat_hunting_framework-0.3.0.dist-info → agentic_threat_hunting_framework-0.4.0.dist-info}/top_level.txt +0 -0
athf/core/template_engine.py
CHANGED
|
@@ -16,7 +16,8 @@ tactics: {{ tactics }}
|
|
|
16
16
|
techniques: {{ techniques }}
|
|
17
17
|
data_sources: {{ data_sources }}
|
|
18
18
|
related_hunts: []
|
|
19
|
-
|
|
19
|
+
{% if spawned_from %}spawned_from: {{ spawned_from }}
|
|
20
|
+
{% endif %}findings_count: 0
|
|
20
21
|
true_positives: 0
|
|
21
22
|
false_positives: 0
|
|
22
23
|
customer_deliverables: []
|
|
@@ -57,6 +58,8 @@ tags: {{ tags }}
|
|
|
57
58
|
|
|
58
59
|
- **MITRE ATT&CK Techniques:** {{ ', '.join(techniques) if techniques else '[List relevant techniques]' }}
|
|
59
60
|
- **CTI Sources & References:** [Links to reports, blogs, etc.]
|
|
61
|
+
{% if spawned_from %}- **Research Document:** See [{{ spawned_from }}](../research/{{ spawned_from }}.md) for detailed pre-hunt research
|
|
62
|
+
{% endif %}
|
|
60
63
|
|
|
61
64
|
### Related Tickets
|
|
62
65
|
|
|
@@ -172,6 +175,7 @@ def render_hunt_template(
|
|
|
172
175
|
behavior: Optional[str] = None,
|
|
173
176
|
location: Optional[str] = None,
|
|
174
177
|
evidence: Optional[str] = None,
|
|
178
|
+
spawned_from: Optional[str] = None,
|
|
175
179
|
) -> str:
|
|
176
180
|
"""Render a hunt template with provided metadata.
|
|
177
181
|
|
|
@@ -189,6 +193,7 @@ def render_hunt_template(
|
|
|
189
193
|
behavior: Behavior description (for ABLE)
|
|
190
194
|
location: Location/scope (for ABLE)
|
|
191
195
|
evidence: Evidence description (for ABLE)
|
|
196
|
+
spawned_from: Research document ID (e.g., R-0001) that this hunt is based on
|
|
192
197
|
|
|
193
198
|
Returns:
|
|
194
199
|
Rendered hunt markdown content
|
|
@@ -221,4 +226,5 @@ def render_hunt_template(
|
|
|
221
226
|
behavior=behavior,
|
|
222
227
|
location=location,
|
|
223
228
|
evidence=evidence,
|
|
229
|
+
spawned_from=spawned_from,
|
|
224
230
|
)
|
athf/core/web_search.py
CHANGED
|
@@ -84,7 +84,7 @@ class TavilySearchClient:
|
|
|
84
84
|
"""Get or create Tavily client instance."""
|
|
85
85
|
if self._client is None:
|
|
86
86
|
try:
|
|
87
|
-
from tavily import TavilyClient
|
|
87
|
+
from tavily import TavilyClient # type: ignore[import-not-found]
|
|
88
88
|
|
|
89
89
|
self._client = TavilyClient(api_key=self.api_key)
|
|
90
90
|
except ImportError:
|
athf/data/docs/CHANGELOG.md
CHANGED
|
@@ -25,6 +25,58 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|
|
25
25
|
### Security
|
|
26
26
|
- None
|
|
27
27
|
|
|
28
|
+
## [0.4.0] - 2026-01-14
|
|
29
|
+
|
|
30
|
+
### Added
|
|
31
|
+
- **Splunk Integration** - Native Splunk data source support
|
|
32
|
+
- `athf commands/splunk.py` - Splunk CLI command for query execution
|
|
33
|
+
- `athf/core/splunk_client.py` - Splunk REST API client
|
|
34
|
+
- Optional dependencies in pyproject.toml: `splunk = ["requests>=2.25.0"]`
|
|
35
|
+
- Integration quickstart guide at `integrations/quickstart/splunk.md`
|
|
36
|
+
- **Documentation Expansion** - Comprehensive CLI reference and user guides
|
|
37
|
+
- CLI_REFERENCE.md expanded by +530 lines with complete command documentation
|
|
38
|
+
- Enhanced getting-started.md with improved onboarding workflow
|
|
39
|
+
- Improved level4-agentic-workflows.md with agent orchestration patterns
|
|
40
|
+
- Enhanced maturity-model.md with +70 lines of maturity progression guidance
|
|
41
|
+
- **Workspace Structure** - Standard directory initialization
|
|
42
|
+
- docs/, hunts/, integrations/, knowledge/, prompts/, templates/ directories
|
|
43
|
+
- environment.md template for documenting data sources and tech stack
|
|
44
|
+
|
|
45
|
+
### Changed
|
|
46
|
+
- **AGENTS.md** - Updated AI assistant instructions with Splunk integration context
|
|
47
|
+
- **CLI Enhancements** - Improved command structure and error handling
|
|
48
|
+
- **Template Engine** - Enhanced template rendering capabilities
|
|
49
|
+
- **Web Search** - Updated Tavily integration for research workflows
|
|
50
|
+
|
|
51
|
+
### Removed
|
|
52
|
+
- **Testing Infrastructure** - Removed testing/ directory (8 files)
|
|
53
|
+
- Consolidated testing approach for cleaner repository structure
|
|
54
|
+
- Files removed: AGENTS.md, PRESENTATION_OUTLINE.md, README.md, TEST-SUMMARY.md, TESTING.md
|
|
55
|
+
- Scripts removed: test-fresh-install.sh, test-local.sh, test-quick.sh
|
|
56
|
+
|
|
57
|
+
## [0.3.1] - 2026-01-13
|
|
58
|
+
|
|
59
|
+
### Fixed
|
|
60
|
+
- **Packaging Bug** - Fixed `ModuleNotFoundError: No module named 'athf.agents'` when installing via pip/pipx
|
|
61
|
+
- Added missing packages to `pyproject.toml`: `athf.agents`, `athf.agents.llm`
|
|
62
|
+
- Packages list now includes all subdirectories: athf, athf.agents, athf.agents.llm, athf.commands, athf.core, athf.data, athf.utils
|
|
63
|
+
- Verified wheel build includes all agent module files
|
|
64
|
+
|
|
65
|
+
## [0.3.0] - 2026-01-11
|
|
66
|
+
|
|
67
|
+
### Added
|
|
68
|
+
- **Agent Framework** - Autonomous agents for threat hunting workflows
|
|
69
|
+
- `athf.agents` - Base agent framework and orchestration
|
|
70
|
+
- `athf.agents.llm` - LLM-powered agents (hypothesis generation, research, finding analysis)
|
|
71
|
+
- Agent orchestration with task delegation and result aggregation
|
|
72
|
+
- **Research Workflow** - Pre-hunt research and investigation (`athf research`)
|
|
73
|
+
- **Drift Detection** - Behavioral anomaly detection infrastructure (`athf drift`)
|
|
74
|
+
- **Signal Investigation** - Low-fidelity pattern scoring and investigation (`athf signals`)
|
|
75
|
+
|
|
76
|
+
### Changed
|
|
77
|
+
- CLI refactored to support agent-based workflows
|
|
78
|
+
- Enhanced hunt creation with agent-generated hypotheses
|
|
79
|
+
|
|
28
80
|
## [0.2.2] - 2024-12-17
|
|
29
81
|
|
|
30
82
|
### Fixed
|