opensource repo for validating agentic AI applications: redteam, behavior, supply-chain, static analysis एजेंटिक AI अनुप्रयोगों को मान्य करने के लिए ओपनसोर्स रिपॉज़िटरी: redteam, behavior, supply-chain, static analysis
NuGuard एक ओपन सोर्स AI एप्लिकेशन सुरक्षा टूलकिट है। इसका लक्ष्य एजेंटिक AI अनुप्रयोगों का सबसे व्यापक रेडटीमिंग और व्यवहारिक सत्यापन प्रदान करना है।
NuGuard के साथ, AI डेवलपर्स अपने अनुप्रयोगों को बनाने पर ध्यान केंद्रित कर सकते हैं, जबकि NuGuard लगातार उन्हें सुरक्षा जोखिमों की एक विस्तृत श्रृंखला के विरुद्ध परीक्षण और सत्यापित करता है, जिसमें सप्लाई चेन अटैक, प्रॉम्प्ट इंजेक्शन, MCP टूल दुरुपयोग, API अटैक, डेटा एक्सफिल्ट्रेशन और बहुत कुछ शामिल है। NuGuard डेवलपर्स को अपने सुरक्षा वर्कफ़्लो को तेज़ करने और आत्मविश्वास के साथ तेज़ी से प्रोडक्शन तक पहुँचने में सक्षम बनाता है।
NuGuard का एक व्यावसायिक संस्करण अतिरिक्त सुविधाओं और समर्थन के साथ SaaS उत्पाद के रूप में उपलब्ध है, इसे http://nuguard.ai पर देखें।
आज लागू और उपयोग योग्य:
nuguard sbomnuguard analyzenuguard scannuguard policynuguard behaviornuguard redteamuvPython CLI:
pip install nuguard
नीचे दिए गए चरण बताते हैं कि स्थानीय विकास वातावरण कैसे सेट अप करें। यह अनुशंसित है यदि आप नवीनतम कोड चलाना चाहते हैं, परियोजना में योगदान करना चाहते हैं, या CLI को LLM-सहायित सुविधाओं के साथ चलाना चाहते हैं जिनके लिए स्थानीय पर्यावरण चर कॉन्फ़िगरेशन की आवश्यकता होती है।
uv sync --dev
CLI को इसके साथ चलाएँ:
uv run nuguard --help
या, वर्चुअल वातावरण से:
. .venv/bin/activate
nuguard --help
docs/plugin-guide.md में दिए गए निर्देशों का पालन करके Claude के लिए NuGuard प्लगइन सेट अप करें और इसका उपयोग /nuguard-sbom, /nuguard-analyze, और /nuguard-redteam जैसे कमांड को सीधे Claude के साथ अपनी बातचीत से चलाने के लिए करें।
nuguard sbom generate --source . --output app.sbom.json
आप एक दूरस्थ रिपॉजिटरी भी स्कैन कर सकते हैं:
nuguard sbom generate \
--from-repo https://github.com/org/repo \
--ref main \
--output app.sbom.json
nuguard analyze --sbom app.sbom.json --format markdown
विशिष्ट आउटपुट:
markdownjsonsarifnuguard behavior \
--sbom app.sbom.json \
--target http://localhost:3000 \
--format markdown
nuguard redteam \
--config nuguard.yaml \
--output reports/redteam.md \
--format markdown
अधिक समृद्ध रेड-टीम कवरेज के लिए, आप यह भी प्रदान कर सकते हैं:
--policy के साथ एक संज्ञानात्मक नीति--canary के साथ कैनरी मान--config के साथ एक कॉन्फ़िग फ़ाइलnuguard scan \
--source . \
--output-dir nuguard-reports
डिफ़ॉल्ट रूप से यह एक ही पास में SBOM जनरेशन के साथ स्थैतिक विश्लेषण चलाता है। नीति और रेड-टीम सत्यापन शामिल करने के लिए, उन चरणों का चयन करें और आवश्यक इनपुट प्रदान करें:
nuguard scan \
--source . \
--steps sbom,analyze,policy,redteam \
--policy cognitive_policy.md \
--target http://localhost:3000 \
--output-dir nuguard-reports
NuGuard nuguard.yaml के माध्यम से परियोजना कॉन्फ़िगरेशन का समर्थन करता है। एक संपादन-योग्य उदाहरण nuguard.yaml.example पर उपलब्ध है।
उदाहरण कॉन्फ़िग में मुख्य क्षेत्र:
sbom: मौजूदा SBOM पथsource: जनरेशन के लिए स्रोत निर्देशिकाpolicy: संज्ञानात्मक नीति पथllm: LLM-सहायित सुविधाओं के लिए मॉडल सेटिंग्सbehavior: व्यवहारिक परीक्षण के लिए लक्ष्य URL, एंडपॉइंट, और परीक्षण प्रोफ़ाइल सेटिंग्सredteam: लक्ष्य URL, एंडपॉइंट, कैनरी फ़ाइल, प्रोफ़ाइल, परिदृश्य फ़िल्टर, निर्देशित वार्तालाप सेटिंग्स, और निष्कर्ष ट्रिगर नियंत्रण (finding_triggers.*)analyze: न्यूनतम गंभीरता सीमाdatabase: SQLite या Postgres-समर्थित भंडारण सेटिंग्सoutput: आउटपुट प्रारूप और विफलता सीमाCLI फ़्लैग nuguard.yaml पर प्राथमिकता लेते हैं, जो पर्यावरण चर और अंतर्निहित डिफ़ॉल्ट पर प्राथमिकता लेता है।
NuGuard गतिशील परीक्षण के दौरान सीड किए गए कैनरी मानों पर नज़र रख सकता है ताकि उच्च-विश्वास वाले एक्सफिल्ट्रेशन निष्कर्ष उत्पन्न किए जा सकें। canary.example.json से शुरू करें, अपनी स्थानीय canary.json बनाएं, उन मानों को लक्ष्य प्रणाली में सीड करें, फिर --canary के साथ nuguard redteam को उस फ़ाइल पर इंगित करें।
अधिक विवरण docs/redteam-engine.md में उपलब्ध है।
Dev निर्भरताएँ स्थापित करें:
make dev
परीक्षण चलाएँ:
make test
Linting और टाइप जाँच चलाएँ:
make lint
कोडबेस को फ़ॉर्मेट करें:
make fmt
इस रिपॉजिटरी में TestPyPI और PyPI के लिए Trusted Publishing के लिए GitHub Actions वर्कफ़्लो शामिल हैं:
वर्कफ़्लो प्रकाशित होने से पहले, TestPyPI और PyPI में nuguard परियोजना के लिए Trusted Publishers कॉन्फ़िगर करें:
NuGuardAInuguardpublish-testpypi.yml या publish-pypi.ymltestpypi या pypiअनुशंसित रिलीज़ प्रवाह:
TestPyPI या PyPI पर प्रकाशित करने से पहले, त्वरित मल्टी-ऐप सैनिटी गेट चलाएँ।
वन-शॉट रनर:
bash tests/apps/prepublish-sanity.sh
यह रनर निम्न कार्य करता है:
nuguard --help और महत्वपूर्ण स्थानीय परीक्षण)intent_happy_path वर्कफ़्लो के साथ डायनामिक मोड में व्यवहार रनprofile: ci के साथ रेडटीम रनरनर द्वारा उपयोग की जाने वाली प्रीपब्लिश कॉन्फ़िग फ़ाइलें:
tests/apps/openai-cs-agents-demo/nuguard.prepublish.yamltests/apps/Gemini-Auto-app/nuguard.prepublish.yamltests/apps/pinnacle-bank-app/nuguard-azure.prepublish.yamlप्रति ऐप मैन्युअल रूप से चलाएँ (यदि आवश्यक हो):
# OpenAI CS agents demo
uv run nuguard sbom generate --config tests/apps/openai-cs-agents-demo/nuguard.prepublish.yaml --format json -o tests/apps/openai-cs-agents-demo/openai-cs.sbom.json
uv run nuguard behavior --config tests/apps/openai-cs-agents-demo/nuguard.prepublish.yaml --mode dynamic --format json --format markdown --output tests/apps/openai-cs-agents-demo/reports/openai-cs-prepublish-behavior --verbose
uv run nuguard redteam --config tests/apps/openai-cs-agents-demo/nuguard.prepublish.yaml --format json --format markdown --output tests/apps/openai-cs-agents-demo/reports/openai-cs-prepublish-redteam --verbose
# Gemini Auto app
uv run nuguard sbom generate --config tests/apps/Gemini-Auto-app/nuguard.prepublish.yaml --format json -o tests/apps/Gemini-Auto-app/gemini-auto.sbom.json
uv run nuguard behavior --config tests/apps/Gemini-Auto-app/nuguard.prepublish.yaml --mode dynamic --format json --format markdown --output tests/apps/Gemini-Auto-app/reports/gemini-auto-prepublish-behavior --verbose
uv run nuguard redteam --config tests/apps/Gemini-Auto-app/nuguard.prepublish.yaml --format json --format markdown --output tests/apps/Gemini-Auto-app/reports/gemini-auto-prepublish-redteam --verbose
# Pinnacle Bank app
uv run nuguard sbom generate --config tests/apps/pinnacle-bank-app/nuguard-azure.prepublish.yaml --format json -o tests/apps/pinnacle-bank-app/pinnacle-bank.sbom.json
uv run nuguard behavior --config tests/apps/pinnacle-bank-app/nuguard-azure.prepublish.yaml --mode dynamic --format json --format markdown --output tests/apps/pinnacle-bank-app/reports/pinnacle-bank-prepublish-behavior --verbose
uv run nuguard redteam --config tests/apps/pinnacle-bank-app/nuguard-azure.prepublish.yaml --format json --format markdown --output tests/apps/pinnacle-bank-app/reports/pinnacle-bank-prepublish-redteam --verbose
महत्वपूर्ण:
|| true का उपयोग न करें।2 निष्कर्षों या नीति गेट का संकेत दे सकता है; इसे एक संकेत के रूप में मानें और पास/फेल तय करने के लिए रिपोर्ट-गुणवत्ता जाँचों पर भरोसा करें।tests/output/ के अंतर्गत उदाहरण आउटपुट और बेंचमार्क फिक्स्चर शामिल हैंलाइसेंस जानकारी LICENSE फ़ाइल में उपलब्ध है।