
AgentField पर AI-नेटिव कोड सुरक्षा ऑडिटर जो निर्णयों, ट्रेस और कार्रवाई योग्य साक्ष्य के साथ शोषणीयता साबित करता है।
आउटपुट • बेंचमार्क • यह कैसे काम करता है • तुलना • त्वरित आरंभ • API
अन्य उपकरण पैटर्न की ओर इशारा करते हैं। SEC-AF शोषण-क्षमता सिद्ध करता है: हर निष्कर्ष के साथ एक निर्णय, एक डेटा-प्रवाह ट्रेस और ऐसा साक्ष्य मिलता है जिस पर आप कार्य कर सकते हैं। निःशुल्क, ओपन सोर्स, एक API कॉल। 30 सत्यापित निष्कर्षों वाला एक पूर्ण ऑडिट लगभग $1.40 LLM कॉल में आता है।
इसे af CLI से ट्रिगर करें (af ≥ 0.1.87 आवश्यक है) — यह लाइव प्रगति स्ट्रीम करता है और परिणाम प्रिंट करता है:```bash
af call sec-af.audit --in '{"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}'
रॉ HTTP पसंद है? curl के साथ सीधे API को हिट करें:```bash
curl -X POST http://localhost:8080/api/v1/execute/async/sec-af.audit \
-H "Content-Type: application/json" \
-d '{"input": {"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}}'
यह SEC-AF द्वारा DVGA (एक जानबूझकर कमजोर GraphQL ऐप) का ऑडिट करने से प्राप्त एक वास्तविक निष्कर्ष है:```jsonc { "title": "OS Command Injection in run_cmd Helper Function", "severity": "critical", "verdict": "confirmed", // not "maybe" — confirmed exploitable "evidence_level": 5, "cwe_id": "CWE-78",
"rationale": "Tracer confirms complete data flow from GraphQL parameters (host, port, path, scheme, cmd, arg) to os.popen(cmd).read() sink. Sanitization functions are bypassable in Easy mode...",
"proof": { "verification_method": "composite_subagent_chain:sast", "data_flow_trace": [ { "description": "core/views.py:203 — GraphQL args defined (host, port, path, scheme)", "tainted": true }, { "description": "core/views.py:210 — URL constructed from user input", "tainted": true }, { "description": "core/views.py:211 — helpers.run_cmd(f'curl {url}') called", "tainted": true }, { "description": "core/helpers.py:9 — os.popen(cmd).read() executes input", "tainted": true } ] },
"location": { "file_path": "core/helpers.py", "start_line": 9, "code_snippet": "def run_cmd(cmd):\n return os.popen(cmd).read()" } }
प्रत्येक फ़ाइंडिंग में एक **निर्णय** (`confirmed` / `likely` / `inconclusive` / `not_exploitable`), पूर्ण taint ट्रेस के साथ एक **प्रमाण ऑब्जेक्ट**, और सटीक कोड स्थान शामिल होता है। ऐसा नहीं कि "यह समस्या हो सकती है।" SEC-AF स्रोत से sink तक डेटा का पता लगाता है और साबित करता है कि क्या यह वास्तव में शोषणीय है।
> Full benchmark output (30 findings): [`exampl/dvga-benchmark-result.json`](https://github.com/agent-field/sec-af/blob/HEAD/exampl/dvga-benchmark-result.json) | Performance analysis: [`exampl/benchmark-analysis.json`](https://github.com/agent-field/sec-af/blob/HEAD/exampl/benchmark-analysis.json)
## बेंचमार्क: DVGA
हम [Damn Vulnerable GraphQL Application](https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application) के खिलाफ SEC-AF चलाते हैं, जो 21 प्रलेखित सुरक्षा परिदृश्यों वाला एक जानबूझकर कमजोर ऐप है।
| मीट्रिक | मान |
|---|---|
| खोजी गई कच्ची फ़ाइंडिंग | 106 |
| AI डिडुप्लीकेशन के बाद | 61 |
| **प्रतिकूल सत्यापन के बाद** | **28 पुष्टिकृत** |
| अनिर्णीत (मैन्युअल समीक्षा की आवश्यकता) | 1 |
| शोषण योग्य नहीं (सही ढंग से अस्वीकृत) | 1 |
| शोर में कमी | 94% |
| DAG किनारे (रीज़नर कॉल्स) | 82 |
| एजेंट कॉल्स | ~166–255 |
| चलाई गई रणनीतियाँ | 11 |
| वॉल-क्लॉक समय | ~78 मिनट |
| अनुमानित लागत (Kimi K2.5) | ~$0.18–$0.90 |
<details>
<summary><strong>30 सत्यापित फ़ाइंडिंग का श्रेणी-वार विवरण</strong></summary>
| श्रेणी | गिनती | उदाहरण |
|---|---|---|
| अनुपस्थित प्रमाणीकरण | 8 | ImportPaste, delete_all_pastes, system_debug, CreateUser, फ़ाइल अपलोड |
| कमांड इंजेक्शन | 4 | `os.popen(cmd)` ImportPaste, system_debug, system_diagnostics के माध्यम से |
| SQL इंजेक्शन | 3 | `resolve_pastes` में बिना सैनिटाइज़ किया गया `filter`, LIKE पैटर्न इंजेक्शन, login |
| प्रमाणीकरण बायपास | 3 | JWT हस्ताक्षर अक्षम, JWT प्राधिकरण बायपास, टूटा हुआ पासवर्ड प्रमाणीकरण |
| प्लेनटेक्स्ट क्रेडेंशियल्स | 3 | क्लियरटेक्स्ट पासवर्ड भंडारण, प्लेनटेक्स्ट तुलना, डायग्नोस्टिक्स में पासवर्ड |
| SSRF | 2 | ImportPaste म्यूटेशन सर्वर-साइड पर उपयोगकर्ता-आपूर्ति किए गए URL का अनुसरण करता है |
| बिज़नेस लॉजिक / URL सैनिटाइज़ेशन | 2 | अपर्याप्त URL सैनिटाइज़ेशन, बिना प्रमाणीकरण के थोक विलोपन |
| DoS / संसाधन थकावट | 3 | users/audits क्वेरीज़ पर पेजिनेशन की कमी, अनियंत्रित simulate_load |
| कॉन्फ़िग / सीक्रेट्स | 2 | हार्डकोडेड JWT/Flask सीक्रेट्स, प्रोडक्शन में डीबग मोड सक्षम |
</details>
<details>
<summary><strong>डिज़ाइन पैटर्न: AI-नेटिव सुरक्षा विश्लेषण कैसे काम करता है</strong></summary>
SEC-AF कई आर्किटेक्चरल पैटर्न लागू करता है जो एक मोनोलिथिक स्कैन चलाने के बजाय कई केंद्रित AI एजेंटों को संयोजित करके विशिष्ट रूप से सक्षम होते हैं। ये पैटर्न AI-संचालित सुरक्षा विश्लेषण की मूलभूत चुनौतियों का समाधान करते हैं।
**1. प्रतिकूल एजेंट तनाव (HUNT बनाम PROVE)**
अधिकांश AI सुरक्षा उपकरण एक ही मॉडल से पूछते हैं "क्या यह कमजोर है?" और उत्तर स्वीकार कर लेते हैं। SEC-AF संरचनात्मक रूप से _फ़ाइंडिंग_ एजेंटों को _अस्वीकृत करने वाले_ एजेंटों से अलग करता है। Hunter को कमजोरियाँ खोजने के लिए प्रोत्साहित किया जाता है; prover को उन्हें अस्वीकृत करने के लिए प्रोत्साहित किया जाता है। प्रत्येक फ़ाइंडिंग 4-एजेंट सत्यापन श्रृंखला से गुजरती है — एक tracer डेटा प्रवाह का पुनर्निर्माण करता है, एक सैनिटाइज़ेशन विश्लेषक ऐसे शमन उपायों की तलाश करता है जिन्हें hunter ने अनदेखा किया हो, एक exploit hypothesis निर्माता एक ठोस हमले का परिदृश्य बनाता है, और एक verdict एजेंट सभी परस्पर विरोधी साक्ष्यों का मूल्यांकन करता है। एजेंटों के बीच यह प्रतिकूल तनाव ही 94% शोर में कमी को प्रेरित करता है — आर्किटेक्चर स्वयं संदेहवाद को एन्कोड करता है।
**2. प्रगतिशील संकुचन के साथ सिग्नल कैस्केड**
उपयोगकर्ता पर सभी फ़ाइंडिंग थोपने के बजाय, पाइपलाइन हर चरण में सिग्नल को संपीड़ित करती है: 106 कच्ची फ़ाइंडिंग → AI डिडुप्लीकेशन के बाद 61 → प्रतिकूल सत्यापन के बाद 30। प्रत्येक चरण एक फ़िल्टर है। यह दर्शाता है कि मानव सुरक्षा टीमें कैसे ट्रायेज करती हैं — पहले व्यापक खोज, फिर धीरे-धीरे सख्त जाँच। मुख्य अंतर्दृष्टि यह है कि प्रत्येक फ़िल्टर एक _अलग प्रकार_ की AI तर्क-प्रक्रिया है: डिडुप के लिए सिमेंटिक समानता, सत्यापन के लिए taint विश्लेषण, पुष्टिकरण के लिए exploit निर्माण।
**3. कॉन्टेक्स्ट प्रूनिंग के माध्यम से सूचना अर्थव्यवस्था**
LLM को अप्रासंगिक कॉन्टेक्स्ट देने पर वे अधिक भ्रमित (hallucinate) करते हैं। SEC-AF केवल वही जानकारी रूट करता है जिसकी प्रत्येक एजेंट को आवश्यकता होती है: एक इंजेक्शन hunter को डेटा प्रवाह मानचित्रों और इनपुट प्रवेश बिंदुओं तक सीमित recon कॉन्टेक्स्ट मिलता है, जबकि एक क्रिप्टो hunter को डिपेंडेंसी ट्री और कुंजी प्रबंधन पैटर्न मिलते हैं। Verifiers को उनके विशिष्ट सत्यापन विधि के लिए आवश्यक केवल फ़ील्ड्स के साथ प्रोजेक्टेड फ़ाइंडिंग व्यू प्राप्त होते हैं। यह प्रति-रणनीति कॉन्टेक्स्ट प्रूनिंग भ्रम और लागत दोनों को कम करती है — एजेंट उस जानकारी से स्वयं को भ्रमित नहीं कर सकते जो वे कभी देखते ही नहीं हैं।
**4. स्ट्रीमिंग फेज़ ओवरलैप**
पारंपरिक पाइपलाइनें क्रमिक रूप से चलती हैं: recon पूरा करें, फिर hunting शुरू करें, फिर proving शुरू करें। SEC-AF `asyncio.Queue` के माध्यम से फेज़ को ओवरलैप करता है — hunter आते ही recon आउटपुट का उपभोग करना शुरू कर देते हैं, और प्रत्येक hunter के पूरा होने पर dedup फ़ाइंडिंग को प्रोसेस करता है। पहली डिडुप्लीकेटेड फ़ाइंडिंग का सत्यापन prover तब शुरू करते हैं जब बाद के hunter अभी भी चल रहे होते हैं। यह स्ट्रीमिंग आर्किटेक्चर सिग्नल कैस्केड का त्याग किए बिना वॉल-क्लॉक समय कम करता है — प्रत्येक फ़ाइंडिंग फिर भी हर फ़िल्टर से गुजरती है, बस पहले।
**5. AI गेट्स के माध्यम से डायनेमिक रूटिंग**
पाइपलाइन रनटाइम पर अपनी खोजों के आधार पर अनुकूलित होती है। एक AI गेट recon आउटपुट की जाँच करता है और चुनता है कि कौन सी hunt रणनीतियाँ सक्रिय करनी हैं — JWT प्रमाणीकरण वाला Flask ऐप gRPC वाले Go माइक्रोसर्विस से भिन्न hunter ट्रिगर करता है। एक अलग CWE विस्तार गेट पता लगाए गए टेक्नोलॉजी स्टैक के आधार पर कमजोरियों की लक्ष्य सूची को गतिशील रूप से व्यापक बनाता है। एक reachability गेट मूल्यांकन करता है कि क्या डिपेंडेंसी कमजोरियों में शोषण योग्य कॉल पाथ हैं, इससे पहले कि अप्राप्य कोड पर सत्यापन संसाधन बर्बाद हों।
**6. कोडिंग एजेंटों के लिए गाइडेड ऑटोनॉमी**
SEC-AF AgentField हार्नेस के माध्यम से कोडिंग एजेंटों (Claude Code, OpenCode, Codex) के ऊपर चलता है। एजेंट को एक विशाल प्रॉम्प्ट देने के बजाय, प्रत्येक reasoner फेज़-अवेयर गाइडेड ऑटोनॉमी प्रदान करता है: एजेंट को एक संकीर्ण कार्य परिभाषा, एक फ्लैट आउटपुट स्कीमा (2-4 फ़ील्ड्स), और रणनीति-विशिष्ट कॉन्टेक्स्ट मिलता है। एजेंट को इन सीमाओं के भीतर पूर्ण स्वायत्तता होती है — वह फ़ाइलें पढ़ सकता है, कोड ट्रेस कर सकता है, और स्वतंत्र रूप से तर्क कर सकता है — लेकिन हार्नेस उसके आउटपुट के _आकार_ को बाधित करता है। यह सामान्य विफलता मोड को रोकता है जहाँ स्वायत्त एजेंट कार्य से भटक जाते हैं या असंरचित परिणाम उत्पन्न करते हैं।
**7. पूर्ण अवलोकनीयता के साथ कम्पोज़ेबल रीज़नर DAG**
हर एजेंट कॉल AgentField कंट्रोल प्लेन से होकर गुजरती है, जिससे ऑडिट का एक पूर्ण निर्देशित अचक्रीय ग्राफ बनता है। आप देख सकते हैं कि किस hunter ने कौन सी फ़ाइंडिंग खोजी, प्रत्येक सत्यापन में कितना समय लगा, prover ने क्या साक्ष्य उत्पन्न किया, और पाइपलाइन ने अपना समय कहाँ बिताया। एक नई कमजोरी क्लास जोड़ना एक फ़ाइल है — एक नया hunter। ऑर्केस्ट्रेटर उसे खोजता है, उसे कॉन्टेक्स्ट रूट करता है, और उसकी फ़ाइंडिंग को मौजूदा dedup → prove → remediation पाइपलाइन में एकीकृत करता है। DAG ही आर्किटेक्चर है।
</details>
<details>
<summary><strong>यह क्या चूक गया (और क्यों)</strong></summary>
9 चूके गए परिदृश्य मुख्य रूप से **GraphQL प्रोटोकॉल-स्तरीय हमले** हैं: batch क्वेरीज़, गहरी recursion, alias दुरुपयोग, फ़ील्ड डुप्लीकेशन, introspection एक्सपोज़र। इनके लिए रनटाइम/DAST विश्लेषण आवश्यक है। SEC-AF वर्तमान में SAST-केंद्रित है। प्रोटोकॉल-स्तरीय पहचान रोडमैप पर है।
</details>
## यह कैसे काम करता है
SEC-AF [Composite Intelligence](https://github.com/Agent-Field/agentfield) दर्शन पर आधारित है: एक एकल मोनोलिथिक LLM कॉल पर निर्भर रहने के बजाय, यह कई केंद्रित, निर्देशित LLM कॉलों को **reasoner DAG** में संयोजित करता है, जहाँ आर्किटेक्चर स्वयं बुद्धिमत्ता को एन्कोड करता है (इस पैटर्न की गहन समझ के लिए, [The Atomic Unit of Intelligence](https://www.santoshkumarradha.com/writing/atomic-unit-of-intelligence) देखें)। प्रत्येक LLM कॉल एक फ्लैट Pydantic स्कीमा (2-4 विशेषताएँ) के साथ एक छोटा, सुव्यवस्थित कार्य संभालता है। ऑर्केस्ट्रेटर कॉन्टेक्स्ट प्रवाह, समानांतरता, और डायनेमिक रूटिंग का प्रबंधन करता है।
### आर्किटेक्चर: रीज़नर कॉल ग्राफ (DAG)
प्रत्येक चरण एक `@reasoner` है जो AgentField कंट्रोल प्लेन के माध्यम से उप-रीज़नरों को कॉल करता है, जो किसी दिए गए क्वेरी के लिए लगभग ~200-300 एजेंटों को समकालिक रूप से कार्य कराते हैं:
<p align="center">
<img src="https://assets.kitploit.com/production/public/readmes/7491/d3e99c5c9b7067b17005f71ecb0f7c7abeb9d7fc8843d33938de9f755f416b7b.png" alt="SEC-AF सिग्नल कैस्केड पाइपलाइन — RECON → HUNT → DEDUP → PROVE → OUTPUT" width="100%" />
</p>
### सिग्नल कैस्केड पाइपलाइन
प्रत्येक चरण सिग्नल को संकुचित करता है। कच्ची फ़ाइंडिंग को क्रमिक रूप से सख्त गेटों के माध्यम से फ़िल्टर किया जाता है:
| चरण | उद्देश्य | समानांतरता |
|---|---|---|
| **RECON** | आर्किटेक्चर, डिपेंडेंसी, डेटा प्रवाह, सुरक्षा कॉन्टेक्स्ट का मानचित्रण | 3-तरफा समानांतर (arch + deps + config), फिर 2-तरफा (डेटा प्रवाह + सुरक्षा) |
| **HUNT** | 10+ विशेषित रणनीति hunter चलाएँ | सेमाफोर-सीमित समानांतर (डिफ़ॉल्ट 4 समवर्ती) वृद्धिशील डिडुप के साथ |
| **PROVE** | प्रतिकूल सत्यापन: प्रत्येक फ़ाइंडिंग को **अस्वीकृत** करने का प्रयास करें | सेमाफोर-सीमित समानांतर (डिफ़ॉल्ट 3 समवर्ती) |
| **REMEDIATION** | पुष्टिकृत/संभावित फ़ाइंडिंग के लिए सुधार सुझाव उत्पन्न करें | सेमाफोर-सीमित समानांतर (डिफ़ॉल्ट 3 समवर्ती) |
### मल्टी-रीज़नर आर्किटेक्चर क्यों
अधिकांश AI सुरक्षा उपकरण एक बड़ा प्रॉम्प्ट चलाते हैं और उम्मीद करते हैं कि LLM सही उत्तर देगा। SEC-AF समस्या को ~258 केंद्रित एजेंट कॉलों में विघटित करता है, प्रत्येक में एक फ्लैट स्कीमा (2-4 फ़ील्ड्स) और एक संकीर्ण कार्य होता है। आर्किटेक्चर तर्क-रणनीति को एन्कोड करता है, प्रॉम्प्ट को नहीं (यह क्यों मायने रखता है, यह देखने के लिए [The Atomic Unit of Intelligence](https://www.santoshkumarradha.com/writing/atomic-unit-of-intelligence) देखें)।
- **कई केंद्रित एजेंट > एक शक्तिशाली एजेंट।** एक एकल LLM कॉल एक साथ आर्किटेक्चर का मानचित्रण नहीं कर सकता, डेटा प्रवाह का पता नहीं लगा सकता, इंजेक्शन की खोज नहीं कर सकता, शोषण-क्षमता की पुष्टि नहीं कर सकता, और सुधार सुझाव नहीं दे सकता। SEC-AF इनमें से प्रत्येक कार्य को एक अलग reasoner को देता है जो एक काम अच्छी तरह करता है। ऑर्केस्ट्रेटर संयोजन, समानांतरता और कॉन्टेक्स्ट रूटिंग संभालता है।
- **पुष्टिकरण पूर्वाग्रह नहीं, प्रतिकूल सत्यापन।** PROVE चरण प्रति फ़ाइंडिंग 4 उप-एजेंट विपरीत लक्ष्यों के साथ चलाता है: tracer डेटा प्रवाह का पुनर्निर्माण करता है, सैनिटाइज़ेशन विश्लेषक अवरोधों की तलाश करता है, exploit hypothesis निर्माता एक हमले का निर्माण करता है, और verdict एजेंट सभी साक्ष्यों का मूल्यांकन करता है। एजेंटों के बीच यह तनाव एक ही मॉडल से "क्या यह शोषण योग्य है?" पूछने की तुलना में अधिक विश्वास उत्पन्न करता है।
- **AI गेट्स के माध्यम से डायनेमिक रूटिंग।** सिस्टम रनटाइम पर अनुकूलित होता है। एक AI गेट recon आउटपुट की जाँच करता है और चुनता है कि कौन सी hunt रणनीतियाँ सक्रिय करनी हैं। एक अलग गेट पता लगाए गए स्टैक के आधार पर CWE लक्ष्य सूची का विस्तार करता है। JWT प्रमाणीकरण वाला Flask ऐप gRPC वाले Go माइक्रोसर्विस से भिन्न hunter प्राप्त करता है।
- **प्रगतिशील सिग्नल संकुचन।** 106 कच्ची फ़ाइंडिंग डिडुप के बाद 61 हो जाती हैं, फिर प्रतिकूल सत्यापन के बाद 30 — 94% शोर में कमी। प्रत्येक चरण एक फ़िल्टर है। पाइपलाइन शोर को संपीड़ित करती है, यह केवल कमजोरियों का पता नहीं लगाती और उन्हें फेंक नहीं देती।
- **सूचना अर्थव्यवस्था।** प्रत्येक एजेंट केवल वही देखता है जिसकी उसे आवश्यकता है। Hunter अपनी रणनीति के लिए प्रून किया गया recon कॉन्टेक्स्ट प्राप्त करते हैं। Verifiers न्यूनतम फ़ील्ड्स के साथ प्रोजेक्टेड फ़ाइंडिंग व्यू प्राप्त करते हैं। यह भ्रम को कम करता है, लागत कम करता है, और प्रत्येक LLM कॉल को केंद्रित रखता है।
- **वृद्धिशील स्ट्रीमिंग।** Dedup एक उपभोक्ता के रूप में तब चलता है जब hunter अभी भी उत्पादन कर रहे होते हैं। प्रत्येक hunter के पूरा होने पर फ़ाइंडिंग फ़िंगरप्रिंट-डिडुप्लीकेटेड होती हैं, फिर एक अंतिम सिमेंटिक पास क्रॉस-स्ट्रैटेजी डुप्लिकेट को पकड़ता है। पाइपलाइन स्ट्रीम करती है, बैच नहीं करती।
## तुलना
> दावे आधिकारिक दस्तावेज़ों और मूल्य निर्धारण पृष्ठों से लिए गए हैं। यदि कुछ गलत है, तो [एक issue खोलें](https://github.com/Agent-Field/sec-af/issues)।
| | SEC-AF | Nullify | Snyk Code | Semgrep | CodeQL |
|---|---|---|---|---|---|
| **दृष्टिकोण** | **AI-नेटिव** | **AI-नेटिव** | **AI-सहायित** | **नियम-आधारित** | **नियम-आधारित** |
| | मल्टी-रीज़नर DAG · LLM कोड के बारे में तर्क करता है | स्वायत्त सुरक्षा कार्यबल | DeepCode AI इंजन | पैटर्न + taint मिलान | सिमेंटिक विश्लेषण + डेटा फ़्लो |
| **ओपन सोर्स** | ✅ Apache 2.0 | ❌ प्रोप्राइटरी | ❌ प्रोप्राइटरी | इंजन: LGPL-2.1 · Pro नियम: प्रोप्राइटरी | क्वेरीज़: MIT · इंजन: प्रोप्राइटरी |
| **सत्यापित फ़ाइंडिंग** | ✅ प्रतिकूल PROVE चरण · प्रति फ़ाइंडिंग निर्णय + प्रमाण | ✅ Proof-of-exploit निर्माण | ❌ प्रायोरिटी स्कोर (अपारदर्शी) · कोई exploit प्रमाण नहीं | ❌ केवल पैटर्न मिलान | ❌ स्थैतिक विश्लेषण अलर्ट्स |
| **प्रति फ़ाइंडिंग साक्ष्य** | taint प्रसार के साथ डेटा प्रवाह ट्रेस | Exploit पाथ + पुनरुत्पादन चरण | स्रोत-से-sink प्रवाह दिखाया गया | - | पाथ क्वेरीज़ डेटा प्रवाह दिखाती हैं |
| **आर्किटेक्चर** | पूर्ण अवलोकनीयता के साथ कम्पोज़ेबल रीज़नर DAG | मोनोलिथिक एजेंट | सिंगल-पास इंजन | नियम इंजन | क्वेरी इंजन |
| **समानांतरता** | ✅ वृद्धिशील डिडुप के साथ समानांतर hunter, verifier, remediator | प्रलेखित नहीं | प्रलेखित नहीं | ✅ नियम समानांतरता | ✅ क्वेरी समानांतरता |
| **स्कोरिंग** | ✅ प्रकाशित समग्र सूत्र | आंतरिक | अपारदर्शी प्रायोरिटी स्कोर | आंतरिक | - |
| **SARIF** | ✅ नेटिव 2.1.0 | प्रलेखित नहीं | ✅ | ✅ | ✅ नेटिव |
| **अनुपालन मैपिंग** | PCI-DSS, SOC2, OWASP, HIPAA, ISO27001 | प्रलेखित नहीं | केवल प्लेटफ़ॉर्म अनुपालन | OWASP नियम उपलब्ध | - |
| **भाषाएँ** | कोई भी LLM-समर्थित भाषा | प्रलेखित नहीं | 14+ | 35+ (पार्सर-आधारित) | 10 |
| **मूल्य निर्धारण** | **निःशुल्क · ओपन सोर्स** (LLM लागत में ~$0.18–$0.90/ऑडिट) | **$6,000/माह** | $25-105/माह/डेवलपर | OSS इंजन: उपयोग के लिए निःशुल्क · Pro: $30/माह/योगदानकर्ता | सार्वजनिक रिपॉज़िटरी के लिए निःशुल्क · $49/माह/कमिटर (GHAS) |
**SEC-AF सबसे मजबूत कहाँ है**: प्रमाण ऑब्जेक्ट्स के साथ सत्यापित फ़ाइंडिंग, पारदर्शी स्कोरिंग, अनुपालन मैपिंग, पूर्ण DAG अवलोकनीयता के साथ कम्पोज़ेबल मल्टी-एजेंट आर्किटेक्चर, और पूर्णतः ओपन सोर्स।
**अन्य कहाँ अधिक मजबूत हैं**: Semgrep और CodeQL के पास 35+ भाषाओं में वर्षों का युद्ध-परीक्षित नियम कवरेज है। Snyk के पास गहरा IDE/SCA एकीकरण है। Nullify रनटाइम क्लाउड कॉन्टेक्स्ट और ऑटो-रीमेडिएशन अभियान जोड़ता है। SEC-AF नया है और वर्तमान में AI-संचालित कोड-स्तरीय विश्लेषण में सबसे मजबूत है।
> **एक ही आर्किटेक्चर, अलग क्षेत्र:** [Contract-AF](https://github.com/Agent-Field/contract-af) कानूनी अनुबंधों पर प्रतिकूल HUNT→PROVE लागू करता है — एजेंट एजेंट उत्पन्न करते हैं ताकि खंड अंतःक्रियाएँ खोजी जा सकें जो एकल LLM चूक जाते हैं।
### मल्टी-एजेंट आर्किटेक्चर क्यों मायने रखता है
पारंपरिक सुरक्षा स्कैनर मोनोलिथिक होते हैं: एक इंजन, एक पास, नियमों का एक सेट। SEC-AF की मल्टी-रीज़नर आर्किटेक्चर संरचनात्मक लाभ प्रदान करती है:
- **विशेषज्ञता**: प्रत्येक hunter एक निर्देशित LLM विशेषज्ञ है — एक इंजेक्शन hunter, क्रिप्टो hunter से भिन्न तर्क करता है। आर्किटेक्चर डोमेन ज्ञान को केवल प्रॉम्प्ट में नहीं, बल्कि रूटिंग में एन्कोड करता है।
- **कम्पोज़ेबिलिटी**: एक hunter फ़ाइल जोड़कर एक नई कमजोरी क्लास जोड़ें। ऑर्केस्ट्रेटर इसे स्वचालित रूप से खोजता और चलाता है। पाइपलाइन में कोई बदलाव नहीं।
- **प्रतिकूल सत्यापन**: PROVE चरण संरचनात्मक रूप से HUNT से अलग है। Hunter कमजोरियाँ खोजने का प्रयास करते हैं; prover उन्हें अस्वीकृत करने का प्रयास करते हैं। यह प्रतिकूल तनाव गलत सकारात्मक परिणामों को कम करता है।
- **अवलोकनीयता**: प्रत्येक reasoner कॉल कंट्रोल प्लेन से होकर गुजरती है, जिससे एक पूर्ण DAG बनता है। आप ठीक-ठीक देख सकते हैं कि किस hunter ने कौन सी फ़ाइंडिंग खोजी, प्रत्येक चरण में कितना समय लगा, और LLM ने प्रत्येक चरण में क्या तर्क किया।
- **लागत दक्षता**: कॉन्टेक्स्ट प्रूनिंग और स्कीमा व्यू का अर्थ है कि प्रत्येक LLM कॉल को केवल आवश्यक कॉन्टेक्स्ट ही मिलता है। 30 सत्यापित फ़ाइंडिंग के साथ एक पूर्ण मानक-गहराई ऑडिट की अनुमानित लागत LLM कॉल्स में ~$0.18–$0.90 है (OpenRouter के माध्यम से Kimi K2.5)।
## त्वरित आरंभ
### AgentField में इंस्टॉल करें (`af install`)
क्या आप पहले से [AgentField](https://github.com/Agent-Field/agentfield) कंट्रोल प्लेन चला रहे हैं? SEC-AF को सीधे GitHub से इंस्टॉल करें — कोई क्लोन नहीं, कोई स्थानीय सेटअप नहीं:```bash
af install https://github.com/Agent-Field/sec-af
af run sec-af
af install रिपॉजिटरी को क्लोन करता है, एक पृथक Python वातावरण तैयार करता है, और sec-af नोड को आपके कंट्रोल प्लेन के साथ पंजीकृत करता है। पहली बार af run चलाने पर आपको आवश्यक OPENROUTER_API_KEY माँगा जाता है — यह एन्क्रिप्टेड रूप से संग्रहीत होता है और हर नोड पर पुनः उपयोग होता है, इसलिए आपको इसे केवल एक बार दर्ज करना होता है। फिर एक ऑडिट चलाएँ:```bash
af call sec-af.audit --in '{"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}'
AgentField में नए हैं? पहले कंट्रोल प्लेन को `curl -fsSL https://agentfield.ai/install.sh | bash` के साथ इंस्टॉल करें, या नीचे दिए गए Docker / Railway विकल्पों का उपयोग करें।
### एक-क्लिक डिप्लॉय (Railway)
[](https://railway.com/deploy/sec-af)
AgentField कंट्रोल प्लेन + SEC-AF एजेंट को डिप्लॉय करता है। आपको एक `OPENROUTER_API_KEY` की आवश्यकता होगी।
### स्थानीय (Docker Compose)```bash
git clone https://github.com/Agent-Field/sec-af.git && cd sec-af
cp .env.example .env # Add OPENROUTER_API_KEY
docker compose up --build
AgentField कंट्रोल प्लेन (http://localhost:8080) + SEC-AF एजेंट शुरू करता है।
ऑडिट ट्रिगर करें:```bash
curl -X POST http://localhost:8080/api/v1/execute/async/sec-af.audit
-H "Content-Type: application/json"
-d '{"input": {"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}}'
परिणामों के लिए पोल करें:```bash
curl http://localhost:8080/api/v1/executions/<execution_id>
पूर्वापेक्षाएँ: Python 3.11+, Git, एक OpenRouter API key
चरण 1 — रेपो क्लोन करें```bash git clone https://github.com/Agent-Field/sec-af.git cd sec-af
**चरण 2 — वर्चुअल वातावरण बनाएँ और सक्रिय करें**```bash
python3 -m venv .venv
source .venv/bin/activate
चरण 3 — पैकेज स्थापित करें```bash pip install -e .
**चरण 4 — पर्यावरण चर कॉन्फ़िगर करें**```bash
cp .env.example .env
.env खोलें और अपनी कुंजी भरें:```
OPENROUTER_API_KEY=sk-or-...
वैकल्पिक — अनुमति संबंधी समस्याओं से बचने के लिए एक कस्टम कार्यक्षेत्र निर्देशिका सेट करें:```
SEC_AF_WORKSPACES_DIR=~/.sec-af/workspaces
चरण 5 — AgentField कंट्रोल प्लेन प्रारंभ करें (एक अलग टर्मिनल में)```bash af server
यह डिफ़ॉल्ट रूप से `http://localhost:8080` पर चलता है।
**चरण 6 — SEC-AF एजेंट प्रारंभ करें** (venv सक्रिय के साथ, दूसरे टर्मिनल में)```bash
python3 main.py
एजेंट स्वयं को control plane के साथ पंजीकृत करता है और अनुरोध स्वीकार करने के लिए तैयार है।
चरण 7 — ऑडिट ट्रिगर करें```bash
curl -X POST http://localhost:8080/api/v1/execute/async/sec-af.audit
-H "Content-Type: application/json"
-d '{"input": {"repo_url": "https://github.com/dolevf/Damn-Vulnerable-GraphQL-Application"}}'
## API
<details>
<summary><strong>पूर्ण अनुरोध विकल्प</strong></summary>```bash
curl -X POST http://localhost:8080/api/v1/execute/async/sec-af.audit \
-H "Content-Type: application/json" \
-d '{
"input": {
"repo_url": "https://github.com/org/repo",
"branch": "main",
"depth": "thorough",
"severity_threshold": "high",
"scan_types": ["sast", "sca", "secrets", "config"],
"output_formats": ["sarif", "json", "markdown"],
"compliance_frameworks": ["pci-dss", "soc2", "owasp", "hipaa"],
"max_cost_usd": 15.0,
"max_provers": 30,
"max_duration_seconds": 1800,
"include_paths": ["src/"],
"exclude_paths": ["tests/", "vendor/"]
}
}'
| निर्णय | अर्थ |
|---|---|
confirmed | ठोस साक्ष्य के साथ शोषणक्षमता प्रदर्शित |
| प्रारूप | उपभोक्ता |
|---|
jobs: security-audit: runs-on: ubuntu-latest permissions: contents: read security-events: write steps: - uses: actions/checkout@v4
- name: Trigger SEC-AF
run: |
RESPONSE=$(curl -sS -X POST "$AGENTFIELD_SERVER/api/v1/execute/async/sec-af.audit" \
-H "Content-Type: application/json" \
-d '{
"input": {
"repo_url": "${{ github.event.repository.clone_url }}",
"branch": "${{ github.head_ref }}",
"commit_sha": "${{ github.event.pull_request.head.sha }}",
"base_commit_sha": "${{ github.event.pull_request.base.sha }}",
"depth": "standard",
"output_formats": ["sarif"]
}
}')
echo "execution_id=$(echo "$RESPONSE" | jq -r '.execution_id')" >> "$GITHUB_ENV"
env:
AGENTFIELD_SERVER: ${{ secrets.AGENTFIELD_SERVER }}
- name: Wait for results
run: |
for i in {1..60}; do
RESULT=$(curl -sS "$AGENTFIELD_SERVER/api/v1/executions/$execution_id")
STATUS=$(echo "$RESULT" | jq -r '.status')
[ "$STATUS" = "succeeded" ] && { echo "$RESULT" | jq -r '.result.sarif' > results.sarif; exit 0; }
[ "$STATUS" = "failed" ] && { echo "Audit failed"; exit 1; }
sleep 10
done
echo "Timed out"; exit 1
env:
AGENTFIELD_SERVER: ${{ secrets.AGENTFIELD_SERVER }}
- uses: github/codeql-action/upload-sarif@v3
with:
sarif_file: results.sarif
</details>
## कॉन्फ़िगरेशन
<details>
<summary><strong>पर्यावरण चर</strong></summary>
| चर | आवश्यक | डिफ़ॉल्ट | विवरण |
|---|---|---|---|
| `AGENTFIELD_SERVER` | हाँ | `http://localhost:8080` | नियंत्रण तल (control plane) URL |
| `OPENROUTER_API_KEY` | हाँ | - | LLM प्रदाता क्रेडेंशियल |
| `HARNESS_MODEL` | नहीं | `moonshotai/kimi-k2.5` | गहन `.harness()` विश्लेषण के लिए मॉडल |
| `AI_MODEL` | नहीं | `moonshotai/kimi-k2.5` | तेज़ `.ai()` गेट और निर्णयों के लिए मॉडल |
| `SEC_AF_MAX_TURNS` | नहीं | `50` | प्रति कॉल अधिकतम हैर्नेस टर्न |
| `AGENTFIELD_API_KEY` | नहीं | अनसेट | सुरक्षित वातावरण के लिए API कुंजी |
| `SEC_AF_WORKSPACES_DIR` | नहीं | `/workspaces` | क्लोन किए गए रेपो के लिए निर्देशिका (लिखने योग्य न होने पर `~/.sec-af/workspaces` पर फ़ॉलबैक) |
| `HARNESS_PROVIDER` | नहीं | `opencode` | हैर्नेस बैकएंड प्रदाता |
| `SEC_AF_AI_MAX_RETRIES` | नहीं | `3` | मॉडल कॉल के लिए पुनः प्रयास संख्या |
</details>
## डेवलपमेंट सेटअप```bash
python -m venv .venv && source .venv/bin/activate
pip install -e .[dev]
pytest
ruff check src tests
| प्रोफ़ाइल | रणनीतियाँ | सत्यापन | सामान्य समय | सामान्य लागत |
|---|
quick | 5 मुख्य रणनीतियाँ | केवल शीर्ष निष्कर्ष | 2-5 मिनट | ~$0.10-0.40 |
standard | 11 रणनीतियाँ (मुख्य + विस्तारित) | शीर्ष 30 निष्कर्ष | 15-80 मिनट | ~$0.18-0.90 |
thorough | पूर्ण रणनीति सेट | सभी निष्कर्ष | 30-120 मिनट | ~$2-8 |
लागत OpenRouter के माध्यम से Kimi K2.5 पर आधारित है ($0.22/M इनपुट, $0.88/M आउटपुट)। DVGA बेंचमार्क (मानक गहराई, 30 सत्यापित निष्कर्ष, ~166-255 अनुमानित LLM कॉल, 82 DAG एज) की अनुमानित लागत $0.18–$0.90 थी। पूर्ण विश्लेषण: exampl/benchmark-analysis.json। कोई भी OpenRouter-संगत मॉडल काम करता है — बदलने के लिए HARNESS_MODEL और AI_MODEL सेट करें।
likely | मजबूत संकेत, आंशिक सत्यापन |
inconclusive | अपर्याप्त साक्ष्य, मैन्युअल समीक्षा आवश्यक |
not_exploitable | साक्ष्य बताते हैं कि कोई व्यावहारिक शोषण मार्ग नहीं है |
| विवरण |
|---|
sarif | GitHub Code Scanning, सुरक्षा उपकरण | गंभीरता और स्थानों सहित SARIF 2.1.0 |
json | पाइपलाइन, एपीआई | निर्णय, प्रमाण और लागत सहित पूर्ण संरचित परिणाम |
markdown | सुरक्षा टीमें | निष्कर्ष और सुधार सहित वर्णनात्मक रिपोर्ट |
SWE-AF — स्वायत्त इंजीनियरिंग टीम। एक API कॉल योजनाबद्ध, कोडित, परीक्षित, समीक्षित कोड वितरित करता है। 95/100 स्कोर किया।
Contract-AF — कानूनी अनुबंध जोखिम विश्लेषक। एजेंट रनटाइम पर एजेंट उत्पन्न करते हैं। प्रतिकूल समीक्षा वह पकड़ लेती है जो एकल LLM चूक जाते हैं।
SEC-AF, AgentField पर बनाया गया है, जो प्रोडक्शन-ग्रेड स्वायत्त एजेंटों के लिए खुला इंफ्रास्ट्रक्चर है। हम और क्या बना रहे हैं, देखें →