返回更新列表
新发布Jul 19, 2026

noir v1.2.0

在代码中追踪每一个Endpoint,暴露Shadow API,绘制攻击面地图。

分享
OWASP Noir Logo

搜寻代码中的每一个端点,暴露影子 API,绘制攻击面。

文档 • 安装 • 用法 • Github Action • 贡献 • 更新日志

Noir 是一款 SAST 工具,它读取源代码并提取应用程序暴露的端点——路径、方法、参数、请求头、Cookie 以及它们背后的源文件。影子 API、已弃用的路由和未文档化的处理程序都会作为同一份清单的一部分被输出;它们并不是一种单独的模式。

这份清单服务于三类受众:

  • 人工审查者。 安全工程师和代码审计人员会得到一份聚焦于攻击者可触及入口点的列表——路径、参数、源文件、标签——而无需浏览整个仓库。
  • AI 审计者。 基于 LLM 的 SAST 智能体会得到同样的聚焦列表,外加每个端点的审查上下文(--include callee 用于 1 跳被调用函数,--ai-context 用于守卫、汇聚点、验证器和信号)。
  • DAST 工具。 ZAP、Burp Suite、Caido 和 Gori 会得到一份真实的路由列表用于扫描,包括它们通过爬取永远无法到达的路径。

Noir 的功能

  • 端点提取。 跨 261 个框架 进行静态分析。返回端点、参数、请求头、Cookie 以及它们来源的源文件。
  • LLM 回退。 当静态规则不适用时,将不支持的框架(或一次性自定义路由)交给 OpenAI / Ollama / 等处理。
  • 为下一阶段输出。 JSON、YAML、OpenAPI、SARIF、cURL、Postman、HTML——管道中下一个工具读取的任何格式。
  • DAST 集成。 直接作为代理目标管道接入 ZAP、Burp Suite、Caido 或 Gori,或导出 OpenAPI 供它们导入。
  • AI SAST 上下文。 端点清单(以及在使用 --include callee 时,每个处理程序调用的 1 跳函数)是 LLM 审计者发现攻击者可触及漏洞所需的聚焦上下文。--ai-context 更进一步,为每个端点附加聚合的审查上下文——守卫、被调用函数、汇聚点、验证器和信号——这样 LLM 就不必重新发现它们。
  • CI/CD。 GitHub Action、SARIF 输出、退出码——适配你已有的管道。

用法

noir -h

示例

noir scan <source_dir>

如果你将其与 Github Action 一起使用,请参考此文档。

如需了解更多详情,请访问我们的文档页面。

路线图

Noir 最初是作为 WhiteBox 测试辅助工具而诞生的:从源代码中提取端点,以便 DAST 能够更准确地扫描它们。这项工作已经发展壮大——如今,同一份清单也为人工审计员和 AI SAST 代理提供支持。从这里开始的目标是同等出色地服务这三类使用者:审查代码的人类、审计代码的 LLM,以及扫描代码的 DAST 工具。

从这里开始:

  • 扩大语言和框架的覆盖范围;通过针对每个框架的测试夹具来保持准确的真实性。
  • 更多地借助 LLM 来处理静态分析无法触及的情况。
  • 丰富每个端点的审查上下文(守卫、被调用者、汇聚点、验证器、信号),使人工审查者和 AI 审计员对每个处理程序共享相同的聚焦视图。
  • 保持 DAST 集成的一流地位——OpenAPI、代理目标,以及直接移交给 ZAP / Burp / Caido / Gori。

OWASP 项目

OWASP Noir 于 2024 年 6 月加入 OWASP 基金会。

新闻与更新

  • 2026 年 5 月:发布 v1.0.0 —— 在所有分析器、标记器、被动扫描中引入稳定的 1.x 系列,以及全新的以动词为中心的 CLI 结构。
  • 2026 年 5 月:更新了路线图 —— Noir 的目标现在是作为同一份端点清单的使用者,同等服务人类、AI 审计员和 DAST 工具。
  • 2025 年 8 月:在 OWASP 首尔聚会上进行了演讲。(Open Source Gardening)
  • 2024 年 11 月:在 ZAP 博客上发表了客座博客文章"Powering Up DAST with ZAP and Noir"。
  • 2024 年 6 月:以 OWASP Noir 的身份加入 OWASP
    • 将 GitHub 组织从 noir-cr 重命名为 owasp-noir
    • 过渡为与 @ksg97031 共同领导
  • 2023 年 11 月:将 Noir 仓库迁移到 noir-cr GitHub 组织。
  • 2023 年 8 月:作为 @hahwul 的个人项目启动。

核心团队

贡献

Noir 是一个用 ❤️ 打造的开源项目。 如果你想贡献,请查看 CONTRIBUTING.md 并提交 Pull Request。

吉祥物

我们的吉祥物是 Hak(학),一只象征着优雅与精准地发现隐藏缺陷的鹤。在韩语中,"학" 意为 "鹤",代表着一位敏锐的盟友,深入挖掘以发现你代码中的漏洞和攻击面。

有关 Hak 的更多艺术作品和资源,请查看 noir-artwork 仓库。

分类