العودة إلى التحديثات
New releaseAug 5, 2026

SkillSpector v2.5.2

ماسح أمني لمهارات وكلاء الذكاء الاصطناعي. يكتشف الثغرات والأنماط الخبيثة والمخاطر الأمنية وحقن التعليمات (prompt injection) وتسريب البيانات ومخاطر سلسلة التوريد في مهارات Claude Code وCodex وMCP قبل تثبيتها.

مشاركة

SkillSpector

ماسح أمني لمهارات وكلاء الذكاء الاصطناعي. اكتشف الثغرات والأنماط الخبيثة والمخاطر الأمنية قبل تثبيت مهارات الوكلاء.

Python 3.12+ License: Apache 2.0 OpenSSF Scorecard

نظرة عامة

تُنفَّذ مهارات وكلاء الذكاء الاصطناعي (المستخدمة بواسطة Claude Code وCodex CLI وGemini CLI وغيرها) بثقة ضمنية وفحص أدنى. تُظهر الأبحاث أن 26.1% من المهارات تحتوي على ثغرات وأن 5.2% تُظهر نية خبيثة محتملة.

يساعدك SkillSpector في الإجابة على السؤال: "هل هذا المهارة آمنة للتثبيت؟"

SkillSpector جزء من خط أنابيب NVIDIA Verified Skills، الذي يفحص ويقيّم ويوقّع مهارات الوكلاء قبل نشرها. تُنشر المهارات التي تجتاز الفحص إلى كتالوج مهارات NVIDIA.

التوثيق

الميزات

  • إدخال متعدد الصيغ: افحص مستودعات Git أو عناوين URL أو ملفات zip أو المجلدات أو ملفات فردية
  • 71 نمط ثغرة عبر 17 فئة: حقن الأوامر، تسريب البيانات، تصعيد الصلاحيات، سلسلة التوريد، الوكالة المفرطة، معالجة المخرجات، تسريب موجه النظام، تسميم الذاكرة، إساءة استخدام الأدوات، الوكيل المارق، مقاومة الرفض، إساءة استخدام المحفزات، الشيفرة الخطرة (AST)، تتبع التلوث، توقيعات YARA، أقل صلاحية MCP، وتسميم أدوات MCP
  • تحليل على مرحلتين: تحليل ثابت سريع + تقييم دلالي اختياري بواسطة LLM
  • عمليات بحث مباشرة عن الثغرات: يستعلم SC4 من OSV.dev للحصول على بيانات CVE في الوقت الفعلي مع تراجع تلقائي دون اتصال
  • صيغ إخراج متعددة: تقارير Terminal وJSON وMarkdown وSARIF
  • تقييم المخاطر: درجة من 0 إلى 100 مع تسميات الخطورة وتوصيات واضحة
  • قمع النتائج الأساسية / الإيجابيات الكاذبة: اقبل النتائج المعروفة عبر قاعدة glob أو بصمة أساسية بحيث تكشف عمليات الفحص المتكررة المشكلات الجديدة فقط (التوثيق)

البدء السريع

التثبيت

إشعار البرمجيات مفتوحة المصدر: سيقوم هذا المشروع بتنزيل وتثبيت مشاريع برمجيات مفتوحة المصدر إضافية تابعة لجهات خارجية. راجع شروط الترخيص لهذه المشاريع مفتوحة المصدر قبل الاستخدام.

أنشئ بيئة افتراضية وفعّلها أولاً (تفترض جميع أهداف make أن البيئة الافتراضية مفعّلة). استخدم uv أو pip؛ يستخدم Makefile أداة uv إن كانت متاحة، وإلا يستخدم pip.

تثبيت سريع باستخدام uv (CLI فقط):```bash uv tool install git+https://github.com/NVIDIA/skillspector.git

Update later: uv tool update skillspector

إذا كنت تخطط لتشغيل `skillspector mcp`، فقم بتثبيت إضافة MCP في وقت التثبيت:```bash
uv tool install 'skillspector[mcp] @ git+https://github.com/NVIDIA/skillspector.git'

من المصدر:```bash

Clone the repository

git clone https://github.com/NVIDIA/skillspector.git cd skillspector

Create and activate virtual environment

uv venv .venv && source .venv/bin/activate

or: python3 -m venv .venv && source .venv/bin/activate

Install for production use

make install

Or install with development dependencies

make install-dev

### Docker (بدون الحاجة إلى Python)

شغّل SkillSpector دون تثبيت Python من خلال بنائه محليًا من [Dockerfile](https://github.com/nvidia/skillspector/blob/main/Dockerfile) المضمّن. تعتمد الصورة على صورة Docker الرسمية لـ Python `3.12-slim-bookworm`.

**بناء الصورة:**```bash
make docker-build
# or: docker build -t skillspector .

فحص دليل محلي عن طريق تركيب دليلك الحالي في /scan، وهو دليل العمل الخاص بالحاوية:```bash docker run --rm -v "$PWD:/scan" skillspector scan ./my-skill/ --no-llm

**الفحص مع تحليل LLM** عن طريق تمرير بيانات الاعتماد باستخدام ملف `.env` محلي:```bash
cat > .env <<'EOF'
SKILLSPECTOR_PROVIDER=anthropic
ANTHROPIC_API_KEY=sk-ant-...
EOF

المزايا الرئيسية

  • التحليل الثابت: تحليل الكود المصدري دون تنفيذ
  • دعم متعدد اللغات: Python، JavaScript، TypeScript، Java، Go، PHP، Ruby
  • قواعد قابلة للتخصيص: تحديد أنماط الكشف الخاصة بك
  • تكامل CI/CD: تكامل سلس مع خطوط أنابيب التطوير
  • تقارير مفصلة: تقارير بتنسيق JSON وHTML وSARIF
  • قاعدة بيانات الثغرات: قاعدة بيانات مدمجة لأنماط الثغرات الشائعة

التثبيت

من المصدر

git clone https://github.com/example/security-scanner.git
cd security-scanner
pip install -r requirements.txt
python setup.py install

باستخدام pip

pip install security-scanner

باستخدام Docker

docker pull securityscanner/scanner:latest
docker run -v $(pwd):/scan securityscanner/scanner:latest /scan

الاستخدام

الاستخدام الأساسي

# فحص دليل
security-scanner scan /path/to/code

# فحص ملف واحد
security-scanner scan --file app.py

# الفحص باستخدام قواعد مخصصة
security-scanner scan --rules custom-rules.yaml /path/to/code

خيارات متقدمة

# الفحص مع تنسيق إخراج محدد
security-scanner scan --format json --output results.json /path/to/code

# الفحص مع مستوى خطورة محدد
security-scanner scan --severity high,critical /path/to/code

# الفحص مع استبعاد أنماط معينة
security-scanner scan --exclude "tests/*,vendor/*" /path/to/code

التكامل مع CI/CD

# مثال GitHub Actions
name: Security Scan
on: [push, pull_request]
jobs:
  security:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v2
      - name: Run Security Scanner
        run: |
          pip install security-scanner
          security-scanner scan --format sarif --output results.sarif .
      - name: Upload SARIF
        uses: github/codeql-action/upload-sarif@v2
        with:
          sarif_file: results.sarif

التكوين

ملف التكوين

# .security-scanner.yaml
rules:
  - id: SQL_INJECTION
    enabled: true
    severity: critical
  - id: XSS
    enabled: true
    severity: high
  - id: HARDCODED_SECRETS
    enabled: true
    severity: critical

exclude:
  - "tests/*"
  - "vendor/*"
  - "*.min.js"

output:
  format: json
  verbose: true

القواعد المخصصة

# custom-rules.yaml
rules:
  - id: CUSTOM_RULE_001
    name: "كشف الأنماط الخطرة"
    description: "يكتشف الأنماط الخطرة في الكود"
    severity: high
    pattern: "eval\\s*\\("
    languages:
      - python
      - javascript
    message: "تم اكتشاف استخدام eval() وهو أمر خطير"

أمثلة الكشف

حقن SQL

# كود ضعيف
def get_user(username):
    query = "SELECT * FROM users WHERE username = '" + username + "'"
    cursor.execute(query)
    return cursor.fetchone()

# كود آمن
def get_user(username):
    query = "SELECT * FROM users WHERE username = %s"
    cursor.execute(query, (username,))
    return cursor.fetchone()

البرمجة النصية عبر المواقع (XSS)

// كود ضعيف
element.innerHTML = userInput;

// كود آمن
element.textContent = userInput;

الأسرار المضمنة

# كود ضعيف
API_KEY = "sk-1234567890abcdef"
DATABASE_PASSWORD = "super_secret_password"

# كود آمن
import os
API_KEY = os.environ.get("API_KEY")
DATABASE_PASSWORD = os.environ.get("DATABASE_PASSWORD")

تنسيقات الإخراج

JSON

الفئات