
noir v1.3.1
コード内のすべてのエンドポイントをハントし、シャドウAPIを暴露し、攻撃対象領域をマッピングします。
コード内のすべてのエンドポイントを探し出し、シャドウAPIを明らかにし、攻撃対象領域をマッピングします。
ドキュメント • インストール • 使用方法 • Github Action • コントリビューション • 変更履歴
Noirはソースコードを読み取り、アプリケーションが公開しているエンドポイント — パス、メソッド、パラメータ、ヘッダー、Cookie、およびそれらの背後にあるソースファイル — を抽出するSASTツールです。シャドウAPI、非推奨のルート、文書化されていないハンドラーも同じインベントリの一部として出力され、別モードではありません。
このインベントリは3つの利用者に提供されます:
- 人間のレビュアー。 セキュリティエンジニアやコード監査担当者は、リポジトリ全体をざっと見る代わりに、攻撃者が到達可能なエントリポイント — パス、パラメータ、ソースファイル、タグ — の絞り込まれたリストを取得できます。
- AI監査ツール。 LLMベースのSASTエージェントは同じ絞り込まれたリストに加えて、エンドポイントごとのレビューコンテキスト(
--include calleeで1ホップの呼び出し先、--ai-contextでガード、シンク、バリデータ、シグナル)を取得できます。 - DASTツール。 ZAP、Burp Suite、Caido、Goriは、クロールでは到達できなかったパスを含む、実際のルートリストをスキャン対象として取得できます。
Noirが行うこと
- エンドポイント抽出。 206のフレームワークにわたる静的解析。エンドポイント、パラメータ、ヘッダー、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はホワイトボックステストの支援ツールとして始まりました: DASTがより正確にスキャンできるよう、ソースからエンドポイントを抽出するものです。その役割は拡大し、同じインベントリが人間の監査担当者やAI SASTエージェントにも提供されるようになりました。ここからの目標は、コードをレビューする人間、コードを監査するLLM、コードをスキャンするDASTツールという3つの利用者すべてに等しく貢献することです。
ここから:
- 言語とフレームワークのカバレッジを広げ、フレームワークごとのフィクスチャで精度を誠実に保つ。
- 静的解析では到達できないケースに対して、LLMをより積極的に活用する。
- エンドポイントごとのレビューコンテキスト(ガード、呼び出し先、シンク、バリデータ、シグナル)を充実させ、人間のレビュアーとAI監査ツールが各ハンドラーについて同じ絞り込まれたビューを共有できるようにする。
- DAST統合を第一級に保つ — OpenAPI、プロキシターゲット、ZAP / Burp / Caido / Goriへの直接の受け渡し。
OWASPプロジェクト
OWASP Noirは2024年6月にOWASP Foundationに参加しました。
- 公式プロジェクトページ: https://owasp.org/projects/noir
- OWASP Nest: https://nest.owasp.org/projects/noir
ニュースとアップデート
- 2026年5月: v1.0.0をリリース — すべてのアナライザー、タガー、パッシブスキャンにわたる安定した1.x系と、まったく新しい動詞中心のCLI構造を導入。
- 2026年5月: ロードマップを刷新 — Noirの目標は、同じエンドポイントインベントリの利用者として、人間、AI監査ツール、DASTツールに等しく貢献することになりました。
- 2025年8月: OWASP Seoul Meetupで発表。(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リポジトリをご覧ください。 |
|---|
