
OpenAnt, Knostic की ओर से, अग्रणी ओपन सोर्स LLM-आधारित भेद्यता खोज उत्पाद है, जो रक्षकों को सक्रिय रूप से सत्यापित सुरक्षा खामियों को खोजने में मदद करता है, साथ ही झूठे सकारात्मक और झूठे नकारात्मक दोनों को न्यूनतम करता है। चरण 1 पता लगाता है। चरण 2 हमला करता है। जो बचता है वह वास्तविक है।
Knostic का OpenAnt पहला ओपन सोर्स LLM-आधारित भेद्यता खोज और उपचार उत्पाद (अब इसे हार्नेस कहा जाता है) है जो रक्षकों को सक्रिय रूप से सत्यापित सुरक्षा खामियों को खोजने में मदद करता है, साथ ही झूठे सकारात्मक और झूठे नकारात्मक दोनों को कम करता है। चरण 1 पता लगाता है। चरण 2 हमला करता है। जो बचता है वह वास्तविक है।
ध्यान रखें कि यह एक शोध परियोजना के रूप में शुरू हुआ था, और जैसे-जैसे हम नई क्षमताएं विकसित करते हैं, हम अक्सर उन्हें बीटा के रूप में जारी करते हैं। हम योगदान का स्वागत करते हैं।
OpenAnt बनाने पर हमारा शोध पेपर arXiv पर पा सकते हैं: OpenAnt: LLM-Powered Vulnerability Discovery Through Code Decomposition, Adversarial Verification, and Dynamic Testing, नहुम कोर्डा और गादी एवरॉन द्वारा।
जब हमने पहली बार OpenAnt जारी किया था तब यह readme में एक प्रासंगिक प्रश्न था, क्योंकि कई अन्य हार्नेस जारी किए गए हैं। हमें अभी भी उम्मीद है कि AI-खोजी भेद्यताओं के विस्फोट के साथ, OpenAnt ओपन सोर्स मेंटेनर्स को हमलावरों से आगे रहने में मदद करेगा, जहां वे इसे स्वयं उपयोग कर सकते हैं। या बिना किसी लागत के स्कैनिंग के लिए अपना रेपो सबमिट कर सकते हैं।
यह भी एक तथ्य है कि Knostic का ध्यान एजेंटों और कोडिंग सहायकों की सुरक्षा पर है, न कि भेद्यता अनुसंधान या एप्लिकेशन सुरक्षा पर, और हमें ओपन सोर्स पसंद है, इसलिए हमने OpenAnt को Apache 2 लाइसेंस के तहत जारी करने का फैसला किया। इसके अलावा, आपने OpenAI के Aardvark (अब Codex Security) और Anthropic के Claude Code Security के बारे में सुना होगा, और हमारा उनसे प्रतिस्पर्धा करने का कोई इरादा नहीं है।
तकनीकी विवरण, सीमाओं और टोकन लागतों के लिए, यह ब्लॉग पोस्ट देखें: https://knostic.ai/blog/openant
अपना रेपो स्कैनिंग के लिए सबमिट करने हेतु: https://knostic.ai/blog/oss-scan
मेंटेनर और अनुसंधान: Gadi Evron
मूल अनुसंधान, विचार और मूल प्रोटोटाइप: Nahum Korda। मूल उत्पादीकरण: Alex Raihelgaus, Daniel Geyshis।
धन्यवाद: Michal Kamensky, Imri Goldberg, Daniel Cuthbert. Josh Grossman, और Avi Douglen।
यदि आपको हमारा काम पसंद है, तो देखें कि हम Knostic पर आपके एजेंटों और कोडिंग सहायकों की सुरक्षा के लिए क्या करते हैं, उन्हें आपकी हार्ड ड्राइव और कोड को हटाने से रोकते हैं, और MCP सर्वर, एक्सटेंशन और स्किल्स जैसे संबंधित सप्लाई चेन जोखिमों को नियंत्रित करते हैं।
CLI बाइनरी बनाएं (Go 1.25+ आवश्यक है):
cd apps/openant-cli && make build
यह Go स्रोत को संकलित करता है और बाइनरी को apps/openant-cli/bin/openant पर आउटपुट करता है।
इसे अपने PATH पर सिमलिंक करें ताकि आप कहीं से भी openant चला सकें:
ln -sf "$(pwd)/apps/openant-cli/bin/openant" /usr/local/bin/openant
नोट: इसे रेपो रूट से चलाएँ ताकि $(pwd) सही निरपेक्ष पथ पर रिज़ॉल्व हो।
OpenAnt प्रत्येक पाइपलाइन चरण को एक कॉन्फ़िगर करने योग्य (provider, model) युग्म के माध्यम से रूट करता है। सबसे तेज़ तरीका इंटरैक्टिव विज़ार्ड है:
openant setup llm
आप कॉन्फ़िग का नाम देते हैं (जैसे my-llm), प्रत्येक पाइपलाइन चरण के लिए एक प्रदाता चुनते हैं (नीचे दिए गए किसी भी शिप किए गए अडैप्टर में से), प्रति प्रदाता एक बार उसकी API कुंजी दर्ज करते हैं (Bedrock इसके बजाय AWS क्रेडेंशियल चेन का उपयोग करता है — कुंजी को खाली छोड़ दें), और विज़ार्ड ~/.config/openant/config.json लिखने से पहले प्रत्येक अद्वितीय प्रदाता+मॉडल जोड़ी को 1-टोकन अनुरोध के साथ जाँचता है। --llm-config के साथ इसके विरुद्ध स्कैन चलाएँ:
openant scan /path/to/repo --llm-config my-llm
Wizard डिफ़ॉल्ट प्रोजेक्ट की प्रति-चरण सिफ़ारिशों को दर्शाते हैं (detection / verification / reachability review के लिए अधिक मज़बूत reasoning मॉडल; context, report, और test generation के लिए हल्के मॉडल) — किसी भी उत्तर को अपनी पसंद के अनुसार override करें।
| Provider type | API key from | Notes |
|---|---|---|
anthropic | console.anthropic.com | Reference adapter. Claude Pro / Max subscriptions में शामिल नहीं — अलग billing. |
openai | platform.openai.com | ChatGPT / Codex subscriptions में शामिल नहीं — अलग billing. |
google | aistudio.google.com | Gemini Advanced में शामिल नहीं — अलग billing. |
bedrock | — (AWS credential chain) | AWS Bedrock पर Claude. कोई api_key नहीं: credentials AWS_ACCESS_KEY_ID/AWS_SECRET_ACCESS_KEY env vars या ~/.aws profile से आते हैं, region AWS_REGION से। Model IDs inference profiles हैं (us.anthropic.claude-sonnet-4-6, global.anthropic.claude-haiku-4-5-20251001-v1:0, ...) — इन्हें Bedrock console में "Model access" के अंतर्गत enable करें और aws bedrock list-inference-profiles से list करें। openant setup llm द्वारा प्रस्तावित (API key खाली छोड़ें — AWS credential chain, probe छोड़ा गया) — पूरी गाइड: utilities/llm/providers/BEDROCK.md. |
openrouter | openrouter.ai | एक key और एक prepaid balance के साथ कई providers का gateway (यह OPENROUTER_API_KEY भी पढ़ता है)। Model IDs vendor/model slugs हैं (anthropic/claude-sonnet-4.6, openai/gpt-4o-mini, ...) — इन्हें openrouter.ai/models पर ब्राउज़ करें। openant setup llm द्वारा प्रस्तावित (OpenRouter default के लिए base URL खाली छोड़ें) — पूरी गाइड: utilities/llm/providers/OPENROUTER.md. |
ollama | — (local server) | Ollama के माध्यम से local models. कोई api_key नहीं: इसे खाली छोड़ें (एक placeholder स्वतः भेजा जाता है); base URL डिफ़ॉल्ट रूप से http://localhost:11434/v1 है। Models पहले pull किए जाने चाहिए (ollama pull <model>); model IDs बिल्कुल वही हैं जो ollama list दिखाता है। Local inference मुफ़्त है — $0 cost reporting. openant setup llm द्वारा प्रस्तावित — पूरी गाइड: utilities/llm/providers/OLLAMA.md. |
ये सभी tool calling का समर्थन करते हैं, इसलिए इनमें से कोई भी उन enhance और verify phases को चला सकता है जो agentic tool-use loop का उपयोग करते हैं। Ollama के लिए, उन phases के लिए tools-capable model चुनें — बहुत छोटे local models tool calls को विश्वसनीय रूप से संभाल नहीं पा सकते।
यदि आप आज के per-phase Claude defaults और कुछ नहीं चाहते, तो wizard छोड़ें:
openant set-api-key sk-ant-...
openant scan /path/to/repo
यह अंतर्निहित openant-default कॉन्फ़िगरेशन का उपयोग करता है (बाइनरी में संकलित, किसी config.json की आवश्यकता नहीं) — डिटेक्शन चरणों के लिए Claude Opus 4.6, शेष के लिए Sonnet 4।
विज़ार्ड आपके लिए ~/.config/openant/config.json लिखता है, लेकिन आप इसे सीधे भी संपादित कर सकते हैं। प्रत्येक llm-config में सभी सात पाइपलाइन चरणों को सूचीबद्ध करना आवश्यक है: