jamwal69/AKAGAMI
GitHub: jamwal69/AKAGAMI
一款具备范围限制和操作安全意识的漏洞赏金侦查指挥台,提供多智能体编排、情报存储、端点清单和报告生成等功能。
Stars: 1 | Forks: 0
# AKAGAMI
-f json
akagami endpoints -m -f json
```
在禁用终端颜色样式(使用 Rich 输出的地方)时,Akagami 还会遵循 `NO_COLOR` 设置。
## CLI 命令
```
akagami recon -t [-C ] [--passive-only|--active] [--opsec-mode] [--dry-run] [--mode standard|bug-bounty] [-c config/mission.yaml]
```
启动任务,创建或更新工作区,加载任务配置,并运行编排器。主动扫描需要在任务配置中设置 `--active` 和 `permissions.active_scanning: true`。
```
akagami recon -t -C --active --dry-run
```
在不运行任务的情况下构建安全计划。模拟运行会验证本地的任务/范围配置,构建任务图,显示计划任务、智能体、请求工具、主动/被动风险以及范围决策。它不执行外部工具、不调用 LLM API、不创建任务数据库记录、不写入行动/发现日志,也不生成报告。
```
akagami workspaces
```
列出 `workspace/` 下的已知公司工作区。
```
akagami intel -m [-C ] [-f table|json]
```
从任务数据库读取存储的情报并打印表格或 JSON。
```
akagami endpoints -m [-C ] [-l 20] [-f table|json]
```
显示排序后的 HTTP/API 清单记录,以供手动审查。
```
akagami resume -m [-C ]
```
从情景记忆中打印保存的任务上下文。它不会自动继续执行。
```
akagami gate -m [-t ] [-C ]
```
评估存储的侦查数据是否足够广泛以通过阶段门控。当任务记录存在时,门控结果将被持久化以用于批准工作流。
```
akagami approval-status -m -C
```
显示阶段门控是否通过,操作员是否已批准漏洞利用规划,以及该任务的漏洞利用规划是否已获批准。
```
akagami approve -m -C
```
在公司工作区数据库中将该任务的 `operator_approved` 记录为 `true`。此命令本身不执行漏洞利用规划,也不会解锁/运行智能体。
```
akagami report -m [-t ] [-n ] [-C ] [-o output/report.md]
```
根据存储的情报生成 Markdown 报告。此手动命令使用打包的 Jinja2 模板和启发式回退文本,因为它不初始化 LLM 路由器。
```
akagami tools check [--config config/tools.yaml]
```
显示源码检出目录 `config/tools.yaml` 中的每个配置工具(或安装时打包的回退配置),包括其二进制名称、必需/可选标记、安装状态、发现路径、类别、风险元数据和兼容性状态。它使用 PATH 查找,并可能对关键工具运行有限的安全版本探测。它不运行扫描或联系目标。
```
akagami tools doctor [--config config/tools.yaml] [--workspace-root workspace]
```
对 Python 版本、包导入、配置的二进制文件及有限版本探测、Playwright Chromium 可用性、环境变量存在性(不打印值)、工作区可写性以及打包资源运行本地健康检查。它不运行扫描、联系目标或需要 API 密钥。
```
akagami db seed-cves --nvd-feed [--persist-dir output/chromadb]
akagami db stats [--persist-dir output/chromadb]
```
初始化或检查本地的 ChromaDB CVE 存储。
```
akagami watcher
```
启动实验性监控循环。当前行为会监视本地的 `new_targets.txt`,消耗其内容,并针对新目标启动漏洞赏金模式的任务。
## 任务配置
默认的源码检出配置位于 `config/mission.yaml`。安装的包也会携带默认执行器所需的运行时工具定义。
```
mission:
target: example.com
mission_name: "Authorized External Recon"
company_name: "Example"
scope:
in_scope:
- example.com
- "*.example.com"
out_of_scope:
- "10.0.0.0/8"
permissions:
active_scanning: true
opsec:
enabled: true
```
安全的合成示例可在 `config/example_mission.yaml`、`config/example_bug_bounty.yaml` 和 `docs/example_scenario.md` 中找到。仅将针对特定目标的配置用于私人/本地测试。请勿发布真实的项目范围、客户名称、标头、token 或任务制品。
## 工作区布局
运行任务会创建以下树形结构:
```
workspace/
└── /
├── scope/
│ ├── in_scope.txt
│ ├── out_of_scope.txt
│ └── subdomains.txt
├── output/
│ ├── reports/
│ ├── nmap/
│ ├── nuclei/
│ ├── httpx/
│ ├── ffuf/
│ ├── amass/
│ ├── osint/
│ └── misc/
├── loot/
├── data/
│ ├── missions.db
│ └── chromadb/
└── notes/
└── engagement_log.md
```
当前代码中没有默认的 `katana/` 或 `gau/` 工作区输出目录。
## 现实漏洞赏金中的实用性
Akagami 最适合作为侦查和证据组织的助手。当拥有合适的工具和输入时,它可以帮助映射域名、服务、HTTP 元数据、端点清单、扫描器发现、CVE 候选项、明显暴露的路径以及已验证的机密发现。
如果没有人工构建并验证测试用例,它不太可能可靠地发现复杂的业务逻辑漏洞、授权绕过、链式提权、支付缺陷、竞争条件、深层的 IDOR、细微的 GraphQL/API 滥用或特定于客户端的工作流漏洞。
对于真实的 HackerOne 目标,请将输出视为线索。请自行验证范围、手动复现、消除误报并撰写最终报告。
## 安全模型
- 被动模式是更安全的默认设置。
- 主动扫描需要同时具备 `--active` CLI 标志和任务配置权限。
- 模拟运行模式仅用于规划:它使用本地确定性规划和工具元数据,然后在子进程、MCP/API 调用、LLM 调用、任务数据库写入、运行时行动日志、情报存储和报告生成之前停止。
- ToolBus 在执行前强制执行范围检查。
- 范围外的条目优先于范围内的条目。
- Opsec 模式在支持的条件下应用时间/速率/user-agent 控制。
- 浏览器智能体捕获的原始身份验证信息保存在敏感的工作内存中;存储的会话上下文经过脱敏处理。
- 漏洞利用规划仅用于规划,不应将其视为运行漏洞利用命令的授权。
- 标准模式要求在漏洞利用规划解锁检查通过之前,阶段门控必须通过且操作员已批准。`akagami approve` 仅记录批准;它不执行漏洞利用规划。
## 项目
```
reconforge/
├── agents/ # OSINT, active recon, vuln, browser, JS, AI, exploit planner agents
├── assets/ # Packaged brand assets
├── config/ # Packaged runtime tool definitions
├── intel/ # Pydantic models, SQLite store, endpoint inventory helpers
├── llm/ # Provider router and provider clients
├── memory/ # Working, episodic, semantic, and summarization memory
├── orchestrator/ # Master orchestrator, task graph, event bus, stage gate
├── parsers/ # Deterministic parsers for supported tool outputs
├── report/ # Markdown report generator and packaged Jinja2 template
├── skills/ # Critic, CVE enricher, parser tombstone, severity scorer
├── tools/ # ToolBus, executor, scope checks, MCP/API bridge
├── ui/ # Rich terminal UI helpers
├── utils/ # Logging, sanitizer, opsec helpers
├── cli.py # Click CLI entry point
├── diagnostics.py # Local runtime and tool diagnostics
├── watcher.py # Experimental local-file watcher
└── workspace.py # Per-company workspace creation helpers
```
## 测试与构建
```
python -m pytest tests/ -q
python -m compileall reconforge tests
python -m build --no-isolation --outdir /tmp/reconforge-build
git diff --check
```
当前的发布强化检查点:预计有 436 个测试。
## 公开发发布规范
在发布之前,请验证私有的/本地制品(如 `.env`、`venv/`、`.pytest_cache/`、`akagami.egg-info/`、`output/`、`workspace/`、真实目标配置和真实场景日志)未被跟踪。公开示例应保持合成性质,并仅使用保留的域名/IP 范围。
## 法律声明
仅对您拥有或获得明确授权测试的系统使用 Akagami。在每次执行任务前,特别是启用主动扫描、授权测试、监控触发的任务或漏洞利用规划之前,请务必确认项目范围。
具备范围限制和操作安全意识的漏洞赏金侦查指挥台。
标签:GitHub, Python, 多智能体, 实时处理, 密码管理, 无后门, 特征检测, 自动化报告, 运行时操纵, 逆向工具