AI Code Security — चार एजेंट जो AI-जनरेटेड कोड में SAST जो चूक जाता है उसे पकड़ते हैं। GitLab Duo Agent Platform पर निर्मित।
40-62% AI-निर्मित कोड में सुरक्षा कमज़ोरियाँ होती हैं। पारंपरिक SAST CVEs पकड़ता है। हम वह पकड़ते हैं जो SAST मिस करता है — prompt injection, LLM output execution, unsafe ML deserialization।
AI कोड उत्पादन को गति देता है लेकिन नई सुरक्षा अड़चनें पैदा करता है:
| मुद्दा | प्रभाव |
|---|---|
| सुरक्षा समीक्षाएँ MR को घंटों या दिनों तक रोकती हैं | प्रति टीम सदस्य 7 घंटे/सप्ताह खोना |
| AI अनुपालन प्रबंधन को कठिन बनाता है | 70% टीमें यह रिपोर्ट करती हैं |
| परिनियोजन के बाद अनुपालन समस्याएँ खोजी गईं | 76% संगठन |
| पारंपरिक SAST उपकरण AI-विशिष्ट जोखिमों को मिस करते हैं | Prompt injection, LLM output-to-exec, unsafe ML deser |
| 40-62% AI-निर्मित कोड में कमज़ोरियाँ होती हैं | कोई मौजूदा उपकरण AI-विशिष्ट खतरे के पैटर्न का पता नहीं लगाता |
स्रोत: GitLab 2025 ग्लोबल DevSecOps रिपोर्ट
AgentFlow Auditor — चार AI एजेंट जो AI-निर्मित कोड में पारंपरिक SAST द्वारा मिस किए गए सुरक्षा जोखिमों को पकड़ते हैं। 41 पता लगाने के नियम जिनमें LLM prompt injection, output-to-exec, unsafe deserialization, SQL injection, SSRF, और path traversal शामिल हैं। स्कैनेबल रिपोर्ट पोस्ट करता है, फिक्स पैच उत्पन्न करता है, जोखिम बहाव को ट्रैक करता है। एक @मेंशन सब कुछ ट्रिगर करता है।
Developer opens MR │ ▼ @duo-agentflow-auditor review this MR │ ▼ ┌───────────────────────────────────────────────────────┐ │ │ │ ┌─────────────┐ ┌──────────────────┐ │ │ │ Scanner │──────▶│ Reporter │ │ │ │ Agent │ │ Agent │ │ │ │ │ │ │ │ │ │ Read diffs │ │ Grade risk │ │ │ │ Match 34 │ │ Risk heatmap │ │ │ │ rules │ │ Post MR comment │ │ │ │ Score risk │ │ Create issue │ │ │ └─────────────┘ └────────┬─────────┘ │ │ │ │ │ ┌───────┴────────┐ │ │ │ SAFE? │ │ │ │ ├─ Yes ──────────────┐ │ │ │ └─ No ───┐ │ │ │ │ └───────────┘ │ │ │ │ │ │ │ │ │ ┌─────────────┐ ┌────────▼───────┘┐ │ │ │ │ Metrics │◀──────│ Fixer │ │ │ │ │ Agent │ │ Agent │ │ │ │ │ │◀──────────────────────────────┘ │ │ │ Baseline │ │ Confidence-scored│ │ │ │ Cross-MR │ │ patches │ │ │ │ Green │ │ Fix branch + MR │ │ │ │ Posture │ │ │ │ │ └─────────────┘ └─────────────────┘ │ │ │ │ GitLab Duo Agent Platform (ambient) │ │ │ │ ┌───────────────────────────────────────────┐ │ │ │ External SAST Agent (CI/CD container) │ │ │ │ bandit + semgrep + custom rules merge │ │ │ └───────────────────────────────────────────┘ │ └───────────────────────────────────────────────────────┘
### एजेंट रोस्टर
| एजेंट | भूमिका | उपकरण | मुख्य क्षमता |
|:------|:-------|:------|:--------------|
| **Scanner** | MR डिफ़्स का विश्लेषण करें | 10 उपकरण | 41 नियम (26 regex + 15 Semgrep), AI-विशिष्ट खतरे का पता लगाना, भेद्यता एकीकरण |
| **Reporter** | ऑडिट रिपोर्ट पोस्ट करें | 7 उपकरण | 10 सेकंड में स्कैनेबल (ग्रेड + हीटमैप + शीर्ष 5), भेद्यता लिंकिंग, DANGER पर स्वचालित मुद्दा |
| **Fixer** | कोड फिक्स उत्पन्न करें | 8 उपकरण | आत्मविश्वास-स्कोर वाले पैच (HIGH/MEDIUM/LOW), स्वचालित फिक्स MR निर्माण |
| **Metrics** | जोखिम आधाररेखा ट्रैक करें | 6 उपकरण | क्रॉस-MR सीखना, टीम की स्थिति, आधाररेखा विचलन, ऊर्जा/कार्बन ट्रैकिंग |
| **SAST Scanner** | बाहरी SAST | CI/CD | bandit + semgrep चलाता है, Python स्क्रिप्ट के माध्यम से कस्टम नियमों के साथ विलय |
---
## विशेषताएँ
<table>
<tr>
<td width="50%">
### सुरक्षा स्कैनिंग
- **41 डिटेक्शन नियम** — 26 regex + 15 Semgrep कस्टम नियम
- **8 जोखिम श्रेणियाँ** — विनाशकारी कमांड से लेकर प्रॉम्प्ट इंजेक्शन तक
- **AI-विशिष्ट डिटेक्शन** — LLM प्रॉम्प्ट इंजेक्शन, आउटपुट-टू-एक्सेक, असुरक्षित डिसीरियलाइज़ेशन
- **जोखिम स्कोरिंग** — प्रति निष्कर्ष 0-100 (गंभीरता x संदर्भ x श्रेणी)
- **ग्रेड सिस्टम** — SAFE / WARNING / DANGER
</td>
<td width="50%">
### ऑटोमेशन
- **एक-ट्रिगर सक्रियण** — `@उल्लेख` या समीक्षक नियुक्त करें
- **शर्तनिर्भर रूटिंग** — SAFE स्कैन फिक्सर को छोड़ देते हैं, टोकन बचाते हैं
- **संरचित MR टिप्पणियाँ** — जोखिम तालिकाएँ, फिक्स सुझाव, संक्षिप्त करने योग्य विवरण
- **स्वचालित फिक्स जनरेशन** — नई शाखा पर कोड पैच
- **मुद्दा निर्माण** — DANGER ग्रेड पर स्वचालित
</td>
</tr>
<tr>
<td width="50%">
### आधाररेखा ट्रैकिंग
- **जोखिम विचलन का पता लगाना** — समय के साथ स्कैन की तुलना करें
- **प्रवृत्ति विश्लेषण** — सुधार / गिरावट / स्थिर
- **फिक्स अपनाने की दर** — ट्रैक करें कि कितने सुझाव लागू किए गए
- **इतिहास लॉग** — प्रति स्कैन JSONL ऐपेंड
</td>
<td width="50%">
### ग्रीन मेट्रिक्स
- **टोकन ट्रैकिंग** — प्रति स्कैन उपयोग
- **ऊर्जा अनुमान** — प्रति स्कैन kWh
- **कार्बन फुटप्रिंट** — kg CO2 वास्तविक दुनिया सादृश्य के साथ
- **ऑप्टिमाइज़ेशन सुझाव** — स्कैन दायरा कम करें, बेसलाइन कैश करें
</td>
</tr>
</table>
---
## डिटेक्शन श्रेणियाँ
### Semgrep कस्टम नियम
6 श्रेणियों में 15 उत्पादन-ग्रेड Semgrep नियम:
| नियम | श्रेणी | गंभीरता | डिटेक्शन |
|:-----|:-------|:---------|:----------|
| `llm-prompt-injection` | AI सुरक्षा | WARNING | LLM API कॉल में उपयोगकर्ता इनपुट का प्रवाह |
| `llm-output-code-exec` | AI सुरक्षा | ERROR | LLM आउटपुट को exec/eval में पास किया गया |
| `unsafe-deserialization-ml` | AI सुरक्षा | WARNING | अविश्वसनीय मॉडलों पर pickle.load, torch.load |
| `sql-injection` | वेब सुरक्षा | ERROR | स्ट्रिंग-स्वरूपित SQL क्वेरी (f-string, .format, concat) |
| `path-traversal` | वेब सुरक्षा | ERROR | फ़ाइल पथ संचालन में उपयोगकर्ता इनपुट (../ ट्रैवर्सल) |
| `ssrf-request-forgery` | वेब सुरक्षा | ERROR | HTTP अनुरोधों में उपयोगकर्ता-नियंत्रित URL |
| `open-redirect` | वेब सुरक्षा | WARNING | रीडायरेक्ट फ़ंक्शन में उपयोगकर्ता इनपुट |
| `missing-input-validation` | वेब सुरक्षा | WARNING | स्कीमा सत्यापन के बिना उपयोग किए गए अनुरोध डेटा |
| `dangerous-eval-exec` | Python | WARNING | डायनामिक सामग्री के साथ eval/exec |
| `subprocess-shell-true` | Python | WARNING | shell=True के साथ subprocess |
| `dangerous-os-system` | Python | WARNING | os.system/popen (अप्रचलित) |
| `insecure-random-python` | क्रिप्टो | WARNING | सुरक्षा टोकन के लिए random मॉड्यूल |
| `insecure-random-javascript` | क्रिप्टो | WARNING | सुरक्षा टोकन के लिए Math.random() |
| `hardcoded-credentials` | रहस्य | WARNING | हार्डकोडेड पासवर्ड, API कुंजियाँ, टोकन |
| `insecure-http` | नेटवर्क | INFO | HTTP URL (HTTPS के लिए ऑटोफिक्स के साथ) |
### Regex डिटेक्शन श्रेणियाँ
| श्रेणी | गंभीरता | उदाहरण पैटर्न |
|:-------|:---------|:---------------|
| विनाशकारी कमांड | 🚨 खतरा | `rm -rf /`, `mkfs`, `dd to disk` |
| क्रेडेंशियल बहिर्वाह | 🚨 खतरा | बाहरी URL को सीक्रेट पोस्ट करने वाला `curl` |
| प्रॉम्प्ट इंजेक्शन (गंभीर) | 🚨 खतरा | "पिछले निर्देशों को अनदेखा करें", भूमिका ओवरराइड |
| अस्पष्ट निष्पादन | 🚨 खतरा | `base64 -d \| bash`, शेल में दूरस्थ पाइप |
| शेल निष्पादन | ⚠️ चेतावनी | `shell=True`, `eval()`, `exec()`, `os.system()` |
| नेटवर्क कॉल | ⚠️ चेतावनी | बाहरी URL पर `curl`/`wget`/`fetch` |
| असुरक्षित परिवहन | ⚠️ चेतावनी | `http://` जहाँ `https://` का उपयोग होना चाहिए |
| हार्डकोडेड क्रेडेंशियल | ⚠️ चेतावनी | स्रोत में पासवर्ड, API कुंजियाँ, टोकन |
### जोखिम स्कोर फॉर्मूला```
score = severity_weight + category_weight + executable_context + actionable + risk_modifier
= clamp(0, 100)
severity_weight: danger=50, warning=25
category_weight: destructive-command=15, credential-exfil=15, prompt-injection=10, ...
executable_context: +20 if file is .sh/.py/.js/.ts
actionable: +15 if executable AND not in trusted domain allowlist
risk_modifier: per-rule adjustment (0-15)
| ग्रेड | शर्त | कार्रवाई |
|---|---|---|
| 🚨 खतरा | max_risk >= 90 OR high_risk_findings >= 3 | मर्ज को ब्लॉक करें + इश्यू बनाएँ |
| ⚠️ चेतावनी | max_risk >= 70 OR high_risk_findings >= 1 | मर्ज से पहले समीक्षा करें |
| ✅ सुरक्षित | कोई महत्वपूर्ण जोखिम संकेत नहीं | मर्ज करना सुरक्षित |
git clone https://gitlab.com/centisgood/duo-agentflow-auditor.git cd duo-agentflow-auditor
> 📖 पूर्ण मिररिंग गाइड (3 विधियाँ, CI सेटअप, सिंक रणनीतियाँ): [`docs/GITLAB_MIRROR_GUIDE.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/GITLAB_MIRROR_GUIDE.md)
### 2. एजेंट्स और फ्लो स्वचालित रूप से प्रकाशित होते हैं
हैकाथॉन समूह [सुरक्षा नीति](https://gitlab.com/gitlab-ai-hackathon/security-policies) के माध्यम से एक [केंद्रीय CI पाइपलाइन](https://gitlab.com/gitlab-ai-hackathon/ci) लागू करता है। जब आप GitLab पर पुश करते हैं, तो `catalog-sync` जॉब **स्वचालित रूप से** सभी `agents/*.yml` और `flows/*.yml` को AI कैटलॉग में प्रकाशित करता है — किसी मैन्युअल सेटअप या git टैग की आवश्यकता नहीं है।
> आपका प्रोजेक्ट `.gitlab-ci.yml` हैकाथॉन की केंद्रीय पाइपलाइन द्वारा ओवरराइड किया जाता है। शामिल `.gitlab-ci.yml` केवल संदर्भ के रूप में कार्य करता है।
| # | एजेंट | कैटलॉग फ़ाइल | प्रॉम्प्ट दस्तावेज़ | उपकरण |
|---|-------|-------------|-------------|-------|
| 1 | Scanner | [`agents/scanner.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/scanner.yml) | [`agents/scanner.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/scanner.md) | 8 उपकरण |
| 2 | Reporter | [`agents/reporter.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/reporter.yml) | [`agents/reporter.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/reporter.md) | 6 उपकरण |
| 3 | Fixer | [`agents/fixer.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/fixer.yml) | [`agents/fixer.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/fixer.md) | 8 उपकरण |
| 4 | Metrics | [`agents/metrics.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/metrics.yml) | [`agents/metrics.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/agents/metrics.md) | 5 उपकरण |
फ्लो: [`flows/security-audit.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/flows/security-audit.yml) — Scanner → Reporter → Fixer → Metrics रूटिंग के साथ 4-एजेंट पाइपलाइन।
<details>
<summary>वैकल्पिक: GitLab UI के माध्यम से मैन्युअल सेटअप</summary>
**एजेंट्स**: Automate → Agents → New agent → `.md` फ़ाइलों से सिस्टम प्रॉम्प्ट पेस्ट करें
**फ्लो**: Automate → Flows → New flow → [`flows/security-audit.yml`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/flows/security-audit.yml) से परिभाषा पेस्ट करें
</details>
### 3. ट्रिगर सक्षम करें
| ट्रिगर | कैसे |
|---------|-----|
| Mention | किसी भी MR में `@duo-agentflow-auditor` टिप्पणी करें |
| Assign reviewer | सेवा खाते को MR समीक्षक के रूप में नियुक्त करें |
### 4. इसे आज़माएँ```bash
# Create test branch with vulnerable code
git checkout -b test/security-audit
cp examples/vulnerable-mr/* .
git add . && git commit -m "test: add vulnerable code for audit"
git push origin test/security-audit
# Open MR → Comment: @duo-agentflow-auditor please review this MR
विस्तृत वॉकथ्रू: देखें
docs/SETUP_GUIDE.md
Grade: 🚨 DANGER Recommendation: FAIL — do not merge without fixes
| Risk | File | Findings | Max Score |
|---|---|---|---|
| 🟥🟥🟥🟥🟥 | unsafe_script.py | 5 | 95 |
| 🟥🟥🟥🟧⬜ | risky_config.yaml | 3 | 78 |
| 🟧🟧⬜⬜⬜ | insecure_fetch.js | 2 | 62 |
🚨 unsafe_script.py:55 — rm -rf (95/100) 🚨 unsafe_script.py:13 — shell=True (88/100) 🚨 unsafe_script.py:27 — eval() (85/100) ⚠️ insecure_fetch.js:41 — HTTP (62/100)
### हरित मीट्रिक्स```markdown
### 🌱 Sustainability Report
| Metric | Value |
|---------------------|---------------------|
| Tokens Used | 12,450 |
| Energy | 0.0037 kWh |
| CO₂ Footprint | 0.0014 kg |
| Efficiency | 2.4 findings/1K tok |
💡 LED bulb for 13 seconds | 🚗 Car driving 5.6 meters
duo-agentflow-auditor/ │ ├── agents/ │ ├── scanner.yml # Catalog agent — security scanner │ ├── reporter.yml # Catalog agent — report generator │ ├── fixer.yml # Catalog agent — auto-fix patches │ ├── metrics.yml # Catalog agent — green metrics │ ├── scanner.md # Detailed prompt documentation │ ├── reporter.md # Detailed prompt documentation │ ├── fixer.md # Detailed prompt documentation │ └── metrics.md # Detailed prompt documentation │ ├── flows/ │ └── security-audit.yml # Catalog flow — conditional routing pipeline │ ├── scripts/ │ ├── merge_sast_results.py # SAST result merger (bandit + semgrep + custom rules) │ └── demo.sh # E2E demo automation (glab CLI) │ ├── tests/ │ └── test_merge_sast_results.py # 76 pytest tests — scoring, grading, parsing │ ├── .gitlab/ │ └── duo/ │ └── flows/ │ └── sast-scanner.yaml # External SAST agent (CI/CD container) │ ├── rules/ │ ├── danger_rules.json # 11 high-severity detection patterns │ ├── warning_rules.json # 15 medium-severity detection patterns │ └── semgrep/ # 15 Semgrep custom rules │ ├── ai-security/ # LLM prompt injection, output exec, unsafe deser │ ├── web-security/ # SQL injection, path traversal, SSRF, open redirect, input validation │ ├── python-security/ # eval/exec, subprocess, os.system │ ├── crypto/ # Insecure random (Python + JavaScript) │ ├── secrets/ # Hardcoded credentials │ └── network/ # Insecure HTTP (with autofix) │ ├── Dockerfile # Production SAST container (python:3.11-slim) ├── requirements.txt # bandit + semgrep dependencies │ ├── examples/ │ ├── vulnerable-mr/ # Intentionally risky code (demo) │ │ ├── unsafe_script.py # shell=True, eval(), rm -rf, cred leak │ │ ├── risky_config.yaml # Prompt injection, hardcoded secrets │ │ └── insecure_fetch.js # HTTP, exec(), token exposure │ └── safe-mr/ # Secure code for contrast (demo) │ ├── safe_script.py │ ├── safe_config.yaml │ └── safe_script.js # HTTPS, execFile, env vars │ ├── docs/ │ ├── SETUP_GUIDE.md # Step-by-step setup │ ├── EXECUTION_PLAN.md # Implementation plan │ ├── WOW_MOMENTS.md # Visual impact & demo choreography │ ├── DEVPOST_SUBMISSION.md # Devpost submission draft │ └── GITLAB_MIRROR_GUIDE.md # GitHub → GitLab mirroring │ ├── .gitlab-ci.yml # CI — catalog-sync + validation ├── AGENTS.md # Project-level agent customization ├── IMPLEMENTATION.md # Architecture & design document ├── CONTRIBUTING.md # Contribution guidelines ├── LICENSE # MIT License └── README.md # This file
---
## प्रौद्योगिकी
| घटक | प्रौद्योगिकी |
|:----------|:-----------|
| **प्लेटफ़ॉर्म** | GitLab Duo Agent Platform (GA in GitLab 18.8) |
| **AI मॉडल** | Anthropic Claude Sonnet |
| **फ़्लो स्कीमा** | Flow Registry v1 (`ambient` environment) |
| **ट्रिगर** | Mention, Assign, Assign Reviewer |
| **एजेंट उपकरण** | 30+ GitLab निर्मित उपकरण 4 एजेंटों में (भेद्यता लिंकिंग सहित) |
| **पता लगाना** | 41 नियम: 26 रेगेक्स + 15 सेमग्रेप (AI सुरक्षा, वेब सुरक्षा, क्रिप्टो, रहस्य, नेटवर्क) |
| **बाहरी SAST** | डॉकरीकृत bandit + semgrep पाइपलाइन परिणाम मर्जर के साथ |
| **परीक्षण** | 76 pytest परीक्षण स्कोरिंग, ग्रेडिंग और पार्सिंग को कवर करते हैं |
| **आउटपुट** | Markdown MR टिप्पणियाँ, GitLab Issues, Fix MRs |
---
## दस्तावेज़ीकरण
| दस्तावेज़ | विवरण |
|:---------|:-----------|
| [`IMPLEMENTATION.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/IMPLEMENTATION.md) | आर्किटेक्चर, स्कोरिंग फॉर्मूला, डेमो स्क्रिप्ट, जजिंग संरेखण |
| [`docs/SETUP_GUIDE.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/SETUP_GUIDE.md) | समस्या निवारण के साथ 7-चरणीय वॉकथ्रू |
| [`docs/EXECUTION_PLAN.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/EXECUTION_PLAN.md) | ~35 सूक्ष्म कार्यों के साथ 6-चरणीय योजना |
| [`docs/WOW_MOMENTS.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/WOW_MOMENTS.md) | दृश्य प्रभाव डिज़ाइन और डेमो कोरियोग्राफी |
| [`docs/DEVPOST_SUBMISSION.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/DEVPOST_SUBMISSION.md) | कॉपी-पेस्ट सबमिशन फॉर्म टेक्स्ट |
| [`AGENTS.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/AGENTS.md) | प्रोजेक्ट-स्तरीय स्कैनिंग अनुकूलन |
| [`docs/GITLAB_MIRROR_GUIDE.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/docs/GITLAB_MIRROR_GUIDE.md) | GitHub → GitLab मिररिंग (3 विधियाँ) |
| [`CONTRIBUTING.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/CONTRIBUTING.md) | योगदान कैसे करें |
---
## परीक्षण```bash
# Run the full test suite (76 tests)
python -m pytest tests/ -v
# Run with coverage
python -m pytest tests/ --cov=scripts --cov-report=term-missing
परीक्षण कवर करते हैं: JSON लोडिंग, नियम विश्लेषण, गंभीरता/श्रेणी सामान्यीकरण, जोखिम स्कोरिंग सूत्र, ग्रेड वर्गीकरण, bandit/semgrep आउटपुट विश्लेषण, खोजों का डुप्लिकेशन हटाना, और CLI प्रवेश बिंदु।
scripts/demo.sh
scripts/demo.sh --gitlab-remote origin
scripts/demo.sh --cleanup
डेमो स्क्रिप्ट एक परीक्षण MR बनाती है जिसमें असुरक्षित कोड होता है, `@mention` के माध्यम से ऑडिटर को ट्रिगर करती है, और परिणामों के लिए पोल करती है।
---
## योगदान
दिशानिर्देशों के लिए [`CONTRIBUTING.md`](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/CONTRIBUTING.md) देखें।
**त्वरित सारांश:**
1. रिपॉज़िटरी को फ़ोर्क करें
2. एक फीचर शाखा बनाएँ (`git checkout -b feature/amazing`)
3. परिवर्तनों को कमिट करें (`git commit -m 'feat: add amazing feature'`)
4. शाखा में पुश करें (`git push origin feature/amazing`)
5. एक मर्ज अनुरोध खोलें
---
## AI विरोधाभास — यह क्यों मायने रखता है
<div align="center">
| बिना AgentFlow ऑडिटर के | AgentFlow ऑडिटर के साथ |
|:--------------------------|:----------------------|
| MR समीक्षा के लिए 2+ दिन प्रतीक्षा करता है | पूर्ण ऑडिट में **45 सेकंड** |
| SAST AI-विशिष्ट जोखिमों को याद करता है | **41 नियम** जिसमें 3 AI-विशिष्ट + 7 वेब सुरक्षा खतरे शामिल हैं |
| कोई सुधार सुझाव नहीं | **विश्वास-स्कोर वाले पैच** (HIGH/MED/LOW) |
| SAFE स्कैन फिक्सर टोकन बर्बाद करते हैं | **सशर्त रूटिंग** फिक्सर को छोड़ देता है |
| समय के साथ कोई ट्रैकिंग नहीं | **क्रॉस-MR सीखना** + टीम की स्थिति |
| कोई ऊर्जा जागरूकता नहीं | प्रति स्कैन **हरित मीट्रिक्स** |
</div>
---
## लाइसेंस
यह परियोजना [MIT License](https://gitlab.com/centisgood/duo-agentflow-auditor/-/blob/main/LICENSE) के तहत लाइसेंस प्राप्त है।
---
<div align="center">
**एक ट्रिगर। चार एजेंट। शून्य AI अंध धब्बे।**
[GitLab Duo Agent Platform](https://docs.gitlab.com/user/duo_agent_platform/) और [Anthropic Claude](https://www.anthropic.com/) के साथ निर्मित
</div>