--- name: skill-security-auditor description: فاحص أمان حتمي لأي SKILL.md/سكربت قبل تثبيته/توليده. يحمي الترسانة من prompt-injection/exfil/أوامر مدمّرة/أسرار مكشوفة. خط دفاع supply-chain. ---
Skill Security Auditor (Supply-Chain Defense)
متى تُستخدم (auto-trigger — خط أحمر أمني)
🔴 قبل تثبيت/توليد/استيراد أي skill جديد خارجي (من GitHub/clawhub/skill_workshop) →scan إلزامي.
- verdict=BLOCK (CRITICAL) → لا يُثبّت قبل مراجعة يدوية.
- verdict=REVIEW (HIGH) → مراجعة.
- verdict=PASS → آمن.
ماذا يكشف (أنماط حتمية)
- prompt-injection (ignore instructions / jailbreak / role-override)
- exfiltration (تسريب env/secrets/tokens/.ssh عبر الشبكة)
- أوامر مدمّرة (rm -rf / / dd / mkfs / fork-bomb / chmod 777 /)
- تنفيذ مُعمّى (eval/exec لـ base64/payload مجلوب)
- reverse shell (/dev/tcp / bash -i / ncat -e)
- persistence (cron/systemd enable)
- أسرار مكشوفة (sk-.../AKIA.../ghp_... / BEGIN PRIVATE KEY)
الأوامر
python3 skills/skill-security-auditor/skill_auditor.py selftest
python3 skills/skill-security-auditor/skill_auditor.py scan <skill-dir-or-file> # exit 3 = BLOCK
python3 skills/skill-security-auditor/skill_auditor.py audit [skills_dir] # كل الترسانة
التكامل (أماكن الاستخدام)
- skill_workshop (apply/create) → scan قبل أي apply.
- clawhub (تثبيت skill خارجي) → scan إلزامي.
- الفحص الأسبوعي الشامل (arsenal_health_full) → audit دوري.
الأداء (ultimate)
- فحص سطراً بسطر (لا catastrophic backtracking) + تخطّي الأسطر >2000 حرف.
- يستبعد تبعيات الطرف الثالث (node_modules/venv/site-packages/.git/dist) — يُدقّق كودنا نحن.
- أنماط مُصرّفة مسبقاً (compiled regex).
مُختبَر E2E (2026-10-08)
- selftest 4/4: خبيث→CRITICAL · injection→HIGH · نظيف→0 · reverse-shell→CRITICAL.
- audit على 197 skill: 43 CRITICAL (بعد استبعاد الطرف الثالث — كان 883 معه) = كلها false-positives شرعية (الأداة نفسها + كود tokens/API مشروع + أمثلة SKILL.md). صفر تهديد حقيقي في الترسانة.
🔴 القيد (صادق)
- كاشف أنماط حتمي (لا تحليل دلالي عميق) → verdict=REVIEW للكود المشروع الذي يتعامل مع API/tokens (مقصود: تنبيه لا حظر).
- للتحليل العميق لـ skill مشبوه فعلاً → مراجعة يدوية + opus.