Noir एक SAST टूल है जो स्रोत कोड पढ़ता है और किसी एप्लिकेशन द्वारा उजागर किए गए endpoints को निकालता है — paths, methods, parameters, headers, cookies, और उनके पीछे की स्रोत फ़ाइलें। Shadow APIs, deprecated routes, और undocumented handlers उसी इन्वेंटरी के हिस्से के रूप में सामने आते हैं; वे कोई अलग मोड नहीं हैं।
यह इन्वेंटरी तीन दर्शकों को सेवा देती है:
मानव समीक्षक। सुरक्षा इंजीनियरों और कोड ऑडिटरों को पूरे रेपो को स्कैन करने के बजाय हमलावरों द्वारा पहुँचे जा सकने वाले entrypoints की एक केंद्रित सूची मिलती है — paths, parameters, स्रोत फ़ाइलें, tags।
AI ऑडिटर। LLM-आधारित SAST एजेंटों को वही केंद्रित सूची मिलती है, साथ ही प्रति-endpoint समीक्षा संदर्भ (--include callee 1-hop callees के लिए, --ai-context guards, sinks, validators, और signals के लिए)।
DAST टूल। ZAP, Burp Suite, Caido और Gori को स्कैन करने के लिए एक वास्तविक route सूची मिलती है, जिसमें वे paths भी शामिल हैं जहाँ वे crawling द्वारा कभी नहीं पहुँच पाते।
Noir क्या करता है
Endpoint निष्कर्षण।264 frameworks में स्टैटिक विश्लेषण। endpoints, parameters, headers, cookies, और वे स्रोत फ़ाइलें लौटाता है जिनसे वे आए हैं।
LLM fallback। जब स्टैटिक नियम लागू न हों तो असमर्थित frameworks (या एक-बार के कस्टम routing) को OpenAI / Ollama / आदि को सौंपें।
अगले चरण के लिए आउटपुट। JSON, YAML, OpenAPI, SARIF, cURL, Postman, HTML — जो भी फ़ॉर्मेट पाइपलाइन में अगला टूल पढ़ता है।
DAST एकीकरण। सीधे ZAP, Burp Suite, Caido या Gori में proxy target के रूप में पाइप करें, या उनके द्वारा आयात करने के लिए OpenAPI निर्यात करें।
AI SAST संदर्भ। endpoint इन्वेंटरी (और, --include callee के साथ, प्रत्येक handler द्वारा आह्वान किए गए 1-hop फ़ंक्शन) वह केंद्रित संदर्भ है जिसकी एक LLM ऑडिटर को हमलावरों द्वारा पहुँचे जा सकने वाले बग खोजने के लिए आवश्यकता होती है। --ai-context और आगे जाता है और प्रति endpoint एकत्रित समीक्षा संदर्भ संलग्न करता है — guards, callees, sinks, validators, और signals — ताकि LLM को उन्हें फिर से खोजना न पड़े।
CI/CD। GitHub Action, SARIF आउटपुट, exit codes — आपकी मौजूदा पाइपलाइन में फिट बैठता है।
उपयोग
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 में OWASP Foundation में शामिल हुआ।
मई 2026: v1.0.0 जारी किया गया — सभी एनालाइज़र, टैगर, पैसिव-स्कैन में एक स्थिर 1.x श्रृंखला, और एक बिल्कुल नई क्रिया-केंद्रित CLI संरचना पेश की गई।
मई 2026: रोडमैप को नया रूप दिया गया — Noir का लक्ष्य अब मनुष्यों, AI ऑडिटरों, और DAST टूल्स को एक ही एंडपॉइंट इन्वेंटरी के उपभोक्ताओं के रूप में समान रूप से सेवा देना है।
नवंबर 2023: Noir रिपॉज़िटरी को noir-cr GitHub संगठन में स्थानांतरित किया गया।
अगस्त 2023: @hahwul के व्यक्तिगत प्रोजेक्ट के रूप में शुरुआत हुई।
मुख्य टीम
योगदान
Noir ❤️ के साथ बनाया गया एक ओपन-सोर्स प्रोजेक्ट है।
यदि आप योगदान देना चाहते हैं, तो कृपया CONTRIBUTING.md देखें और एक Pull Request सबमिट करें।
शुभंकर
हमारा शुभंकर Hak (학) है, एक सारस जो छिपे हुए दोषों को पहचानने में लालित्य और सटीकता का प्रतीक है। कोरियाई में, "학" का अर्थ "सारस" है, जो एक तेज़ सहयोगी का प्रतिनिधित्व करता है जो आपके कोड में भेद्यताओं और आक्रमण सतहों को उजागर करने के लिए गहराई तक जाता है।