
OpenAnt, Knostic की ओर से, अग्रणी ओपन सोर्स LLM-आधारित भेद्यता खोज उत्पाद है, जो रक्षकों को सक्रिय रूप से सत्यापित सुरक्षा खामियों को खोजने में मदद करता है, साथ ही झूठे सकारात्मक और झूठे नकारात्मक दोनों को न्यूनतम करता है। चरण 1 पता लगाता है। चरण 2 हमला करता है। जो बचता है वह वास्तविक है।
Knostic का OpenAnt पहला ओपन सोर्स LLM-आधारित vulnerability discovery उत्पाद (अब इसे harness कहा जाता है) है जो defenders को सक्रिय रूप से सत्यापित सुरक्षा खामियों को खोजने में मदद करता है, साथ ही false positives और false negatives दोनों को न्यूनतम करता है। Stage 1 पता लगाता है। Stage 2 हमला करता है। जो बचता है वह वास्तविक है।
ध्यान रखें कि यह एक शोध परियोजना के रूप में शुरू हुआ था, और जैसे-जैसे हम नई क्षमताएँ विकसित करते हैं, हम अक्सर उन्हें beta के रूप में जारी करते हैं। हम योगदान का स्वागत करते हैं।
OpenAnt बनाने पर हमारा शोध पत्र arXiv पर पा सकते हैं: OpenAnt: LLM-Powered Vulnerability Discovery Through Code Decomposition, Adversarial Verification, and Dynamic Testing, Nahum Korda और Gadi Evron द्वारा।
जब हमने पहली बार OpenAnt जारी किया था तब readme में यह एक प्रासंगिक प्रश्न था, क्योंकि कई अन्य harnesses भी जारी किए गए हैं। हमें अभी भी उम्मीद है कि AI-खोजी गई vulnerabilities के विस्फोट के साथ, OpenAnt ओपन सोर्स maintainers को हमलावरों से आगे रहने में मदद करेगा, जहाँ वे इसे स्वयं उपयोग कर सकते हैं। या अपने repo को निःशुल्क स्कैनिंग के लिए सबमिट कर सकते हैं।
यह भी तथ्य है कि Knostic का ध्यान agents और coding assistants की सुरक्षा पर है, न कि vulnerability research या application security पर, और हमें ओपन सोर्स पसंद है, इसलिए हमने OpenAnt को Apache 2 लाइसेंस के अंतर्गत जारी करने का निर्णय लिया। इसके अलावा, आपने OpenAI के Aardvark (अब Codex Security) और Anthropic के Claude Code Security के बारे में सुना होगा, और हमारा उनसे प्रतिस्पर्धा करने का कोई इरादा नहीं है।
तकनीकी विवरण, सीमाओं, और token लागतों के लिए, यह ब्लॉग पोस्ट देखें: https://knostic.ai/blog/openant
अपना repo स्कैनिंग के लिए सबमिट करने हेतु: https://knostic.ai/blog/oss-scan
Maintainer और शोध: Gadi Evron
मूल शोध, ideation, और मूल prototype: Nahum Korda। मूल productization: Alex Raihelgaus, Daniel Geyshis।
धन्यवाद: Michal Kamensky, Imri Goldberg, Daniel Cuthbert. Josh Grossman, और Avi Douglen।
यदि आपको हमारा काम पसंद है, तो देखें कि हम Knostic पर आपके agents और coding assistants की सुरक्षा के लिए क्या करते हैं, उन्हें आपकी हार्ड ड्राइव और कोड हटाने से रोकते हैं, और MCP servers, extensions, और skills जैसे संबंधित supply chain जोखिमों को नियंत्रित करते हैं।
CLI binary बनाएँ (Go 1.25+ आवश्यक):
cd apps/openant-cli && make build
यह Go स्रोत को compile करता है और binary को apps/openant-cli/bin/openant पर आउटपुट करता है।
इसे अपने PATH पर symlink करें ताकि आप कहीं से भी openant चला सकें:
ln -sf "$(pwd)/apps/openant-cli/bin/openant" /usr/local/bin/openant
नोट: इसे repo root से चलाएँ ताकि $(pwd) सही absolute path पर resolve हो।
OpenAnt प्रत्येक pipeline phase को एक configurable (provider, model) pair के माध्यम से route करता है। सबसे तेज़ तरीका interactive wizard है:
openant setup llm
आप config का नाम देते हैं (जैसे my-llm), प्रत्येक pipeline phase के लिए एक provider चुनते हैं (नीचे दिए गए किसी भी shipped adapter में से), प्रत्येक provider के लिए एक बार उसकी API key दर्ज करते हैं (Bedrock इसके बजाय AWS credential chain का उपयोग करता है — key खाली छोड़ें), और wizard ~/.config/openant/config.json लिखने से पहले प्रत्येक अद्वितीय provider+model pair को 1-token request के साथ probe करता है। इसके विरुद्ध --llm-config के साथ scan चलाएँ:
openant scan /path/to/repo --llm-config my-llm
Wizard defaults परियोजना की per-phase सिफारिशों को दर्शाते हैं (detection / verification / reachability review के लिए मजबूत reasoning models; context, report, और test generation के लिए हल्के models) — किसी भी उत्तर को अपनी पसंद के अनुसार 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 से सूचीबद्ध करें। 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 default 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
यह built-in openant-default config का उपयोग करता है (binary में compiled, config.json की आवश्यकता नहीं) — detection phases के लिए Claude Opus 4.6, बाकी के लिए Sonnet 4।
Wizard आपके लिए ~/.config/openant/config.json लिखता है, लेकिन आप इसे सीधे भी संपादित कर सकते हैं। प्रत्येक llm-config को सभी सात pipeline phases सूचीबद्ध करने चाहिए: