अपडेट पर वापस जाएँ
New releaseAug 13, 2026

vet v1.18.2

दुर्भावनापूर्ण ओपन सोर्स पैकेजों से सुरक्षा करें 🤖

साझा करें

SafeDep vet

दुर्भावनापूर्ण पैकेज, कमज़ोरियाँ और जोखिम भरे CI वर्कफ़्लो को प्रोडक्शन तक पहुँचने से पहले खोजें।

Release Build OpenSSF Scorecard License Discord

Install • Docs • Commands • Policy • Discord

[!NOTE] यह ब्रांच vet v2 है, जो अल्फा में है। vet v1 main पर है और नवीनतम रिलीज़ बना हुआ है। v2.0.0 रिलीज़ नोट्स में प्रत्येक v1 कमांड और फ़्लैग को v2 से मैप किया गया है।

vet क्यों

आपकी डिपेंडेंसीज़, आपके GitHub Actions वर्कफ़्लो और आपके AI एजेंट कॉन्फ़िग ऐसा कोड चलाते हैं जो आपने नहीं लिखा। vet उनमें जोखिम खोजता है।

  • दुर्भावनापूर्ण पैकेज। vet प्रत्येक पैकेज को SafeDep Threat Intel के विरुद्ध जाँचता है। Threat Intel नए पैकेज संस्करणों का विश्लेषण तब करता है जब रजिस्ट्रियाँ उन्हें प्रकाशित करती हैं।
  • ज्ञात कमज़ोरियाँ, साथ में उस फ़िक्स्ड वर्शन के साथ जिस पर अपग्रेड करना है।
  • जोखिम भरे वर्कफ़्लो। खतरनाक ट्रिगर, टेम्पलेट इंजेक्शन, उजागर सीक्रेट्स और बिना पिन किए कमिट SHA वाले actions।
  • लॉकफ़ाइल छेड़छाड़ और नए वर्शन। अविश्वसनीय रजिस्ट्री से आने वाली एंट्रीज़, और कूलडाउन विंडो के भीतर के वर्शन।
  • पॉलिसी एज़ कोड। CEL में नियम तय करते हैं कि स्कैन कब फेल होगा। आप एक सेव किए गए स्कैन पर नियम टेस्ट कर सकते हैं।
  • AI और क्रिप्टो इन्वेंटरी। vet उन AI लाइब्रेरीज़ और क्रिप्टो एल्गोरिदम की सूची बनाता है जिन्हें आपका कोड कॉल करता है, और एक 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

इंस्टॉल

ChannelCommand
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 क्या स्कैन करता है

TargetExample
एक डायरेक्टरी (डिफ़ॉल्ट)vet scan, vet scan ./service
एक git रिपॉज़िटरीvet 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 वर्कफ़्लो और AI एजेंट कॉन्फ़िग भी पढ़ता है। यह उनमें से किसी को इंस्टॉल या रन नहीं करता। Controls इस डेटा को फ़ाइंडिंग्स में बदलते हैं। देखें 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

अपनी समाप्ति तिथि के बाद, suppression फ़ाइंडिंग को छिपाता नहीं है। नियम फ़ील्ड, अधिक नियमों और Agent Skill के लिए policy.md पढ़ें, जो आपके लिए एक पॉलिसी लिखता है।

उपयोग के मामले

  • पुल रिक्वेस्ट चेक। vet GitHub Action उस पुल रिक्वेस्ट पर कमेंट करता है जो कोई पैकेज, वर्कफ़्लो या फ़ाइंडिंग जोड़ती है, और किसी हमले पर चेक फेल कर देता है। vet ci init इसे एक रिपॉज़िटरी में जोड़ता है।
  • CI गेट। एग्ज़िट कोड, GitHub कोड स्कैनिंग के लिए SARIF, GitLab और Bitbucket रिपोर्ट। देखें ci.md।
  • पुल रिक्वेस्ट रिव्यू। --base-ref केवल उन पैकेजों और वर्कफ़्लो की रिपोर्ट करता है जो कोई बदलाव जोड़ता है।
  • xBOM और CBOM। आपके कोड द्वारा उपयोग की जाने वाली AI लाइब्रेरीज़ और क्रिप्टो की CycloneDX 1.7 इन्वेंटरी। देखें inventory.md।
  • AI एजेंट। vet Claude Code और अन्य एजेंट खोजता है, और फिर JSON लिखता है और कभी प्रॉम्प्ट नहीं करता।
  • एंडपॉइंट ऑडिट। vet endpoint audit एक डेवलपर मशीन पर AI टूल्स, MCP सर्वर, एडिटर एक्सटेंशन और ग्लोबल npm पैकेजों की सूची बनाता है, और उन्हें मैलवेयर के लिए जाँचता है।

दस्तावेज़ीकरण

श्रेणियाँ