
थ्रेट मॉडलिंग, स्कैनिंग, ट्राइएज, पैचिंग के लिए कौशल, साथ ही एक स्वायत्त स्कैनिंग हार्नेस जिसे आप /customize कर सकते हैं।
क्लॉड माइथोस प्रीव्यू लॉन्च करने के बाद से कई संगठनों में सुरक्षा टीमों के साथ साझेदारी से हमारी सीख के आधार पर, क्लॉड के साथ स्वायत्त भेद्यता खोज और निवारण के लिए एक संदर्भ कार्यान्वयन। इन सीखों और सर्वोत्तम प्रथाओं का विवरण के लिए, संबंधित ब्लॉग पोस्ट देखें (blog-post.md में भी उपलब्ध)। उसी रीकॉन → फाइंड → ट्राइएज → रिपोर्ट → पैच लूप के हल्के SDK-केवल वॉकथ्रू के लिए, संगत कुकबुक देखें।
यह रिपॉजिटरी अनुरक्षित नहीं है और योगदान स्वीकार नहीं करती है।
🔒 एक प्रबंधित विकल्प चाहते हैं? Anthropic क्लॉड सिक्योरिटी प्रदान करता है, जो एक होस्टेड उत्पाद है जो आपके सोर्स कोड में कई प्रोजेक्ट्स में भेद्यताओं को ढूंढता और ठीक करता है। क्लॉड सिक्योरिटी आपके रिपॉजिटरी को भेद्यताओं के लिए स्कैन करता है, गलत सकारात्मकता कम करने के लिए एक बहु-चरणीय सत्यापन पाइपलाइन लागू करता है, और आपको उनके जीवनचक्र के माध्यम से निष्कर्षों को प्रबंधित करने देता है: ट्राइएज, फिक्स सत्यापन, और तेजी से फिक्स निर्माण।
यह रिपॉजिटरी क्लॉड का उपयोग करके भेद्यताएं खोजने के लिए सामान्य सर्वोत्तम प्रथाओं पर आधारित एक ओपन-सोर्स संदर्भ कार्यान्वयन है। आप इसका उपयोग अपनी स्वयं की भेद्यता खोज पाइपलाइन बनाने, तर्क को अनुकूलित करने के लिए कर सकते हैं, और यह क्लॉड एपीआई तक आपकी जो भी पहुंच है (बेडरॉक, वर्टेक्स या एज़्योर सहित) के साथ इस्तेमाल किया जा सकता है।
/quickstart, /threat-model, /vuln-scan,
/triage, /patch, /customize: इंटरैक्टिव स्कोपिंग, स्कैनिंग, ट्राइएज,
और पैचिंग। क्लॉड कोड में इस रिपॉजिटरी को खोलें और अभिविन्यास के लिए /quickstart चलाएं।harness/: स्वायत्त संदर्भ पाइपलाइन (रीकॉन → फाइंड → वेरिफाई
→ रिपोर्ट → पैच), जो डॉकर और ASAN का उपयोग करके C/C++ मेमोरी भेद्यताओं को खोजने के लिए कॉन्फ़िगर की गई है। यह हार्नेस एक संदर्भ है, उत्पाद नहीं।
सामान्य आकार, प्रॉम्प्ट्स और सैंडबॉक्सिंग पुनः प्रयोग योग्य हैं, लेकिन हार्नेस हर कोडबेस पर तुरंत काम नहीं करेगा। इसे अपनी भाषा, डिटेक्टर या भेद्यता वर्ग में स्थानांतरित करने के लिए /customize चलाएं।⚠️ सुरक्षा:
/quickstart,/threat-model,/vuln-scan, और/triageकेवल फ़ाइलें पढ़ते और लिखते हैं। स्थैतिक निष्कर्षों (TRIAGE.jsonयाVULN-FINDINGS.json) पर/patchचलाना भी केवल पढ़ने-लिखने वाला है।/customizeहार्नेस कोड को संपादित करता है और सत्यापन कमांड चलाता है। ये सभी स्किल्स बिना सैंडबॉक्स के चलाना सुरक्षित हैं, जब तक आप क्लॉड कोड में प्रत्येक टूल उपयोग की समीक्षा और अनुमोदन करते हैं। स्वायत्त संदर्भ पाइपलाइन (पाइपलाइन परिणामों पर/patchसहित) लक्ष्य कोड निष्पादित करती है, इसलिए यह स्पष्ट रूप से ओवरराइड किए जाने तक gVisor सैंडबॉक्स के बाहर चलने से इनकार करती है। सेटअप करने के लिए,scripts/setup_sandbox.shएक बार चलाएं, फिर पाइपलाइन कोbin/vp-sandboxedके माध्यम से शुरू करें। अधिक विवरण के लिए docs/security.md और docs/agent-sandbox.md देखें।
git clone https://github.com/anthropics/defending-code-reference-harness
cd defending-code-reference-harness
claude
# 30-sec intro + guided first run on the canary target
> /quickstart
> /quickstart how do I port the pipeline to Java?
> /quickstart how do I triage all these bugs?
जिन सुरक्षा टीमों के साथ हमने साझेदारी की है, उनमें सबसे सफल वे हैं जिन्होंने सबसे तेज़ी से व्यावहारिक कार्य शुरू किया। हालाँकि सही पाइपलाइन डिजाइन करने में महीनों बिताना आकर्षक है, हम दिन 1 पर छोटी शुरुआत करने और सीख आने पर वहाँ से आगे बढ़ने की सलाह देते हैं। नीचे दिए गए चरण उसी पैटर्न का अनुसरण करते हैं और जो हमने देखा है उसके आधार पर एक महत्वाकांक्षी (लेकिन उचित) गति निर्धारित करते हैं।
| चरण 1 | दिन 1 | एक थ्रेट मॉडल बनाएं और अपना पहला स्टैटिक स्कैन + ट्राइएज चलाएं |
| चरण 2 | दिन 2 | किसी C/C++ लाइब्रेरी पर संदर्भ पाइपलाइन चलाएं |
| चरण 3 | दिन 3-5 | अपने लक्ष्य के लिए पाइपलाइन कस्टमाइज़ करें |
| चरण 4 | सप्ताह 2 | स्वायत्त स्कैनिंग, ट्राइएज और पैचिंग शुरू करें |
पहला दिन पूरे लूप को शुरू से अंत तक देखने पर केंद्रित है। केवल इंटरैक्टिव स्किल्स का उपयोग करके, आप एक थ्रेट मॉडल बनाएंगे, उसके दायरे में एक स्टैटिक स्कैन चलाएंगे, जो वापस आता है उसका ट्राइएज करेंगे, और उम्मीदवार फिक्स का मसौदा तैयार करेंगे। आप दिन का अंत एक थ्रेट मॉडल, स्टैटिक निष्कर्षों की एक रैंक की गई सूची और उम्मीदवार पैच के साथ करेंगे।
प्रासंगिक स्किल्स आपके रिपॉजिटरी में केवल फ़ाइलें पढ़ते और लिखते हैं। जब तक आप क्लॉड कोड को इंटरैक्टिव रूप से चलाते हैं और प्रत्येक टूल उपयोग को अनुमोदित करते हैं, किसी सैंडबॉक्स की आवश्यकता नहीं है।
# Pin every subagent to the model you want
export CLAUDE_CODE_SUBAGENT_MODEL=<model-id>
claude
# 0. intro + guided first run
> /quickstart
# 1. Build a threat model (aim before you shoot)
> /threat-model bootstrap targets/canary
# 2. Run a static scan, scoped by that threat model
> /vuln-scan targets/canary
# 3. Verify, dedupe, and rank what came back
> /triage targets/canary/VULN-FINDINGS.json
# 4. Generate candidate fixes for the verified findings
> /patch ./TRIAGE.json --repo targets/canary
यह प्रवाह THREAT_MODEL.md, VULN-FINDINGS.{json,md},
TRIAGE.{json,md} और PATCHES/ उत्पन्न करता है।
चरण 1 में उत्पन्न भेद्यता उम्मीदवार स्रोत की क्लॉड की स्टैटिक समीक्षा से आते हैं (कुछ भी बनाया या चलाया नहीं जाता), इसलिए किसी भी गैर-कैनरी लक्ष्य पर अधिक गलत सकारात्मकता की उम्मीद करें। चरण 2 में, आप निष्पादन-सत्यापित निष्कर्ष तैयार करेंगे।