ماسح SAST مدعوم بالذكاء الاصطناعي يكتشف تجاوز المصادقة، IDOR، والأخطاء المنطقية التي يغفل عنها Semgrep/CodeQL. إجراء GitHub مجاني. يدعم Python، JS/TS، Go، PHP، Ruby.
ماسح أمان للكود يعمل بالذكاء الاصطناعي ويكتشف الثغرات التي تفوتها أدوات Semgrep وCodeQL.
البدء السريع • إجراء GitHub • المقارنة • اللغات • الأسئلة الشائعة
أدوات SAST التقليدية تعتمد على مطابقة الأنماط وقواعد AST. إنها بارعة في اكتشاف أنماط الثغرات المعروفة، لكنها لا تستطيع أساساً التفكير في النية.
إذا كان لدى واجهتك (API) 20 نقطة نهاية و 19 منها تتحقق من الترخيص قبل تنفيذ إجراء على أحد الموارد، فإن Semgrep لا يملك طريقة للإبلاغ عن النقطة التي لا تفعل ذلك - لأنه لا يوجد نمط يطابقه. الثغرة هي غياب النمط.
يقوم VulnHawk بتحليل الكود بالذكاء الاصطناعي، وبالنسبة لكل جزء من الكود يفحصه، يضمّن كوداً ذا صلة من أجزاء أخرى من قاعدة الكود كسياق. تتيح خطوة الإثراء هذه للذكاء الاصطناعي مقارنة كيفية تعامل المكونات المماثلة مع الأمان - واكتشاف المكون الذي لا يفعل ذلك.
pip install vulnhawk
اختر الخلفية (backend):
# 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 بتوجيه الأوامر (prompts) عبر CLI المحلي الخاص بك، لذا لا توجد تكاليف إضافية على واجهة API.
| الإمكانية | VulnHawk | Semgrep | CodeQL | Snyk Code | Checkmarx | SonarQube |
|---|---|---|---|---|---|---|
| طريقة الكشف | استدلال (reasoning) بالذكاء الاصطناعي | أنماط AST | تدفق بيانات QL | تعلم آلي + قواعد | أنماط + تدفق | أنماط |
| ثغرات منطق الأعمال | نعم | لا | محدود | محدود | محدود | لا |
| سياق عبر الملفات | تلقائي | قواعد مخصصة | استعلامات مخصصة | جزئي | طبقة مدفوعة | محدود |
| تعقيد الإعداد | بدون تكوين | تكوين قواعد | بناء قاعدة بيانات + QL | ملف تكوين | معقد | إعداد خادم |
| قواعد مخصصة مطلوبة | لا | نعم (YAML) | نعم (QL) | جزئي | نعم | نعم |
| إصلاحات واعية بالسياق | نعم | عامة | عامة | عامة | عامة | عامة |
| وضع محلي/خاص | Ollama | نعم | نعم | لا | لا | استضافة ذاتية |
| تكامل CI/CD | إجراء من سطر واحد | إجراء | إجراء | إجراء | إضافة | إضافة |
| إدخال SARIF (ربط الأدوات) | نعم | لا | لا | لا | لا | لا |
| التسعير | مجاني* | مجاني/مدفوع | مجاني/مدفوع | مجاني/$$$ | $$$$$ | مجاني/$$$ |
*مجاني مع Claude Code أو Codex CLI أو Ollama. خلفيات API تكلف حوالي 0.50-2.00 دولار لكل مسح.
| فئة الثغرة | لماذا تفوتها الأدوات القائمة على القواعد |
|---|---|
| تفويض مفقود في 1 من نقاط N | لا يوجد نمط للمطابقة - الخلل هو غياب التحقق |
| IDOR / BOLA | يتطلب فهم أن معرف المستخدم في JWT يجب أن يطابق المعرف في عنوان URL |
| التلاعب بمبلغ الدفع | منطق أعمال - لا ينبغي الوثوق بحقل المبلغ القادم من العميل |
| التحقق غير المتسق من الإدخال | 5 معالجات تقوم بالتعقيم، السادس لا يفعل - يحتاج مقارنة عبر الملفات |
| سوء استخدام الإدخال المخزن | الإدخال محفوظ بأمان، ولكن يتم استخدام eval() أو SQL خام على بعد 3 ملفات |
| حالات السباق (race conditions) في تحديثات الحالة | تعديلات متزامنة للرصيد دون تأمين (locking) |
صُمم VulnHawk ليكون طبقة مكملة، وليس بديلاً:
| الطبقة | الأداة | الغرض |
|---|---|---|
| 1 | Semgrep | بوّابة سريعة وحتمية على الأنماط السيئة المعروفة |
| 2 | CodeQL | تتبع عميق للتيّارات (taint) عبر سلاسل الاستدعاءات المعقدة |
| 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 Code Scanning)
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 كـ مسح أساسي على الفرع الافتراضي وبشكل تدريجي على كل طلب سحب (Pull Request).
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'
يتم رفع النتائج تلقائياً إلى تبويب Security > Code Scanning في GitHub عبر SARIF.
| الخلفية | الإعداد |
|---|---|
| Claude Code (مجاني) |
احصل على رمزك: |
| Codex (مجاني) |
يتطلب |
| Claude API |