knostic/OpenAnt

GitHub: knostic/OpenAnt

OpenAnt 是 Knostic 开源的基于大语言模型的漏洞发现工具,通过检测加攻击验证两阶段流水线,帮助防御者主动发现并确认代码中的真实安全漏洞。

Stars: 504 | Forks: 77

OpenAnt

# OpenAnt 来自 [Knostic](https://knostic.ai) 的 [OpenAnt](https://knostic.ai/openant) 是领先的基于 LLM 的开源漏洞发现产品,可帮助防御者主动发现经过验证的安全缺陷,同时最大限度地减少误报和漏报。Stage 1 负责检测。Stage 2 负责攻击。留存下来的才是真实的漏洞。 我们对这款产品感到非常自豪,目前正处于其发现的漏洞的披露过程中,但请记住,它最初是一个研究项目,部分功能仍处于测试阶段。我们欢迎大家为其做出贡献,使其变得更加完善。 ## 为什么开源? 考虑到 AI 发现的漏洞数量呈爆发式增长,我们希望 OpenAnt 能成为帮助开源维护者走在攻击者前面的工具,他们可以自己使用它,或者免费提交他们的代码库进行扫描。 虽然我们也以服务的形式提供 OpenAnt,但您可能听说过 OpenAI 的 Aardvark(现为 Codex Security)和 Anthropic 的 Claude Code Security,我们无意与它们竞争。 ## 技术细节与开源项目免费扫描 有关技术细节、限制和 token 成本,请查看此博客文章: [https://knostic.ai/blog/openant](https://knostic.ai/blog/openant) 提交您的代码库以进行扫描: [https://knostic.ai/blog/oss-scan](https://knostic.ai/blog/oss-scan) ## 支持的语言 - Go - Python - JavaScript/TypeScript (beta) - C/C++ (beta) - PHP (beta) - Ruby (beta) ## 本地设置 构建 CLI 二进制文件(需要 Go 1.25+): ``` cd apps/openant-cli && make build ``` 这将编译 Go 源代码并将二进制文件输出到 `apps/openant-cli/bin/openant`。 将其软链接到您的 PATH 中,以便您可以从任何地方运行 `openant`: ``` ln -sf "$(pwd)/apps/openant-cli/bin/openant" /usr/local/bin/openant ``` _注意:请从代码库根目录运行此命令,以便 `$(pwd)` 解析为正确的绝对路径。_ 设置您的 Anthropic API 密钥(analyze、verify 和 scan 操作需要): ``` openant set-api-key ``` **此密钥必须具有 Claude Opus 4.6 模型的访问权限。** 请在 [console.anthropic.com](https://console.anthropic.com/settings/keys) 获取密钥。 ## 数据目录 OpenAnt 会创建两个目录: - **`~/.config/openant/`** — CLI 配置(`config.json`)。存储您的 API 密钥、活动项目和偏好设置。文件权限被限制为 `0600`。 - **`~/.openant/`** — 项目数据。每个初始化的项目都会在 `~/.openant/projects///` 下获得一个工作区,其中包含 `project.json` 和一个带有每次提交输出的 `scans/` 目录。 ## 分析项目 ### 1. 初始化 将 OpenAnt 指向一个代码库。`-l` 标志(语言)是必填的 — 请使用 `go` 或 `python`。 ``` # Remote — 克隆 repo openant init -l go # Remote — 固定到特定 commit openant init -l go --commit # Local — 原地引用该目录 openant init -l go --name ``` 这将创建一个项目工作区并将其设置为活动项目。所有后续命令都会自动在活动项目上运行 — 无需路径参数。 ### 2. 运行流水线 每个步骤都会从项目的 scan 目录中获取上一步的输出: ``` openant parse openant enhance openant analyze openant verify openant build-output openant report -f summary ``` 或者在一个命令中运行完整的流水线: ``` openant scan --verify ``` ### 管理多个项目 流水线一次只能在一个项目上运行。运行 `openant init` 会将新初始化的项目设置为活动项目,因此所有后续命令默认都会以它为目标。 如果您正在处理多个项目,您有两种选择: ``` # 选项 1:切换活动项目 openant project switch org/repo openant parse # 选项 2:直接使用 -p 指定项目 openant parse -p org/repo ``` ### 项目管理 ``` openant project list # shows all projects, marks active openant project show # details of active project openant project switch # switch active project ``` ## LICENSE 该项目采用 Apache 2.0 许可。详情请参阅 LICENSE 文件。 ## 免责声明与法律声明 本项目仅供防御和研究目的使用。OpenAnt 仍处于研究阶段,请谨慎使用,风险自负。Knostic、OpenAnt 以及相关的开发者、研究人员和维护者对因使用本工具而产生的任何误用、损害或后果概不负责。 仅扫描您拥有或已获得明确测试授权的代码。如果您通过合法途径在他人项目中发现了漏洞,请遵循协同漏洞披露规范,在将其公开之前报告给项目维护者。
标签:AI安全, C, C++, C2, Chat Copilot, CISA项目, CLI, CMS安全, DLL 劫持, DNS解析, Go, JavaScript, Knostic, Maven, OpenAnt, OpenVAS, PHP, Python, Ruby, Ruby工具, SAST, SOC工具, TypeScript, URL发现, WiFi技术, 人工智能安全, 代码安全, 合规性, 大语言模型, 安全扫描, 安全插件, 安全检测, 安全研究员, 开源项目, 攻击模拟, 数据可视化, 数据擦除, 无后门, 日志审计, 时序注入, 漏报率, 漏洞发现, 漏洞枚举, 漏洞验证, 盲注攻击, 知识库, 自动化攻击, 误报率, 逆向工具, 防御框架, 静态应用安全测试, 驱动签名利用