Kritt-ai/open-kritt
Open-source, self-hosted AI vulnerability research tool that orchestrates agents to find and validate security issues in code.
open·kritt – AI 驱动的安全研究平台
是什么
- 一个开源且可自托管的工具,允许安全研究人员在代码库上运行 AI 代理,以发现真实的漏洞。
- 不是让单个模型扫描整个仓库,而是定义一个由多个小而专注的提示组成的 工作流,这些提示并行运行,结果被合并、去重并排序。
核心功能
| 功能 | 你能获得什么 |
|---|---|
| 工作流构建器 | 将提示步骤(称为 技能)串联起来,形成可重复使用安全剧本。 |
| 多模型支持 | 通过 API 密钥或 Codex 登录,连接到 Codex、Claude Code、Grok Build 或其他提供者。 |
| 自动扫描 | 指定本地或远程仓库(包括依赖项),让代理分析代码。 |
| 验证与 PoC 生成 | 后处理步骤可编译代码、运行生成的 PoC,并生成概念验证攻击或验证脚本。 |
| 结果导出 | 所有发现、结构化数据、报告和 PoC 都打包成一个带清晰清单的 ZIP 文件。 |
| 优先级排序 | 自定义严重性排序器、一致的模式和自动去重,帮助你聚焦最重要的问题。 |
| 无头 CLI | 在无 GUI 的服务器上通过终端运行扫描;CLI 与 Web UI 的后端逻辑一致。 |
| 自带模型 | 使用你有权访问的任何提供者——平台不会将你锁定在特定服务上。 |
工作原理(高层次流程)
- 设置 – 克隆仓库,运行
./kritt setup,该命令将引导你完成 Docker、Node 和模型 API 配置。 - 定义工作流 – 选择或编写 JSON 描述的步骤,例如让 LLM 列出不安全函数、建议修复方案或生成测试用例。
- 开始扫描 – 后端为每个步骤启动临时 Docker 容器,复制目标仓库进去,并允许代理访问互联网(以便安装构建工具、编译等)。
- 验证 – 后处理脚本可编译代码、运行生成的 PoC,并确认报告的问题是否真实存在。
- 聚合 – 发现结果被去重,根据你的自定义严重性逻辑排序,并导出为 ZIP 包。
快速入门
git clone https://github.com/Kritt-ai/open-kritt
cd open-kritt
./kritt setup # 配置 Docker、Node 和模型凭据
./kritt start # 在 http://localhost:5173 启动 Web UI
对于没有浏览器的服务器,使用 ./kritt-headless,它通过终端提供相同功能。
典型用例
- 希望获得可复现、排序的漏洞报告的漏洞赏金研究人员。
- 希望将 AI 辅助代码审查集成到 CI 流水线中的 DevSecOps 团队(通过无头 CLI)。
- 可以构建自定义教学工作流,演示 LLM 如何被提示用于静态分析的安全教育者。
限制与注意事项
- 代理在临时容器中以 root 权限运行,并拥有完全的互联网访问权限;请在隔离主机上运行该平台,并阅读附带的威胁模型文档。
- Web UI 无内置认证;请将服务置于防火墙后或私有网络中。
- 结果严重依赖于你的提示质量和底层模型;可能存在误报和漏报,因此验证步骤至关重要。
社区与贡献
- 由 Harel Rom 和 Gabriel Balko 维护;欢迎通过拉取请求贡献代码。
- 讨论、错误报告和功能建议请在 GitHub Discussions 和 Issues 中提出。
- 安全相关漏洞报告应按
SECURITY.md中所述方式私下发送。
许可证
- 采用 GNU Affero General Public License v3.0 (AGPL-3.0) 发布。
open·kritt 是一个真正的 AI 代理驱动的安全研究平台,让你能够以受控、可复现的方式编排 LLM 来发现、验证和优先处理代码漏洞。
相关
- 项目
- 项目
- 项目
- 项目
- 项目