ماسح أمان شفرة عالمي سريع، مكتوب بلغة Rust. شامل: يدعم 14 لغة، واجهة طرفية للفرز، الأسرار، تدقيقات ما بعد الكم، مسح واعي بالفروقات والمزيد 𓃥
فحص أمني محلي سريع للشيفرة والأسرار والتبعيات ومخاطر التشفير.
مدمج في 0sec، منصة الأمن السيبراني مفتوحة المصدر.
npx foxguard .
npx foxguard . # zero install
pipx install foxguard # prebuilt CLI from PyPI
curl -fsSL https://foxguard.dev/install.sh | sh # prebuilt binary (macOS/Linux)
cargo install foxguard # from source
تتحقق مثبتات الملفات التنفيذية المستقلة من ملفات GitHub release الثنائية مقابل checksums.txt. كما تنشر الملفات الثنائية للإصدارات شهادات GitHub artifact attestations؛ استخدم gh attestation verify للتحقق اليدوي، أو راجع مصدر الإصدار.
تدعم حزم PyPI الإصدار Python 3.9+ على Linux glibc 2.28+ (x86_64/ARM64)، وmacOS
(Intel/Apple Silicon)، وWindows x86_64. في بيئة Python افتراضية موجودة،
استخدم python -m pip install foxguard بدلاً من ذلك. تقوم هذه بتثبيت
CLI الأصلي دون مترجم Rust أو تنزيل ملف تنفيذي وقت التشغيل؛ لا يتم
توفير واجهة Python API. يجب على مستخدمي Alpine/musl استخدام ملفات Linux
التنفيذية المستقلة للإصدارات.
GitHub Action:
- uses: 0sec-labs/foxguard/[email protected]
with:
path: .
severity: medium
fail-on-findings: "true"
upload-sarif: "true"
pre-commit:
repos:
- repo: https://github.com/0sec-labs/foxguard
rev: v0.14.0
hooks:
- id: foxguard
التكاملات: GitHub App، VS Code، إضافة Claude Code، وخادم MCP.
يكتب foxguard-github-app سجلات JSON مفصولة بأسطر جديدة. تستخدم الفحوصات
المكتملة والفاشلة event=foxguard.scan.completed وevent=foxguard.scan.failed، مع
حقول التسليم والتثبيت والمستودع وPR والالتزام والمدة وusage_scope
للربط. احتفظ بالمعرفات كحقول سجل، وليس كتسميات مقاييس.
اضبط FOXGUARD_INTERNAL_ACCOUNTS على قائمة مفصولة بفواصل لحساباتك ومنظماتك
على GitHub. المطابقة غير حساسة لحالة الأحرف. يتم تصنيف المالكين الآخرين
كـ external؛ القائمة غير المضبوطة أو المالك المفقود ينتج unknown.
النشاط الخارجي ليس دليلاً على عميل يدفع، والفحوصات ليست أشخاصاً.
يتم مطابقة سجل التثبيت مقابل جميع صفحات GitHub App installation API عند بدء التشغيل وكل ساعة. تحتفظ عمليات التحديث الفاشلة بالحالة الحالية؛ تأخذ webhooks المتزامنة الأولوية. تحافظ بيانات webhook المتناثرة على تفاصيل الحساب المعروفة وأسماء المستودعات المرصودة. هذه الأسماء ليست جرداً كاملاً للمستودعات المتاحة للتثبيت.
احتفظ بـ FOXGUARD_INSTALLATIONS_PATH وFOXGUARD_PULL_REQUEST_JOBS_PATH على
تخزين دائم. راقب foxguard.installations.reconcile_failed إلى جانب
فشل الفحوصات؛ يبلغ foxguard.installations.reconciled عن إجمالي وعدد
التثبيتات الداخلية/الخارجية/غير المعروفة بعد تحديث ناجح.
اضبط حجم FOXGUARD_PR_WORKERS بناءً على ذروة الذاكرة المقاسة للماسح وحد
ذاكرة الحاوية: يمكن أن تحدث عمليات قتل OOM للعمليات الفرعية دون إعادة تشغيل
التطبيق المستضاف.
foxguard . # scan everything
foxguard diff main . # only new findings vs main
foxguard tui . # interactive terminal review
foxguard secrets . # leaked credentials and keys
foxguard sca . # dependency vulnerabilities from OSV
foxguard pqc . # post-quantum crypto audit
foxguard --format sarif . > results.sarif
foxguard --format semgrep-json . # Semgrep CLI-compatible JSON
استخدم foxguard --fix src/ أو foxguard --fix src/app.py لتطبيق إصلاحات التلوث
المدعومة في مكانها. يتم التحقق من الأهداف مقابل دليل الفحص الأساسي أو
الملف المحدد؛ يتم تخطي النتائج خارج هذا النطاق. إصلاحات حقن الأوامر في Python
تضيف import subprocess عند الحاجة، مع الحفاظ على docstrings الوحدة و
الاستيرادات المستقبلية. راجع التغييرات المُنشأة قبل الالتزام بها.
تخرج حالات فشل قراءة الملف والبيانات الوصفية واجتياز الدليل في ماسح الشيفرة
الأصلي بالرمز 2 بدلاً من إنتاج تقرير ناجح أو الكتابة فوق خط أساس.
تظل الاستثناءات المقصودة والملفات غير المدعومة أو الثنائية أو كبيرة الحجم
عمليات تخطي؛ افحص إشعارات الملفات المتخطاة عند التحقق من تغطية الفحص.
شغّل foxguard tui . واختر Scan أو Diff أو Secrets أو PQC باستخدام
الأسهم أو Tab. في وضع Diff، اكتب الفرع الهدف قبل الضغط على Enter.
تعرض الطرفيات العريضة النتائج بجانب تفاصيلها؛ تستخدم الطرفيات الأصغر قائمة
مع عرض تفاصيل قابل للتوسيع. يظل سياق المصدر وتدفق البيانات والإصلاحات
قابلة للتمرير كلما وفرت النتيجة ذلك.
يفصل الرأس إحصائيات الفحص عن فئات خط الأساس. يتم تمييز نطاقات المصدر المحددة ضمنياً، دون صفوف تعليقات إضافية. تبقى عناصر التحكم في الفتح أسفل لوحة التفاصيل المباشرة أثناء تمرير محتواها، وتحتفظ مواقع الملفات المختصرة بلواحق السطر والعمود الخاصة بها. تمتلك البحث ومربعات الحوار اختصاراتها أثناء نشاطها.