Skip to content
KitploitKITPLOIT
工具漏洞利用博客
Log in
提交
工具漏洞利用博客
提交

黑客、渗透测试和网络安全工具,武装您的安全武器库!

Kitploit 是一个黑客、网络安全和渗透测试工具的目录。发现最新的项目更新,查找漏洞、分析系统、自动化测试并加强你的安全。

订阅源联系隐私© 2026 Kitploit

工具目录

分类

查看所有分类
Loading categories
OpenAnt — 来自 Knostic 的 OpenAnt 是领先的开源基于 LLM 的漏洞发现产品,帮助防御者主动发现已验证的安全缺陷,同时将误报和漏报降到最低。第一阶段负责检测,第二阶段负责攻击。幸存下来的才是真实漏洞。 | Kitploit
工具/GitHubGitHub/knostic/openant
漏洞扫描器动态分析 (沙盒)静态代码分析 (SAST)渗透测试DevSecOps供应链安全AI 安全
GitHubknostic/openant

OpenAnt

来自 Knostic 的 OpenAnt 是领先的开源基于 LLM 的漏洞发现产品,帮助防御者主动发现已验证的安全缺陷,同时将误报和漏报降到最低。第一阶段负责检测,第二阶段负责攻击。幸存下来的才是真实漏洞。

查看仓库
718110668小时50分前Kitploit 审核通过

最受欢迎

查看全部 →

发现我们社区最常用的工具。

探索所有工具

浏览我们的工具集合

查看所有工具 →
网站
分享

OpenAnt

OpenAnt

来自 Knostic 的 OpenAnt 是首个基于 LLM 的开源漏洞发现与修复产品(现在称为 harness),帮助防御者主动发现经过验证的安全缺陷,同时最大限度地减少误报和漏报。阶段 1 检测。阶段 2 攻击。存活下来的才是真实的。

请记住,这最初是一个研究项目,随着我们开发新功能,我们经常将其作为 beta 版本发布。我们欢迎贡献。

论文

您可以在 arXiv 上找到我们关于构建 OpenAnt 的研究论文:OpenAnt: LLM-Powered Vulnerability Discovery Through Code Decomposition, Adversarial Verification, and Dynamic Testing,作者为 Nahum Korda 和 Gadi Evron。

为什么开源?

当我们首次发布 OpenAnt 时,这是 readme 中的一个相关问题,因为许多其他 harness 已经发布。我们仍然希望,随着 AI 发现的漏洞激增,OpenAnt 能帮助开源维护者领先于攻击者,让他们可以自行使用它。或者免费提交他们的仓库进行扫描。

还有一个事实是,Knostic 的重点是保护 agent 和编码助手,而不是漏洞研究或应用安全,而且我们喜欢开源,因此我们决定在 Apache 2 许可证下发布 OpenAnt。 此外,您可能听说过 OpenAI 的 Aardvark(现为 Codex Security)和 Anthropic 的 Claude Code Security,我们完全没有与它们竞争的意图。

技术细节和开源项目免费扫描

有关技术细节、限制和 token 成本,请查看此博客文章: https://knostic.ai/blog/openant

要提交您的仓库进行扫描: https://knostic.ai/blog/oss-scan

支持的语言

  • Go
  • Python
  • C/C++
  • JavaScript/TypeScript (beta)
  • PHP (beta)
  • Ruby (beta)
  • Zig (beta)
  • Swift (beta)
  • Rust (beta)

致谢

维护者和研究:Gadi Evron

原始研究、构思和原始原型:Nahum Korda。 原始产品化:Alex Raihelgaus、Daniel Geyshis。

感谢:Michal Kamensky、Imri Goldberg、Daniel Cuthbert、Josh Grossman 和 Avi Douglen。

了解 Knostic

如果您喜欢我们的工作,请了解我们在 Knostic 所做的工作,以保护您的 agent 和编码助手,防止它们删除您的硬盘和代码,并控制相关的供应链风险,如 MCP 服务器、扩展和技能。

本地设置

构建 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) 解析为正确的绝对路径。

设置 LLM

