
noir v1.3.1
Охотьтесь за каждой конечной точкой в вашем коде, раскрывайте теневые API и картографируйте поверхность атак.
Найдите каждую конечную точку в вашем коде, выявите теневые API, составьте карту поверхности атаки.
Документация • Установка • Использование • Github Action • Участие в разработке • История изменений
Noir — это SAST-инструмент, который читает исходный код и извлекает конечные точки, предоставляемые приложением: пути, методы, параметры, заголовки, cookie и исходные файлы, стоящие за ними. Теневые API, устаревшие маршруты и недокументированные обработчики попадают в тот же инвентарь; это не отдельный режим.
Инвентарь обслуживает три аудитории:
- Ревьюеры-люди. Инженеры по безопасности и аудиторы кода получают сфокусированный список доступных атакующему точек входа — путей, параметров, исходных файлов, тегов — вместо просмотра всего репозитория.
- ИИ-аудиторы. SAST-агенты на основе LLM получают тот же сфокусированный список плюс контекст ревью для каждой конечной точки (
--include calleeдля вызываемых функций на 1 уровень,--ai-contextдля guard-ов, sink-ов, валидаторов и сигналов). - 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 для импорта ими.
- Контекст для ИИ SAST. Инвентарь конечных точек (а с
--include callee— и функции на 1 уровень, вызываемые каждым обработчиком) — это сфокусированный контекст, необходимый LLM-аудитору для поиска доступных атакующему уязвимостей.--ai-contextидёт дальше и прикрепляет агрегированный контекст ревью для каждой конечной точки — guard-ы, вызываемые функции, sink-и, валидаторы и сигналы — чтобы LLM не приходилось обнаруживать их заново. - CI/CD. GitHub Action, вывод SARIF, коды выхода — вписывается в уже имеющийся у вас конвейер.
Использование
noir -h
Пример
noir scan <source_dir>
Если вы используете его с Github Action, обратитесь к этому документу .

Для получения более подробной информации посетите нашу страницу документации.
Дорожная карта
Noir начинался как вспомогательное средство для WhiteBox-тестирования: извлекать конечные точки из исходного кода, чтобы DAST мог сканировать их точнее. Задача выросла — тот же инвентарь теперь обслуживает и людей-аудиторов, и ИИ SAST-агентов. Цель отсюда — одинаково хорошо служить всем трём потребителям: людям, проверяющим код, LLM, аудирующим его, и DAST-инструментам, сканирующим его.
Отсюда:
- Расширять покрытие языков и фреймворков; поддерживать честную точность с помощью фикстур для каждого фреймворка.
- Активнее опираться на LLM для случаев, недостижимых статическим анализом.
- Обогащать контекст ревью для каждой конечной точки (guard-ы, вызываемые функции, sink-и, валидаторы, сигналы), чтобы люди-ревьюеры и ИИ-аудиторы разделяли один и тот же сфокусированный взгляд на каждый обработчик.
- Поддерживать интеграцию с DAST на первом уровне — OpenAPI, прокси-цели и прямые передачи в ZAP / Burp / Caido / Gori.
Проект OWASP
OWASP Noir присоединился к OWASP Foundation в июне 2024 года.
- Официальная страница проекта: https://owasp.org/projects/noir
- OWASP Nest: https://nest.owasp.org/projects/noir
Новости и обновления
- Май 2026: Выпущена v1.0.0 — представлена стабильная линия 1.x для всех анализаторов, теггеров, пассивного сканирования и совершенно новая CLI-структура, ориентированная на глаголы.
- Май 2026: Обновлена дорожная карта — цель Noir теперь в том, чтобы одинаково хорошо служить людям, ИИ-аудиторам и DAST-инструментам как потребителям одного и того же инвентаря конечных точек.
- Август 2025: Представлен на OWASP Seoul Meetup. (Open Source Gardening)
- Ноябрь 2024: Опубликован гостевой пост в блоге "Powering Up DAST with ZAP and Noir" в блоге ZAP.
- Июнь 2024: Присоединился к OWASP как OWASP Noir
- Переименование GitHub-организации с noir-cr на owasp-noir
- Переход к совместному руководству с @ksg97031
- Ноябрь 2023: Репозиторий Noir перемещён в GitHub-организацию noir-cr.
- Август 2023: Начало как личный проект @hahwul.
Основная команда
Участие в разработке
Noir — это проект с открытым исходным кодом, сделанный с ❤️. Если вы хотите внести свой вклад, ознакомьтесь с CONTRIBUTING.md и отправьте Pull Request.