AI-संचालित SAST स्कैनर जो प्रमाणीकरण बाईपास, IDOR और तर्क बग ढूंढता है जिन्हें Semgrep/CodeQL मिस करते हैं। मुफ्त GitHub Action। Python, JS/TS, Go, PHP, Ruby का समर्थन करता है।
AI-संचालित कोड सुरक्षा स्कैनर जो Semgrep और CodeQL द्वारा छूटी कमजोरियों को ढूंढता है।
त्वरित आरंभ • GitHub Action • तुलना • भाषाएँ • अक्सर पूछे जाने वाले प्रश्न
पारंपरिक SAST उपकरण पैटर्न मिलान और AST नियमों पर निर्भर करते हैं। वे ज्ञात कमजोरी पैटर्न को पकड़ने में उत्कृष्ट हैं, लेकिन वे मूल रूप से इरादे के बारे में तर्क नहीं कर सकते।
यदि आपके API में 20 एंडपॉइंट हैं और उनमें से 19 किसी संसाधन पर कार्रवाई करने से पहले प्राधिकरण सत्यापित करते हैं, तो Semgrep के पास उस एक को चिह्नित करने का कोई तरीका नहीं है जो नहीं करता - क्योंकि मिलान करने के लिए कोई पैटर्न नहीं है। कमजोरी एक पैटर्न की है।
VulnHawk AI के साथ कोड का विश्लेषण करता है, और अपने द्वारा जांचे गए कोड के प्रत्येक टुकड़े के लिए, यह संदर्भ के रूप में आपके कोडबेस में कहीं और से संबंधित कोड शामिल करता है। यह संवर्धन चरण AI को यह तुलना करने देता है कि समान घटक सुरक्षा को कैसे संभालते हैं - और जो नहीं संभालता उसे स्पॉट करता है।
pip install vulnhawk
एक बैकएंड चुनें:
# Claude Code CLI - ग्राहकों के लिए मुफ्त (अनुशंसित)
vulnhawk scan ./src -b claude-code
# Codex CLI - ChatGPT Pro/Plus ग्राहकों के लिए मुफ्त
vulnhawk scan ./src -b codex
# Claude API
export ANTHROPIC_API_KEY=sk-ant-...
vulnhawk scan ./src
# OpenAI API
vulnhawk scan ./src -b openai -m gpt-4o
# Ollama - मुफ्त, स्थानीय, पूरी तरह से निजी
vulnhawk scan ./src -b ollama -m llama3.1
कोई कॉन्फ़िग फ़ाइल नहीं। लिखने के लिए कोई नियम नहीं। बनाने के लिए कोई डेटाबेस नहीं।
Claude Code और Codex बैकएंड मौजूदा सदस्यता वाले उपयोगकर्ताओं के लिए मुफ्त हैं। VulnHawk आपके स्थानीय CLI के माध्यम से प्रॉम्प्ट पाइप करता है, इसलिए कोई अतिरिक्त API लागत नहीं है।
| क्षमता | VulnHawk | Semgrep | CodeQL | Snyk Code | Checkmarx | SonarQube |
|---|---|---|---|---|---|---|
| पहचान विधि | AI तर्क | AST पैटर्न | QL डेटा प्रवाह | ML + नियम | पैटर्न + प्रवाह | पैटर्न |
| व्यावसायिक तर्क दोष | हाँ | नहीं | सीमित | सीमित | सीमित | नहीं |
| क्रॉस-फ़ाइल संदर्भ | स्वचालित | कस्टम नियम | कस्टम क्वेरी | आंशिक | सशुल्क स्तर | सीमित |
| सेटअप जटिलता | शून्य कॉन्फ़िग | नियम कॉन्फ़िग | DB बिल्ड + QL | कॉन्फ़िग फ़ाइल | जटिल | सर्वर सेटअप |
| कस्टम नियम आवश्यक | नहीं | हाँ (YAML) | हाँ (QL) | आंशिक | हाँ | हाँ |
| संदर्भ-जागरूक सुधार | हाँ | सामान्य | सामान्य | सामान्य | सामान्य | सामान्य |
| स्थानीय / निजी मोड | Ollama | हाँ | हाँ | नहीं | नहीं | स्व-होस्टेड |
| CI/CD एकीकरण | 1-लाइन Action | Action | Action | Action | प्लगइन | प्लगइन |
| SARIF इनपुट (चेन टूल्स) | हाँ | नहीं | नहीं | नहीं | नहीं | नहीं |
*Claude Code, Codex CLI या Ollama के साथ मुफ्त। API बैकएंड की लागत ~$0.50-$2.00 प्रति स्कैन है।
| कमजोरी वर्ग | नियम-आधारित उपकरण इसे क्यों चूकते हैं |
|---|---|
| 1-एन-एंडपॉइंट पर अनुपलब्ध प्राधिकरण | मिलान करने के लिए कोई पैटर्न नहीं - बग एक जाँच की अनुपस्थिति है |
| IDOR / BOLA | यह समझने की आवश्यकता है कि JWT में उपयोगकर्ता ID URL में ID से मेल खाना चाहिए |
| भुगतान राशि हेरफेर | व्यावसायिक तर्क - राशि फ़ील्ड पर क्लाइंट से भरोसा नहीं किया जाना चाहिए |
| असंगत इनपुट सत्यापन | 5 हैंडलर सैनिटाइज़ करते हैं, 6वाँ नहीं करता - क्रॉस-फ़ाइल तुलना की आवश्यकता है |
| संग्रहीत इनपुट का दुरुपयोग | इनपुट सुरक्षित रूप से सहेजा गया, लेकिन 3 फ़ाइलें दूर eval() या रॉ-SQL किया गया |
| स्थिति अद्यतन में प्रतिस्पर्धा की स्थिति | लॉकिंग के बिना समवर्ती शेष संशोधन |
VulnHawk को प्रतिस्थापन के बजाय एक पूरक परत के रूप में डिज़ाइन किया गया है:
| परत | उपकरण | उद्देश्य |
|---|---|---|
| 1 | Semgrep | ज्ञात-खराब पैटर्न पर तेज़, नियतात्मक गेटकीपिंग |
| 2 | CodeQL | जटिल कॉल चेन में गहरी टेंट ट्रैकिंग |
| 3 | VulnHawk | व्यावसायिक तर्क, प्रमाणीकरण अंतराल, IDOR, और असंगतताएं जो नियम व्यक्त नहीं कर सकते |
vulnhawk scan ./src # पूर्ण स्कैन (डिफ़ॉल्ट)
vulnhawk scan ./src --mode auth # प्रमाणीकरण बाईपास, अनुपलब्ध जाँच, सत्र दोष
vulnhawk scan ./src --mode injection # SQLi, कमांड इंजेक्शन, SSTI, XSS
vulnhawk scan ./src --mode secrets # हार्डकोडेड कुंजियाँ, टोकन, पासवर्ड
vulnhawk scan ./src --mode config # डीबग मोड, अनुमेय CORS, असुरक्षित कुकीज़
vulnhawk scan ./src --mode crypto # कमज़ोर हैशिंग, हार्डकोडेड कुंजियाँ, खराब RNG
vulnhawk scan ./src -o json -f results.json # JSON
vulnhawk scan ./src -o sarif -f results.sarif # SARIF (GitHub कोड स्कैनिंग)
vulnhawk scan ./src -o markdown -f report.md # Markdown रिपोर्ट
vulnhawk scan ./src --severity high # केवल क्रिटिकल + उच्च
vulnhawk scan ./src --severity info # सब कुछ
Semgrep, CodeQL, या किसी भी SARIF-उत्पादक उपकरण के आउटपुट को VulnHawk में फ़ीड करें। यह उन निष्कर्षों को मान्य करने, विस्तार करने और एक श्रृंखला में जोड़ने के लिए अतिरिक्त संदर्भ के रूप में उपयोग करता है ताकि गहरी कमजोरियाँ बन सकें।
# पहले Semgrep चलाएँ, फिर VulnHawk के साथ समृद्ध करें
semgrep --config auto ./src -o semgrep.sarif --sarif
vulnhawk scan ./src --sarif-input semgrep.sarif
यह क्या सक्षम बनाता है:
vulnhawk info ./src # फ़ाइलों, खंडों और भाषा विभाजन का पूर्वावलोकन
VulnHawk आपकी डिफ़ॉल्ट शाखा पर बेसलाइन स्कैन और प्रत्येक पुल अनुरोध पर वृद्धिशील रूप से चलता है।
name: VulnHawk Security Scan
on:
push:
branches: [main, master]
pull_request:
permissions:
security-events: write
contents: read
jobs:
vulnhawk:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- uses: momenbasel/vulnhawk@main
with:
target: '.'
backend: 'claude-code'
claude-code-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
severity: 'medium'
fail-on-findings: 'true'
निष्कर्ष SARIF के माध्यम से स्वचालित रूप से GitHub के सुरक्षा > कोड स्कैनिंग टैब पर अपलोड हो जाते हैं।
| बैकएंड | कॉन्फ़िगरेशन |
|---|---|
| Claude Code (मुफ्त) |
अपना टोकन प्राप्त करें: |
| Codex (मुफ्त) |
रनर पर |
| Claude API |
|
| OpenAI API |
|
steps:
- uses: actions/checkout@v4
- name: Semgrep (तेज़ पैटर्न स्कैन)
uses: returntocorp/semgrep-action@v1
with:
config: auto
generateSarif: true
- name: VulnHawk (गहरा AI विश्लेषण)
uses: momenbasel/vulnhawk@main
with:
target: '.'
backend: 'claude-code'
claude-code-oauth-token: ${{ secrets.CLAUDE_CODE_OAUTH_TOKEN }}
sarif-input: 'semgrep.sarif'
| भाषा | एक्सटेंशन | फ्रेमवर्क पहचान |
|---|---|---|
| Python | .py | Django, Flask, FastAPI |
| JavaScript | .js .jsx | Express, Fastify, Next.js |
| TypeScript | .ts .tsx | Express, NestJS, Fastify |
| Go | .go | net/http हैंडलर |
| Java | .java | क्लास/विधि विभाजन |
| PHP | .php | Laravel रूट, क्लास, ट्रेट, इंटरफ़ेस |
| Ruby | .rb .erb | Rails रूट, क्लास, मॉड्यूल |
Codebase ──> Discover ──> Chunk ──> Enrich ──> Analyze ──> Validate ──> Report
│ │ │ │ │
Respects Functions Related LLM with Dedup +
.gitignore Classes code from security confidence
.vulnhawk- Routes same dir + prompts scoring
ignore Modules auth patterns
संवर्धन चरण मुख्य विभेदक है। प्रत्येक कोड खंड के लिए, VulnHawk शामिल करता है:
यह AI को असंगतताओं की पहचान करने के लिए आवश्यक संदर्भ देता है।
स्कैनिंग से पथ बाहर करें (gitignore सिंटैक्स):
generated/
vendor/
third_party/
*.gen.go
| चर | विवरण |
|---|---|
CLAUDE_CODE_OAUTH_TOKEN | Claude Code CLI प्रमाणीकरण (ग्राहकों के लिए मुफ्त) |
ANTHROPIC_API_KEY | Claude API कुंजी |
OPENAI_API_KEY | OpenAI API कुंजी |
| बैकएंड | प्रति स्कैन (~100 फ़ाइलें) | आवश्यकता |
|---|---|---|
| Claude Code CLI | मुफ्त | Claude Code Max या Team सदस्यता |
| Codex CLI | मुफ्त | ChatGPT Pro या Plus सदस्यता |
| Claude API | ~$0.50 - $2.00 | Anthropic API क्रेडिट |
| OpenAI API | ~$1.00 - $4.00 | OpenAI API क्रेडिट |
| Ollama | मुफ्त | स्थानीय मशीन 8GB+ VRAM के साथ |
Claude Code सदस्यताएँ (Max $100-$200/माह, या Team योजनाएँ) में असीमित CLI उपयोग शामिल है। VulnHawk आपकी मौजूदा सदस्यता के माध्यम से विश्लेषण प्रॉम्प्ट को पाइप करते हुए claude --print को अंडर-द-हुड कॉल करता है। कोई API कुंजी नहीं। कोई प्रति-टोकन बिलिंग नहीं।
अपनी स्थानीय मशीन पर claude config get oauth_token चलाएँ। आउटपुट को CLAUDE_CODE_OAUTH_TOKEN नाम के GitHub Actions सीक्रेट के रूप में जोड़ें।
दोनों। पुश-टू-मेन स्कैन आपकी सुरक्षा बेसलाइन स्थापित करते हैं और सुरक्षा टैब को भरते हैं। PR स्कैन विलय से पहले नई कमजोरियों को पकड़ते हैं। अनुशंसित वर्कफ़्लो कॉन्फ़िग दोनों ट्रिगर को संभालता है।
हाँ - कोड खंड कॉन्फ़िगर किए गए LLM प्रदाता (Anthropic या OpenAI) को भेजे जाते हैं। पूरी तरह से निजी, एयर-गैप्ड स्कैनिंग के लिए, Ollama बैकएंड का उपयोग करें जो पूरी तरह से आपकी स्थानीय मशीन पर चलता है।
नहीं। VulnHawk एक पूरक परत है। Semgrep और CodeQL अपने काम में उत्कृष्ट हैं (पैटर्न मिलान और टेंट ट्रैकिंग)। VulnHawk व्यावसायिक तर्क बग, प्रमाणीकरण अंतराल और असंगतताओं को पकड़ता है जिन्हें नियम व्यक्त नहीं कर सकते। सबसे मजबूत कवरेज के लिए तीनों का एक साथ उपयोग करें।
हाँ। VulnHawk में दोनों के लिए फ्रेमवर्क-जागरूक चंकिंग शामिल है। यह Laravel Route::get() परिभाषाओं, PHP क्लास/ट्रेट/इंटरफ़ेस, Rails रूट घोषणाओं (get, post, resources) और Ruby क्लास/मॉड्यूल का पता लगाता है। यह फ्रेमवर्क-विशिष्ट आयात (use, require, include) भी निकालता है।
आप किसी अन्य स्कैनर (Semgrep, CodeQL, Snyk, आदि) द्वारा उत्पादित SARIF फ़ाइल को VulnHawk में फ़ीड कर सकते हैं। VulnHawk विश्लेषण के दौरान उन निष्कर्षों को अतिरिक्त संदर्भ के रूप में उपयोग करता है - उन्हें मान्य करना, पास में संबंधित मुद्दे ढूंढना, और उपकरणों के बीच निष्कर्षों को जोड़ने वाली बहु-चरणीय हमला श्रृंखलाएँ बनाना।
CONTRIBUTING.md देखें।
git clone https://github.com/momenbasel/vulnhawk.git
cd vulnhawk
uv venv .venv && source .venv/bin/activate
uv pip install -e ".[dev]"
pytest
यदि VulnHawk आपके लिए उपयोगी है, तो निरंतर विकास का समर्थन करने के लिए परियोजना को प्रायोजित करने पर विचार करें।
VulnHawk GreyCore Labs द्वारा बनाया और अनुरक्षित किया जाता है, जो एक US-निगमित आक्रामक सुरक्षा फर्म है। अपने उत्पाद पर भी वही नज़र चाहते हैं?
VulnHawk VulnHawk लाइसेंस के तहत स्रोत-उपलब्ध है।
सभी के लिए मुफ्त - व्यक्ति, टीम, स्टार्टअप और उद्यम VulnHawk का उपयोग आंतरिक सुरक्षा स्कैनिंग के लिए बिना किसी लागत के कर सकते हैं, बशर्ते इसे किसी आधिकारिक वितरण चैनल से स्थापित किया गया हो:
आप सॉफ़्टवेयर को बेच नहीं सकते, इसे एक प्रतिस्पर्धी सेवा के रूप में पेश नहीं कर सकते, या फोर्क को एक उत्पाद के रूप में पुनर्वितरित नहीं कर सकते। फोर्क को केवल इस रिपॉजिटरी में पुल अनुरोध वापस सबमिट करने के उद्देश्य से अनुमति है। पूर्ण शर्तों के लिए LICENSE देखें।
| मूल्य निर्धारण | मुफ्त* | मुफ्त / सशुल्क | मुफ्त / सशुल्क | मुफ्त / $$$ | $$$$$ | मुफ्त / $$$ |