OpenAnt 通过可配置的(provider, model)对来路由每个流水线阶段。最快的方式是使用交互式向导:

openant setup llm

你为配置命名(例如 my-llm),为每个流水线阶段选择一个提供商(可使用下方任意内置适配器),为每个提供商输入一次其 API 密钥(Bedrock 改用 AWS 凭证链——将密钥留空),向导会在写入 ~/.config/openant/config.json 之前,用 1-token 请求探测每个唯一的提供商+模型组合。使用 --llm-config 对其运行扫描:

openant scan /path/to/repo --llm-config my-llm

向导默认值反映了项目按阶段的推荐配置(检测 / 验证 / 可达性审查使用更强的推理模型;上下文、报告和测试生成使用更轻量的模型)——可随意覆盖任何答案。

内置适配器

提供商类型API 密钥来源备注
anthropicconsole.anthropic.com参考适配器。不包含在 Claude Pro / Max 订阅中——需单独计费。
openaiplatform.openai.com不包含在 ChatGPT / Codex 订阅中——需单独计费。
googleaistudio.google.com不包含在 Gemini Advanced 中——需单独计费。
bedrock—(AWS 凭证链)AWS Bedrock 上的 Claude。无 api_key:凭证来自 AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY 环境变量或 ~/.aws 配置文件,区域来自 AWS_REGION。模型 ID 为推理配置文件(us.anthropic.claude-sonnet-4-6、global.anthropic.claude-haiku-4-5-20251001-v1:0 等)——在 Bedrock 控制台的“Model access”下启用它们,并使用 aws bedrock list-inference-profiles 列出它们。由 openant setup llm 提供(将 API 密钥留空——AWS 凭证链,跳过探测)——完整指南:utilities/llm/providers/BEDROCK.md。
openrouteropenrouter.ai通过一个密钥和一个预付费余额访问众多提供商的网关(也会读取 OPENROUTER_API_KEY)。模型 ID 为 vendor/model 形式的标识(anthropic/claude-sonnet-4.6、openai/gpt-4o-mini 等)——可在 openrouter.ai/models 浏览它们。由 openant setup llm 提供(将基础 URL 留空以使用 OpenRouter 默认值)——完整指南:utilities/llm/providers/OPENROUTER.md。
ollama—(本地服务器)通过 Ollama 使用本地模型。无 api_key:将其留空(会自动发送占位符);基础 URL 默认为 http://localhost:11434/v1。必须先拉取模型(ollama pull <model>);模型 ID 与 ollama list 显示的完全一致。本地推理免费——$0 成本报告。由 openant setup llm 提供——完整指南:utilities/llm/providers/OLLAMA.md。

它们都支持工具调用,因此其中任何一个都可以驱动使用智能体工具使用循环的 enhance 和 verify 阶段。对于 Ollama,请为这些阶段选择支持工具的模型——非常小的本地模型可能无法可靠地处理工具调用。

仅使用 Anthropic 的快速路径

如果你只想要当前的按阶段 Claude 默认配置,而不需要其他任何东西,请跳过向导:

openant set-api-key sk-ant-...
openant scan /path/to/repo

这使用内置的 openant-default 配置(已编译进二进制文件,无需 config.json)——检测阶段使用 Claude Opus 4.6,其余阶段使用 Sonnet 4。

手动编写的配置

向导会为你写入 ~/.config/openant/config.json,但你也可以直接编辑它。每个 llm-config 都必须列出全部七个流水线阶段:

{
  "$schema_version": 2,
  "default_llm": "my-llm",
  "llm_providers": {
    "anthropic": {"type": "anthropic", "api_key": "sk-ant-..."},
    "openai":    {"type": "openai",    "api_key": "sk-proj-..."},
    "google":    {"type": "google",    "api_key": "AIza...", "request_timeout": 600}
  },
  "llm_configs": {
    "my-llm": {
      "app_context":  {"provider": "openai",    "model": "gpt-4o-mini"},
      "llm_reach":    {"provider": "anthropic", "model": "claude-opus-4-6"},
      "enhance":      {"provider": "openai",    "model": "gpt-4o-mini"},
      "analyze":      {"provider": "anthropic", "model": "claude-opus-4-6"},
      "verify":       {"provider": "anthropic", "model": "claude-opus-4-6"},
      "dynamic_test": {"provider": "google",    "model": "gemini-2.0-flash"},
      "report":       {"provider": "google",    "model": "gemini-2.0-flash"}
    }
  }
}

