OWASP Noir е инструмент с отворен код за статичен анализ, който чете изходния код на дадено приложение и изброява крайните точки (endpoints), които то излага: пътища, HTTP методи, параметри, заглавни части (headers) и бисквитки, като всяко от тях е свързано с файла и реда, от който произлиза.

Ето къде той става наистина полезен. Сенчестите API (Shadow APIs) — крайните точки, които съществуват в кода, но никога не са били включени в документацията — се появяват в описа на Noir редом с всичко останало, заедно с остарели маршрути и недокументирани манипулатори (handlers).
Сравнете това с начина, по който работят динамичните скенери. Инструменти като ZAP и Burp Suite, известни като DAST инструменти, тестват работещи приложения отвън и откриват много от маршрутите им чрез обхождане (crawling). Ако обхождащият модул никога не стигне до даден маршрут, скенерът никога не го тества, а приложението продължава да отговаря на всеки, който открие пътя.
Един бинарен файл, 205 рамки (frameworks)
Noir покрива 29 езика и 205 рамки (frameworks) от един-единствен бинарен файл, без да изисква плъгини или отделна настройка за всеки език. Той открива езика, рамката и конвенцията за маршрутизация самостоятелно. Когато статичните правила пропуснат дадена рамка или приложението използва персонализирана маршрутизация, Noir може да предаде кода на LLM чрез OpenAI, Ollama или подобни доставчици. Поддържащите проекта тестват точността на статичните правила спрямо тестови тестови структури за всяка рамка. Маршрутите, които се връщат от LLM пътя, заслужават ръчна проверка, преди някой да разчита на тях.
Noir също така изпълнява пасивни правила за сканиране с класификация по степен на сериозност, които сигнализират за твърдо кодирани ключове, токени и данни за достъп. Семнадесет маркера отбелязват крайните точки със свойства като jwt, payment, admin и file_upload, така че проверяващият може да изведе напред манипулаторите за плащания и администрация преди всичко останало.
Три вида читатели
Разработчиците на Noir са създали описа за три аудитории. Човешките проверяващи получават списък с входни точки, достъпни за атакуващи, върху които да работят. Одиторите на код с изкуствен интелект (т.е. агенти за преглед, базирани на LLM) получават същия списък, а флагът –ai-context прикачва защитите, консуматорите (sinks), валидаторите и сигналите около всяка крайна точка, за да може моделът да чете по един манипулатор наведнъж. DAST инструменти като ZAP, Burp Suite, Caido и Gori получават маршрутите като прокси цел или OpenAPI импорт.
Noir записва резултатите в 22 формата, сред които JSON, SARIF, OpenAPI, Postman и cURL, и се предлага като GitHub Action за CI автоматизирани линии (pipelines).
OWASP Noir е достъпен безплатно в GitHub.