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 的漏洞发现产品,帮助防御者主动发现已验证的安全缺陷,同时将误报和漏报降到最低。第一阶段负责检测,第二阶段负责攻击。幸存下来的才是真实漏洞。

查看仓库
718110293天前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),为每个流水线阶段选择一个 provider(以下任何随附的适配器),每个 provider 输入一次其 API 密钥(Bedrock 改用 AWS 凭证链——将密钥留空),向导会在写入 ~/.config/openant/config.json 之前,用 1-token 请求探测每个唯一的 provider+model 对。使用 --llm-config 对其运行扫描:

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

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

随附的适配器

Provider 类型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使用一个密钥和一个预付余额访问多个 provider 的网关(也会读取 OPENROUTER_API_KEY)。模型 ID 是 vendor/model 形式的 slug(anthropic/claude-sonnet-4.6、openai/gpt-4o-mini 等)——在 openrouter.ai/models 浏览它们。由 openant setup llm 提供(将 base URL 留空以使用 OpenRouter 默认值)——完整指南:utilities/llm/providers/OPENROUTER.md。
ollama—(本地服务器)通过 Ollama 使用本地模型。没有 api_key:将其留空(会自动发送占位符);base URL 默认为 http://localhost:11434/v1。必须先拉取模型(ollama pull <model>);模型 ID 正是 ollama list 显示的内容。本地推理是免费的——$0 成本报告。由 openant setup llm 提供——完整指南:utilities/llm/providers/OLLAMA.md。

它们都支持工具调用,因此其中任何一个都可以驱动使用 agentic 工具使用循环的 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 provider 类型使用(唯一一个 SDK 默认无限制的类型);其他类型如果设置了它,会在启动时大声警告。

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

添加新的 provider 适配器

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

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——这是工具在工作,而不是失败。契约:

下载工具