llm_providers[name].request_timeout(秒,正整数或 null)设置适配器的每请求 HTTP 超时——由 google 提供程序类型使用(唯一一个其 SDK 默认无超时的类型);其他类型如果在启动时设置了该值会发出醒目警告。

提供程序接受自定义 base_url,用于 OpenAI 兼容 / Anthropic 兼容代理(vLLM、Bedrock、内部网关);OpenRouter 有自己的一等 openrouter 提供程序类型。openant-default 配置(所有阶段均使用 Claude)是内置的,无论文件内容如何都始终可用。

添加新的提供程序适配器

OpenAnt 的适配器层是一个小型 Python 配方——一个实现 LLMAdapter Protocol 的 Python 文件、一个用于契约测试框架的工厂,再加上一个注册表条目——仅此就足以从手工编写的配置运行该适配器。若还要让 openant setup llm 向导提供它并通过其保存前探测,请在 apps/openant-cli/cmd/setup.go 中添加几个 Go 触点(受支持的提供程序列表、一个探测 case、各阶段的默认模型映射)以及一个 Go 探测函数。一旦接入,12 个契约测试会自动针对你的适配器运行。

Python 运行时

OpenAnt 的解析、增强、分析和报告代码为 Python 3.11+。Go CLI 按以下顺序选择解释器:

  1. OPENANT_PYTHON 环境变量(将其设置为固定特定解释器——例如 OPENANT_PYTHON=python3.11)。
  2. 位于 ~/.openant/venv/ 的托管 venv(首次使用时自动创建)。CLI 在 Linux/macOS 上使用 bin/python,在 Windows 上使用 Scripts\python.exe。
  3. PATH 上的 python3 / python。

如果以上均未产生 Python 3.11+,命令会退出并报错,指向 python.org。要重建过期的托管 venv(例如升级 Python 后),请删除 ~/.openant/venv/ 并重新运行任意 openant 命令。

数据目录

OpenAnt 创建两个目录:

  • ~/.config/openant/ — CLI 配置(config.json)。存储你的 API 密钥、活动项目和偏好设置。文件权限限制为 0600。
  • ~/.openant/ — 项目数据。每个已初始化的项目在 ~/.openant/projects/<org>/<repo>/ 下获得一个工作区,其中包含 project.json 和一个 scans/ 目录,内有每次提交的输出。

分析项目

1. 初始化

将 OpenAnt 指向一个仓库。-l 标志(语言)是必需的——使用 go 或 python。

# Remote — clones the repo
openant init <repo-url> -l go

# Remote — pin to a specific commit
openant init <repo-url> -l go --commit <sha>

# Local — references the directory in-place
openant init <path-to-repo> -l go --name <org/repo>

这会创建一个项目工作区并将其设为活动项目。之后所有命令都会自动作用于活动项目——无需提供路径参数。

2. 运行流水线

每个步骤都会从项目的扫描目录中获取上一步骤的输出:

openant parse
openant enhance
openant analyze
openant verify
openant build-output
openant report -f summary

或者用一条命令运行完整流水线:

openant scan --verify

退出码(对 CI 很重要)

openant scan —— 以及逐步运行时每个步骤动词(analyze、verify……)—— 在发现漏洞时退出码为 1 —— 这是工具在正常工作,而不是失败。契约如下:

退出码含义
0扫描干净 —— 未发现漏洞
1发现漏洞(一次成功的运行)
2错误 —— 扫描本身失败(检查 stdout 上 JSON 信封中的 errors)

通用 CI 步骤和进程监控器会将任何非零退出码视为失败,这会把一次正常的发现漏洞运行错误分类。应基于该契约进行门控,而不是解析 stdout:

下载工具