العودة إلى التحديثات
New releaseSep 1, 2026

vet v1.19.0

احمِ نفسك من حزم المصادر المفتوحة الخبيثة 🤖

مشاركة

SafeDep vet

اكتشف الحزم الخبيثة والثغرات وسير عمل CI الخطرة قبل وصولها إلى الإنتاج.

[!NOTE] هذا الفرع هو vet v2، في مرحلة ألفا. vet v1 موجود على main ويبقى الإصدار الأحدث. توضح ملاحظات إصدار v2.0.0 كيف يقابل كل أمر وعلامة في v1 نظيرها في v2.

لماذا vet

تبعياتك وسير عمل GitHub Actions وإعدادات وكلاء الذكاء الاصطناعي لديك تشغّل شيفرة لم تكتبها أنت. يكتشف vet المخاطر فيها.

  • الحزم الخبيثة. يفحص vet كل حزمة مقابل SafeDep Threat Intel. ويحلل Threat Intel إصدارات الحزم الجديدة عند نشرها في السجلات.
  • الثغرات المعروفة، مع الإصدار المُصلَّح الذي يجب الترقية إليه.
  • سير العمل الخطرة. المُشغِّلات الخطرة، وحقن القوالب، والأسرار المكشوفة، والإجراءات التي لا تحتوي على commit SHA مثبّت.
  • التلاعب بملفات القفل والإصدارات الحديثة. الإدخالات القادمة من سجل غير موثوق، والإصدارات الواقعة داخل نافذة فترة التهدئة.
  • السياسات كشيفرة. قواعد بلغة CEL تحدد متى يفشل الفحص. يمكنك اختبار قاعدة على فحص محفوظ.
  • جرد الذكاء الاصطناعي والتشفير. يسرد vet مكتبات الذكاء الاصطناعي وخوارزميات التشفير التي يستدعيها كودك، ويكتب CycloneDX xBOM و CBOM.

لا يحتاج vet إلى حساب ولا يرسل أي شيفرة مصدرية.

البدء السريع

brew install --cask safedep/tap/vet@edge
vet scan

vet scan finds a malicious package, vulnerabilities and workflow injection

vet scan --fail-on high                         # exit 1 on a high or critical finding
vet scan --base-ref origin/main --fail-on high  # report only what a pull request changes
vet report show --report sarif=vet.sarif        # write SARIF from the saved scan, with no new scan

التثبيت

القناةالأمر
Homebrewbrew install --cask safedep/tap/vet@edge
misemise use -g 'github:safedep/vet[prerelease=true]@2'
Gogo install github.com/safedep/vet/v2/cmd/vet@latest
Containerdocker run --rm -v "$PWD:/src" -w /src ghcr.io/safedep/vet:v2-latest scan

يثبّت mise الإصدار بعد يوم واحد من نشره. يحتوي install.md على الأمر الخاص بأحدث بناء، وملفات الإصدار الثنائية، وإثباتات البناء.

ما الذي يفحصه vet

الهدفمثال
مجلد (الافتراضي)vet scan, vet scan ./service
مستودع gitvet scan https://github.com/safedep/vet
صورة حاويةvet scan oci://alpine:3.20, vet scan image.tar
SBOM (CycloneDX أو SPDX)vet scan sbom.cdx.json
حزمة واحدةvet scan pkg:npm/[email protected]
الأدوات على هذا الجهازvet endpoint audit

يقرأ vet ملفات القفل والبيانات الوصفية لـ npm و PyPI و Go و Maven و Gradle و Cargo و RubyGems و NuGet و Packagist و Pub وغيرها. كما يقرأ سير عمل GitHub Actions وإعدادات وكلاء الذكاء الاصطناعي في الهدف. وهو لا يثبّت أو يشغّل أيًّا منها. تحوّل عناصر التحكم هذه البيانات إلى نتائج. راجع controls.md.

السياسات

تحدد السياسة متى يفشل الفحص. احفظ هذا الملف باسم vet-policy.yml:

version: 2
rules:
  - id: no-malware
    description: A malicious or suspicious package fails the build.
    when: finding.family == "malware"
    action: fail
  - id: no-workflow-injection
    when: finding.control_id in ["dangerous-trigger", "template-injection"]
    action: fail
  - id: no-critical-vulnerability
    when: finding.control_id == "vulnerability" && finding.severity == "critical"
    action: fail
  - id: new-dependency-age
    description: A pull request cannot add a version that is less than 14 days old.
    when: package.change == "ADDED" && has(package.days_since_publish) && package.days_since_publish < 14
    action: fail
suppressions:
  - purl: pkg:npm/[email protected]
    reason: The upgrade to 4.18.1 is in pull request 42.
    expires: 2026-12-31

اختبرها على آخر فحص، دون إجراء فحص جديد. ثم طبّقها على طلب سحب:

vet report show last --policy vet-policy.yml
vet scan --base-ref origin/main --policy vet-policy.yml

بعد تاريخ انتهاء صلاحيتها، لم يعد التجاوز يخفي النتيجة. اقرأ policy.md للاطلاع على حقول القواعد، والمزيد من القواعد، و Agent Skill الذي يكتب سياسة نيابة عنك.

حالات الاستخدام

  • فحص طلبات السحب. يعلّق إجراء vet على GitHub على طلب سحب يضيف حزمة أو سير عمل أو نتيجة، ويفشل الفحص عند وقوع هجوم. ويضيفه vet ci init إلى مستودع.
  • بوابة CI. رموز الخروج، وSARIF لفحص شيفرة GitHub، وتقارير GitLab و Bitbucket. راجع ci.md.
  • مراجعة طلبات السحب. يبلّغ --base-ref فقط عن الحزم وسير العمل التي يضيفها التغيير.
  • xBOM و CBOM. جرد CycloneDX 1.7 لمكتبات الذكاء الاصطناعي والتشفير الذي يستخدمه كودك. راجع inventory.md.
  • وكلاء الذكاء الاصطناعي. يكتشف vet Claude Code ووكلاء آخرين، ثم يكتب JSON ولا يطلب أي إدخال.
  • تدقيق نقاط النهاية. يسرد vet endpoint audit أدوات الذكاء الاصطناعي وخوادم MCP وإضافات المحرر وحزم npm العامة على جهاز المطوّر، ويفحصها بحثًا عن البرمجيات الخبيثة.

التوثيق

الصفحةاقرأها من أجل
التثبيتجميع القنوات وكيفية التحقق من إصدار
الأوامركل أمر وعلاماته ورموز الخروج الخاصة به
عناصر التحكمعناصر التحكم وخياراتها
السياساتالقواعد والتجاوزات والبوابة
المخرجاتصيغ التقارير والفحوصات المحفوظة والإعدادات
CI ووكلاء الذكاء الاصطناعيGitHub Actions و GitLab و Bitbucket ووضع الوكيل
الجرداستخدام الشيفرة، والذكاء الاصطناعي والتشفير، وxBOM و CBOM

الخصوصية

يرسل vet هوية كل حزمة (نظامها البيئي واسمها وإصدارها) إلى SafeDep للحصول على البيانات المتعلقة بها. ولا يرسل vet أي شيفرة مصدرية أو محتوى ملفات.

المجتمع

الفئات