Noir — это инструмент SAST, который читает исходный код и извлекает конечные точки, которые приложение предоставляет — пути, методы, параметры, заголовки, cookie и файлы исходного кода, стоящие за ними. Теневые API, устаревшие маршруты и недокументированные обработчики появляются в рамках той же инвентаризации; это не отдельный режим.
Инвентаризация обслуживает три аудитории:
Людей-рецензентов. Инженеры безопасности и аудиторы кода получают сфокусированный список точек входа, доступных атакующему — пути, параметры, файлы исходного кода, теги — вместо беглого просмотра всего репозитория.
AI-аудиторов. SAST-агенты на основе LLM получают тот же сфокусированный список, плюс контекст проверки для каждой конечной точки (--include callee для 1-шаговых вызываемых функций, --ai-context для guards, sinks, валидаторов и сигналов).
DAST-инструменты. ZAP, Burp Suite, Caido и Gori получают реальный список маршрутов для сканирования, включая пути, до которых они никогда бы не добрались при обходе.
Что делает Noir
Извлечение конечных точек. Статический анализ для более 50 фреймворков. Возвращает конечные точки, параметры, заголовки, 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 идёт дальше и прикрепляет агрегированный контекст проверки для каждой конечной точки — guards, callees, sinks, валидаторы и сигналы — чтобы LLM не приходилось их заново обнаруживать.
CI/CD. GitHub Action, вывод SARIF, коды возврата — подходит для вашего уже существующего конвейера.
Использование
noir -h
Пример
noir -b <source_dir>
Если вы используете его с Github Action, пожалуйста, обратитесь к этому документу .
Для получения дополнительных сведений посетите нашу страницу документации.
План развития
Noir начинался как помощник для WhiteBox-тестирования: извлекать конечные точки из исходного кода, чтобы DAST мог сканировать их точнее. Задача выросла — та же инвентаризация теперь питает и аудиторов-людей, и AI SAST-агентов. Цель отсюда — одинаково хорошо обслуживать всех трёх потребителей: людей, проверяющих код, LLM, проверяющих его, и DAST-инструменты, сканирующие его.
Отсюда:
Расширить покрытие языков и фреймворков; сохранять точность с помощью фикстур для каждого фреймворка.
Активнее использовать LLM для случаев, куда не добирается статический анализ.
Обогатить контекст проверки для каждой конечной точки (guards, callees, sinks, валидаторы, сигналы), чтобы рецензенты-люди и AI-аудиторы имели одинаковое сфокусированное представление каждого обработчика.
Сохранять интеграцию с DAST первоклассной — OpenAPI, прокси-цели и прямая передача в ZAP / Burp / Caido.
Проект OWASP
OWASP Noir присоединился к OWASP Foundation в июне 2024.
Май 2026: Выпущена v1.0.0 — представлена стабильная линия 1.x во всех анализаторах, теггерах, пассивном сканировании и совершенно новой структуре CLI, ориентированной на глаголы.
Май 2026: Обновлён план развития — цель Noir теперь — одинаково обслуживать людей, AI-аудиторов и DAST-инструменты как потребители одной и той же инвентаризации конечных точек.
Noir — это проект с открытым исходным кодом, созданный с ❤️.
Если вы хотите внести свой вклад, пожалуйста, ознакомьтесь с CONTRIBUTING.md и отправьте Pull Request.
Талисман
Наш талисман — Хак (학), журавль, символизирующий элегантность и точность в обнаружении скрытых недостатков. В корейском языке "학" означает "журавль", острого союзника, который глубоко ныряет, чтобы выявить уязвимости и поверхности атаки в вашем коде.
Для получения дополнительных изображений и ресурсов, связанных с Хаком, посетите репозиторий noir-artwork.