White Hat Agent Core
A model-neutral cyber capability brain for AI agents and human researchers, providing MCP tools for knowledge ingestion, composition, campaign planning, fleet management, evidence binding, and discovery replay.
README
<div align="center">
White Hat Agent Core
A model-neutral cyber capability brain for AI agents and human researchers.
Turn community knowledge, exact program scope, adapter capabilities, evidence, and agent fleets into one composable
application layer—available through MCP, JSON Schema, Python, or the wha CLI.
</div>
Install or update in one command
macOS, Linux, and WSL
curl -LsSf https://raw.githubusercontent.com/kappa9999/white-hat-agent/main/install.sh | sh
Windows PowerShell
irm https://raw.githubusercontent.com/kappa9999/white-hat-agent/main/install.ps1 | iex
Run the same command again whenever you want to update. The installer is idempotent: it finds or installs
uv, provisions an isolated Python 3.12 runtime, refreshes White Hat Agent from GitHub,
and places wha on the user tool path. It does not require administrator privileges or modify an existing project.
Prefer to inspect remote scripts before running them? Read install.sh or install.ps1, then follow the audited and source-install options in the installation guide.
Start in 60 seconds
wha init white-hat-workspace
cd white-hat-workspace
wha doctor
wha corpus search "http differential"
wha adapter list reverse
wha adapter status ghidra
wha init creates an ordinary, portable workspace containing the starter corpus, capability and adapter catalogs,
configuration, and local state. Re-running it is safe and never overwrites existing public catalog files.
Connect the installed CLI to any stdio MCP client:
{
"mcpServers": {
"white-hat-agent": {
"command": "wha",
"args": [
"serve",
"--workspace",
"/absolute/path/to/white-hat-workspace",
"--transport",
"stdio"
]
}
}
}
See MCP integration for Streamable HTTP, PATH troubleshooting, and client-neutral configuration.
Give an agent the tools it needs
White Hat Agent maps concrete tools and knowledge sources to the existing provider-neutral capability vocabulary. It prefers healthy tools already on the host and never installs as a side effect of search, planning, or fleet work.
# Prefer already healthy providers, then minimize the provider set.
wha adapter resolve --kind tool \
--capability artifact.inspect --capability code.search --capability graph.reason
# Inspect the exact official release and SHA-256 without changing the host.
wha adapter plan ghidra --out ghidra-plan.json
# Explicit one-command install/update into this workspace when needed.
wha adapter install ghidra --yes
# Add and query exact, revision-bound machine-readable knowledge on demand.
wha adapter install mitre-attack --yes
wha adapter search mitre-attack T1059.001
The initial nonredundant tool set covers Ghidra, Frida, LLVM, YARA-X, TShark, capa, and JADX. Knowledge adapters cover MITRE ATT&CK STIX and capa rules; existing CVE List V5, CISA KEV, OSV, and EPSS ingestion remains in the intelligence layer. See tools and knowledge adapters.
Start the production public-intelligence loop with bounded official sources:
wha intelligence sync \
--source cisa-kev --source osv \
--since-hours 48 --limit-per-source 1000 --enrich-epss --require-success
wha intelligence sync \
--source cve-list-v5 \
--since-hours 6 --limit-per-source 5000 --require-success
wha intelligence brief --source osv --source cve-list-v5 --limit 25
Every selected upstream record is backed by an immutable raw snapshot and transparent priority factors. Intelligence collection does not interact with affected targets; it produces evidence-backed leads for local or explicitly scoped investigation. See the production loop.
How it works
The diagram focuses on the campaign and discovery execution path; public intelligence feeds opportunity selection before the scope gate.
| Layer | What it contributes |
|---|---|
| Knowledge | Lossless multilingual intake, provenance, strict playbooks, review state, and versioned validation |
| Composition | Deterministic chaining through semantic artifacts, capabilities, compatibility, and explicit blockers |
| Adapters | Observed tool identity, deterministic selection, digest-bound provisioning, and revision-bound knowledge |
| Intelligence | Bounded official-source ingestion, immutable snapshots, transparent priority, and exact-artifact applicability |
| Campaigns | Exact scope snapshots, target identity, budgets, typed probe intent, and playbook contracts |
| Fleet | Compatible-agent matching, atomic task deduplication, expiring leases, and bounded retries |
| Evidence | SHA-256 content addressing, provenance, finding revisions, and causal/differential verification |
| Discovery | Diverse hypotheses, progress-sensitive replanning, negative-result memory, and reusable learning |
Models, tools, and adapter providers remain replaceable. Exact target identity, scope, evidence provenance, and replayable state remain durable.
Contribute knowledge without learning a schema
Write the method in your own language and let the intake boundary preserve it:
wha knowledge ingest \
--file my-technique.md \
--language es \
--rights original-contribution \
--playbook-yaml draft-playbook.yaml
The compiler keeps the exact source, segments likely steps, and lists unresolved questions. A generated file is a draft, not a claim that the method has been validated. Contributors can submit plain-language knowledge through the Knowledge contribution issue form without knowing Python, MCP, AI prompting, or the playbook schema.
See CONTRIBUTING.md, knowledge intake, and playbook authoring.
Compose and plan
The repository includes reproducible examples for composition, scope evaluation, campaign planning, fleet leasing, evidence binding, and discovery replay:
git clone https://github.com/kappa9999/white-hat-agent.git
cd white-hat-agent
uv sync --locked --extra dev
uv run wha playbook compose \
--workspace . \
--request examples/composition/web-to-verified.yaml
uv run wha campaign plan \
--workspace . \
--request examples/campaigns/planning-request.yaml
An incomplete or out-of-scope plan returns machine-readable blockers. It is never silently made executable. The
bundled fixtures use reserved .test targets and perform no network operation.
Interfaces
- CLI: nested
whacommands for workspace, intelligence, corpus, capabilities, adapters, scope, campaign, fleet, evidence, and discovery - MCP: bounded, namespaced tools plus resources and prompts over stdio or stateless Streamable HTTP
- Python: typed models and deterministic planning/composition primitives
- JSON Schema: generated public contracts for every durable interchange object
Start a local Streamable HTTP server when a client needs it:
wha serve --workspace /absolute/path/to/white-hat-workspace --transport http --host 127.0.0.1 --port 8000
# endpoint: http://127.0.0.1:8000/mcp
Project status
Alpha: the knowledge compiler, composition engine, public vulnerability-intelligence monitor, scope evaluator, opportunity ranking, concrete adapter registry/provisioning, SQLite fleet, evidence store, adaptive discovery kernel, MCP server, schemas, and deterministic fixtures are implemented. Network access is limited to fixed public intelligence sources and explicit official adapter upstreams. The repository does not ship a general target scanner; live target capability belongs in explicit adapters with exact campaign scope, not hidden inside the planner.
Corpus trust is earned per version:
draft → proposed → reviewed → validated → deprecated
Original text, technical validity, authorship, rights, target authorization, execution side effects, and disclosure status are separate facts. Untrusted submissions are data, never executable instructions.
Development
uv sync --locked --extra dev
uv run ruff format --check .
uv run ruff check .
uv run pytest
uv run wha corpus validate --workspace .
uv run wha capability validate --workspace .
uv run python scripts/check_builtin_assets.py
uv run python scripts/export_schemas.py
uv build
Project links
- Architecture
- Installation and updates
- MCP integration
- Tools and knowledge adapters
- Production intelligence and research loop
- Release provenance and recovery
- Changelog
- Roadmap
- Threat model
- Governance
- Security reporting
- Contributing
- Maintainers
Licensed under Apache-2.0.
推荐服务器
Baidu Map
百度地图核心API现已全面兼容MCP协议,是国内首家兼容MCP协议的地图服务商。
Playwright MCP Server
一个模型上下文协议服务器,它使大型语言模型能够通过结构化的可访问性快照与网页进行交互,而无需视觉模型或屏幕截图。
Magic Component Platform (MCP)
一个由人工智能驱动的工具,可以从自然语言描述生成现代化的用户界面组件,并与流行的集成开发环境(IDE)集成,从而简化用户界面开发流程。
Audiense Insights MCP Server
通过模型上下文协议启用与 Audiense Insights 账户的交互,从而促进营销洞察和受众数据的提取和分析,包括人口统计信息、行为和影响者互动。
VeyraX
一个单一的 MCP 工具,连接你所有喜爱的工具:Gmail、日历以及其他 40 多个工具。
graphlit-mcp-server
模型上下文协议 (MCP) 服务器实现了 MCP 客户端与 Graphlit 服务之间的集成。 除了网络爬取之外,还可以将任何内容(从 Slack 到 Gmail 再到播客订阅源)导入到 Graphlit 项目中,然后从 MCP 客户端检索相关内容。
Kagi MCP Server
一个 MCP 服务器,集成了 Kagi 搜索功能和 Claude AI,使 Claude 能够在回答需要最新信息的问题时执行实时网络搜索。
e2b-mcp-server
使用 MCP 通过 e2b 运行代码。
Neon MCP Server
用于与 Neon 管理 API 和数据库交互的 MCP 服务器
Exa MCP Server
模型上下文协议(MCP)服务器允许像 Claude 这样的 AI 助手使用 Exa AI 搜索 API 进行网络搜索。这种设置允许 AI 模型以安全和受控的方式获取实时的网络信息。
