灭虫剂(bug-killer / bk)
自主漏洞发现和自我修复引擎深层和幽灵的bug
“让你的人工智能发现深层和幽灵的bug,漏洞,安全问题,并从中治愈-测试和验证。”
Bug Killer是一个离线优先的多语言防御安全系统,用于发现难以捉摸的运行时内存损坏,通过静态二进制反汇编和内核内存映射验证可达性,执行原子自修复,并保证逐位回滚。
初步基准目标:
- PHP2Shell (
CVE-2026-109618&CVE-2026-109619): 引擎分配器longjmpOOM堆损坏和持久工作器Use-After-Free。 - Node2Shell (
CVE-2026-111497): 捆绑谷歌Brotli解码器越界内存写入node:zlib.
快速安装
选择适合您环境的安装方法:
方法一:通用1行安装程序(macOS & Linux)
curl -fsSL https://raw.githubusercontent.com/imMamdouhaboammar/bug-killer/master/scripts/install.sh | bash
安装 bk 和 bug-killer 成 ~/.local/bin,为Bash/Zsh/Fish生成shell自动完成,并运行系统健康诊断。
方法2:全局NPM /包
# Using Bun (recommended)
bun add -g bug-killer-cli
# Or using NPM / NPX
npm install -g bug-killer-cli
# Or execute instantly without permanent installation
npx bug-killer-cli init
方法3:Cargo (Rust Toolchain)
# Install directly from GitHub
cargo install --git https://github.com/imMamdouhaboammar/bug-killer.git --bin bk --bin bug-killer
# Or from a local clone
cargo install --path .
方法四:Makefile / System Install
make build
sudo make install
两个 bk (简明的每日命令行)和 bug-killer (规范二进制文件)在您的 PATH.
任何项目的快速入门
在任意存储库(Python, Node/TS, Go, Rust, PHP, C/ c++, Docker)中运行三个命令:
# 1. Onboard project (detects stack, sets baseline, installs pre-commit hook)
bk init
# 2. Run a fast security scan (<50ms, ideal for pre-commit & CI)
bk security scan . --profile quick
# 3. Configure Model Context Protocol (MCP) for Cursor, Claude Code, or Gemini CLI
bk mcp config --host cursor
运行一个机器可读的扫描报告。
bk security scan . --profile quick --json
初始化(bk init)写入项目安全配置(.bugkiller/config.json),运行基线扫描,保护身份密钥 .gitignore,并默认安装一个非破坏性的Git预提交钩子。 先运行只读扫描(bk security scan . --profile quick),如果您只想检查项目而不想配置它。
🤖可复制的代理提示符(用于光标,Claude Code, Gemini CLI, Copilot)
将此指令直接复制并粘贴到你的AI编码助手(Cursor chat, Claude Code, Gemini CLI, Windsurf或Antigravity)中,让它自动安装,配置和审计你的项目:
You are paired with me on this repository. We are adopting **Bug Killer (`bk`)** as our defensive security analysis, vulnerability detection, and virtual healing framework.
Execute the following setup and audit sequence autonomously:
1. **Verify or Install Bug Killer:**
Check if `bk` is installed (`command -v bk`). If not found, install via:
```bash
curl -fsSL https://raw.githubusercontent.com/imMamdouhaboammar/bug-killer/master/scripts/install.sh | bash
# Or via npm/bun: bun add -g bug-killer-cli
```
2. **Run System & Environment Diagnostics:**
```bash
bk doctor .
```
3. **Initialize Repository Baseline & Pre-Commit Security Gate:**
```bash
bk init .
```
*This detects our tech stack, creates `.bugkiller/config.json`, computes a clean baseline snapshot, safeguards keys in `.gitignore`, and installs the staged Git pre-commit hook.*
4. **Audit for Vulnerabilities & Taint Exposures:**
```bash
bk security scan . --profile project
bk scan . --taint --osv
```
5. **Examine Findings & Plan Safe Remediation:**
- If vulnerabilities or exposures are detected:
- Run `bk evidence <finding-id> .` to inspect verified AST/taint traces and cryptographic receipts.
- Run `bk plan <finding-id> .` to generate a deterministic, non-mutating virtual patch preview.
- Present the evidence and plan to me before any state mutation.
一个评估、调查和修复的地方
扫描仪的发现是安全决策的开始。您仍然需要知道检查了哪些文件和依赖项,问题是否影响正在运行的软件,以及提议的修复是否能够通过验证。
Bug Killer将这些步骤结合在一起:
- 检查目标。 盘点源文件、清单、运行时和适用的安全检查。
- 收集证据。 记录发现、影响、不确定性和扫描覆盖率的差距。
- 调查。 使用源分析、可选咨询查找、有限代理调查或批准的运行时检查。
- 计划修理。 在授予写访问权限之前,审查提议的更改。
- 验证结果。 重新检查受影响的属性,并在批准更改时保留回滚证据。
在当前代码中工作的是什么
| 能力 | 当前界面 | 重要的边界 |
|---|---|---|
| 工作空间和运行时扫描 | bk scan, bk doctor | 证据取决于目标和可用的运行时数据 |
| 安全目录和防护 | bk security scan, bk security catalog, bk security verify | 373个条目的目录是一个分类法;支持的检查和执行的检查将分别报告 |
| 依赖报告 | bk osv, bk scan --osv, bk security scan --osv | OSV查询需要网络访问;版本匹配不能证明可利用性 |
| 源分析 | bk scan --taint,结构和内置引擎模块 | 语言、规则和分析深度各不相同;不支持的路径必须保持可见 |
| Agent-assisted调查 | bk agent doctor, bk agent investigate | 调查是有限的和只读的;远程模型访问需要配置和数据导出策略 |
| Coding-agent访问 | bk mcp serve, bk mcp config | 本地影楼运输;只读是默认值 |
| 监督补救 | bk heal --dry-run, bk plan, bk approve, bk apply, bk rollback | 特权变更需要单独的操作员批准和验证 |
源代码还包含一个分析器适配器注册表、一个执行协议和一个基准测试工具。 连接成熟的外部扫描仪不会自动使其成为已发布的扫描配置文件的一部分。 每个适配器都必须测试可用性、许可、输出保真度和覆盖范围。
常见的工作流
检查存储库或CI作业
bk security scan . --profile project --json
bk security scan . --profile ci --fail-on high
bk security scan . --profile quick --staged
--staged 评估预提交使用的阶段性Git快照。CI可能会阻碍调查结果或不完整的强制性覆盖;一份没有发现的报告并不能证明每一次检查都进行了。
调查依赖项或运行时
bk doctor . --json
bk scan . --check-runtime --json
bk scan . --osv --taint --json
bk cve-info CVE-2026-109618
--osv 提出外部咨询请求。当工作空间和网络策略允许这些请求时,使用它。活动端点探测是单独的,需要对确切的目标进行授权。
获取编码任务的安全性指导
bk security guidance "Add a file upload endpoint" --language rust
bk security catalog --json
bk agent doctor --provider local --json
指南和模型生成的假设是供审查的输入。它们不证明代码是安全的,也不授权修复。
预览修复,然后使用操作员批准
bk heal . --dry-run
bk evidence <finding-id> .
bk plan <finding-id> .
在提供单独的操作员签名密钥并审查计划后,授权的操作员可以使用 bk approve 和 bk apply. 看到 操作员批准设置 对于信托和收据的要求。
bk heal --apply 和 bk heal --auto-apply 是 被CLI拒绝的废弃快捷键. 他们不能绕过独立审批。一个成功的补丁命令本身并不能证明修复。
通过MCP连接编码代理
bk mcp config --host codex
bk mcp config --host claude
bk mcp serve --transport stdio .
configuration命令打印特定于主机的示例。MCP服务器通过标准输入和输出进行通信;默认情况下,它不公开网络侦听器。看到 运营商指南 获取范围和权限详细信息,以及 兄弟工具规范 用于外部引擎代理协调。
Microservices架构
Rust CLI是主要的本地入口点。其他服务包括库存、二进制检查和受监督的主机更改。它们是独立的构建目标,因此普通的源代码扫描不需要启动完整的服务堆栈。
flowchart TD
A["Authorized project or host"] --> B["Rust CLI and security guard"]
B --> C["Built-in analysis and optional advisory checks"]
C --> D["Findings, coverage, and evidence"]
D --> E["Review and operator approval"]
E --> F["Scoped repair and independent verification"]
G["Go inventory and Rust inspector services"] --> D
F --> H["Rollback records"]
多语言专业化矩阵
| 组件 | 语言 | 责任 |
|---|---|---|
bug-killer (bk) | 2024年生锈 | 命令行,保安,扫描,证据,MCP,代理调查和修复协调 |
bug-killer-orchestrator | 去 | 文件系统和主机目录;单独的服务 |
bug-killer-inspector | 2024年生锈 | 二元检验 goblin 和 memmap2 |
bug-killer-healer | 去 | 特定于主机的监督修复服务 |
构建完整的堆栈
完整的构建需要Rust、Go 1.26.5或兼容的更新的工具链、Make和特定于平台的本地依赖项。构建检查器和编排器可能需要protobuf和libpcap开发包。
make build
make test
make lint
要安装生成的可执行文件,请选择适当的 PREFIX 和运行 make install 具有对该目录的写权限。Makefile的默认值是 /usr/local/bin shell完井安装到 /usr/local/share (SHARE_PREFIX)。
壳自动完成
Bug Killer将预先生成的、经过漂移检查的完成脚本分发到 completions/ 对于Bash、Zsh和Fish:
# Generate dynamically for any supported shell (bash, zsh, fish, powershell, elvish)
bug-killer completion bash > ~/.local/share/bash-completion/completions/bug-killer
bug-killer completion zsh > ~/.zsh/completion/_bug-killer
bug-killer completion fish > ~/.config/fish/completions/bug-killer.fish
# Or regenerate and install from repository assets
make completions
sudo make install
Docker Compose可用于受控的linux主机部署。访问 /var/run/docker.sock 可以授予广泛的主机控制,即使挂载为只读。仅在明确批准访问的主机上使用服务堆栈。
代理安全室路线图
这个 最终规范 定义了Bug Killer的下一个产品方向:一个代理工作区,选择和协调成熟的安全工具,将它们的证据分开,并帮助人类批准和验证修复。
| 计划能力 | 为什么重要? | 当前的状态 |
|---|---|---|
| 工具发现和功能检查 | 了解哪个引擎已安装、适用、已获得许可且运行正常 | 指定的;不是一个完整的公共工作流 |
| 多工具执行计划器 | 为每个授权目标和资源预算选择合适的工具 | 提出了 |
| 外部SAST和SCA适配器 | 在合适的地方重用Semgrep、CodeQL、Trivy和OSV-Scanner等工具 | 作为候选人进行评估;未声明为捆绑集成 |
| 研究工具协调 | 在隔离和同意的情况下进行针对特定目标的模糊测试和实验 | 拟议的研究工作流程 |
| 相关证据和独立复核 | 将重复信号与真实确证分离;证明已经测试了修复 | 合同和规定的验收标准 |
我们的目标是协调而不是改造。 现有的引擎进行专门的分析。Bug Killer选择它们,执行范围和预算,记录实际运行的内容,并提供开发人员或安全审查人员可以采取行动的证据。
这种架构是有意增加的。一个已注册的工具、一个目录条目或一个代理的自信的解释永远不足以要求完整的安全覆盖。
开发和验证
cargo test --workspace
cargo clippy --all-targets -- -D warnings
# Run from each Go service directory
cd services/orchestrator && go test -v ./... && go vet ./...
cd ../healer && go test -v ./... && go vet ./...
单独的Rust检查器有它自己的测试 services/inspector. 存储库的 make test 和 make lint 目标涵盖了配置好的Rust和Go项目。
安全报告需要的不仅仅是一个通过的构建。检测索赔要求可复制的固定装置和保险收据;维修索赔要求对已更改的目标进行重新检查。看到 贡献说明 和 安全策略.
许可和负责任的使用
灭虫器使用 Source-Available & Business Attribution License v1.0版权所有©2026 Mamdouh Aboammar。
- 您可以检查、分叉、修改和贡献,同时保留所需的归属和许可条款。
- 允许企业、非营利组织、教育组织和政府团队内部使用,无需版税。
- 销售Bug Killer或其衍生产品,或将其作为付费托管或托管安全服务提供,需要单独的书面商业授权。
- 公共衍生品必须保留相同的许可条款、版权和作者署名。
这个 许可证 管理使用和再分发。第三方分析程序及其规则可能带有单独的条款。
只评估您拥有的系统或获得明确的测试许可。Bug Killer的防御范围不包括武器化攻击和未经授权的探测。报告问题的Bug杀手本身通过 SECURITY.md.