
बड़े पैमाने के कोडबेस के लिए एजेंट-संचालित भेद्यता स्कैनर। रेगेक्स मैचर और AI जांच के माध्यम से पहचानने में कठिन सुरक्षा समस्याओं को खोजने के लिए LLM का उपयोग करता है, साथ ही CI/PR एकीकरण और वितरित निष्पादन भी शामिल है।
deepsec एक एजेंट-संचालित भेद्यता स्कैनर है जिसे आप अपने स्वयं के इन्फ्रास्ट्रक्चर में चला सकते हैं, जो मौजूदा बड़े पैमाने के रिपॉजिटरी में सभी कोड की ऑन-डिमांड समीक्षा करने के लिए अनुकूलित है।
deepsec को उन कठिन-से-खोजे जाने वाली समस्याओं को सतह पर लाने के लिए डिज़ाइन किया गया है जो लंबे समय से अनुप्रयोगों में छिपी हुई हैं। इसे अधिकतम सोच स्तरों पर सर्वोत्तम मॉडल का उपयोग करने के लिए कॉन्फ़िगर किया गया है (--thinking-level के माध्यम से समायोज्य, देखें docs/models.md), जिसका अर्थ है कि बड़े कोडबेस के लिए स्कैन की लागत हजारों या दसियों-हजारों डॉलर हो सकती है। हमारे ग्राहकों ने इस लागत को इसलिए उचित पाया है क्योंकि वे कितनी जल्दी उन भेद्यताओं को पैच कर पाए जो अन्यथा अनफिक्स रह जातीं।
बड़े कोडबेस के लिए, कार्य समानांतर रूप से वर्कर मशीनों में फैल जाता है। यदि कोई रन बीच में बाधित हो जाता है या त्रुटि उत्पन्न करता है, तो बस उसी कमांड को फिर से चलाएँ — deepsec वहीं से उठाता है जहाँ उसने छोड़ा था, उन फाइलों को छोड़ देता है जिनका वह पहले ही विश्लेषण कर चुका है और केवल बाकी की जाँच करता है।
उस रिपॉजिटरी के रूट पर जाएँ जिसे आप स्कैन करना चाहते हैं, फिर:
npx deepsec init # creates .deepsec/ with this repo as the first project
cd .deepsec
pnpm install # installs deepsec from npm
# Proceed as instructed by `init` output
अब अपने कोडिंग एजेंट से आपकी इंस्टॉलेशन को बूटस्ट्रैप करवाएँ। अपनी पसंद का एजेंट खोलें और प्रॉम्प्ट करें:
टूल को समझने के लिए
.deepsec/node_modules/deepsec/SKILL.mdपढ़ें। फिर.deepsec/data/<id>/SETUP.mdपढ़ें और उसका पालन करें: इस रिपॉजिटरी के README, किसी भी AGENTS.md/CLAUDE.md, और कुछ प्रतिनिधि कोड फाइलों को स्किम करें, फिर.deepsec/data/<id>/INFO.mdके प्रत्येक अनुभाग को बदलें।इसे छोटा रखें — कुल 50–100 पंक्तियों का लक्ष्य रखें। प्रति अनुभाग 3–5 उदाहरण चुनें, संपूर्ण गणना नहीं। प्रिमिटिव्स (auth हेल्पर, मिडलवेयर) के नाम बताएँ लेकिन लाइन नंबर नहीं। सामान्य CWE श्रेणियों को छोड़ दें — बिल्ट-इन मैचर उन्हें कवर करते हैं। केवल वही कवर करें जो प्रोजेक्ट-विशिष्ट है। INFO.md को हर स्कैन बैच में इंजेक्ट किया जाता है; वर्बोज़ संदर्भ सिग्नल को कमजोर करता है।
फिर .deepsec/ के अंदर से स्कैन करें:
pnpm deepsec scan
pnpm deepsec process
pnpm deepsec revalidate # optional, cuts FP rate
pnpm deepsec export --format md-dir --out ./findings
यदि आपको लगता है कि deepsec को कोड के अधिक हिस्सों को देखना चाहिए, तो उसे द राइटिंग मैचर्स दस्तावेज़ दें ताकि आपके कोडबेस में अधिक मूल्यवान शुरुआती बिंदु मिल सकें।
process --diffdeepsec.config.ts संदर्भdata/ स्कीमा (FileRecord, RunMeta, …)webapp/)स्थानीय रूप से चलाते समय, deepsec आपकी मौजूदा claude / codex सदस्यता पर वापस आ जाता है यदि आपने इस मशीन पर लॉग इन किया है। सदस्यताएँ (Claude Pro/Max, ChatGPT Plus) deepsec का मूल्यांकन करने के लिए उपयोगी हैं लेकिन आम तौर पर पूर्ण रिपॉजिटरी स्कैन के लिए पर्याप्त हेडरूम नहीं होती हैं।
वास्तविक स्कैन के लिए, Vercel AI Gateway का उपयोग करें। एक कुंजी Claude और Codex दोनों को कवर करती है, और गेटवे के डिफ़ॉल्ट कोटा अत्यधिक समवर्ती शोध के लिए आकार दिए गए हैं।
AI_GATEWAY_API_KEY=vck_...
कुंजी प्राप्त करने और Vercel Sandbox सेटअप के लिए docs/vercel-setup.md देखें। गेटवे को बायपास करने के लिए, ANTHROPIC_AUTH_TOKEN + ANTHROPIC_BASE_URL (या OpenAI जोड़ी) स्पष्ट रूप से सेट करें। स्पष्ट मान हमेशा AI_GATEWAY_API_KEY विस्तार पर जीतते हैं।
यदि कोई process या revalidate रन इसलिए रुक जाता है क्योंकि अपस्ट्रीम क्रेडेंशियल का कोटा या क्रेडिट समाप्त हो गया है, तो deepsec शालीनता से रुक जाता है और आपको बताता है कि कहाँ टॉप अप करना है। उसके बाद उसी कमांड को फिर से चलाएँ और यह वहीं से उठाता है जहाँ उसने छोड़ा था।
बड़े मोनोरेपो Vercel Sandbox microVMs में कार्य फैला सकते हैं:
pnpm deepsec sandbox process --project-id my-app --sandboxes 10 --concurrency 4
इसके लिए Vercel खाते की आवश्यकता है। स्थानीय वर्किंग ट्री को टारबॉल कर अपलोड किया जाता है; .git को बाहर रखा गया है। OIDC टोकन (स्थानीय) और एक्सेस टोकन (CI) दोनों समर्थित हैं — देखें docs/vercel-setup.md।
deepsec को एक कोडिंग एजेंट की तरह समझें जिसके पास उस वातावरण पर पूर्ण शेल एक्सेस है जिस पर यह चल रहा है। इसे विश्वसनीय इनपुट (आपका स्रोत कोड) पर चलाने के लिए डिज़ाइन किया गया है, लेकिन आप बाहरी निर्भरताओं या वेंडर किए गए कोड के कारण प्रॉम्प्ट इंजेक्शन के बारे में चिंतित हो सकते हैं।
सैंडबॉक्स पर चलना (ऊपर देखें) संभावित जोखिम को काफी हद तक सीमित करता है:
| Command | What it does |
|---|
scan | रेगेक्स मैचर के साथ उम्मीदवार साइटें खोजें (तेज़, कोई AI नहीं) |
process | AI जाँच; निष्कर्ष + अनुशंसा उत्पन्न करता है |
process --diff | PR-मोड: केवल डिफ़ में बदली गई फाइलों को स्कैन और जाँच करें |
triage | हल्का P0/P1/P2 वर्गीकरण (सस्ता मॉडल) |
revalidate | मौजूदा निष्कर्षों की पुनः जाँच करें; फिक्स के लिए git इतिहास जाँचता है |
enrich | git कमिटर जानकारी + (एक प्लगइन के साथ) स्वामित्व डेटा जोड़ें |
report | एक प्रोजेक्ट के लिए Markdown + JSON सारांश |
export | प्रति-निष्कर्ष JSON या मार्कडाउन फाइलों की निर्देशिका |
metrics | क्रॉस-प्रोजेक्ट गणना: गंभीरता, प्रकार द्वारा भेद्यताएँ, TPs |
status | प्रोजेक्ट मिरर का स्नैपशॉट |
sandbox <cmd> | उपरोक्त में से कोई भी Vercel Sandbox microVMs पर चलाएँ |