
PMG डेवलपर्स और AI एजेंटों को प्रॉक्सी, सैंडबॉक्स और SafeDep की खतरा खुफिया फीड का उपयोग करके दुर्भावनापूर्ण ओपन सोर्स पैकेजों से बचाता है।
दुर्भावनापूर्ण npm और pip पैकेजों को इंस्टॉल होने से पहले ब्लॉक करें।
आपके द्वारा पहले से उपयोग किए जाने वाले पैकेज मैनेजरों के लिए गहराई में रक्षा।
डेवलपर और AI कोडिंग एजेंट हर दिन पैकेज इंस्टॉल करते हैं। हर npm install या pip install हजारों लाइनों का कोड निष्पादित करता है जिसकी कोई समीक्षा नहीं करता।
लोकप्रिय इकोसिस्टम में हाल के समझौते:
PMG मुफ्त, ओपन सोर्स (Apache 2.0) है, और इसमें खाते या API कुंजी की आवश्यकता नहीं है। यह हर पैकेज इंस्टॉल को इंटरसेप्ट करता है और कोड निष्पादित होने से पहले ज्ञात मैलवेयर के लिए SafeDep के मुफ्त सामुदायिक API के विरुद्ध जांचता है। इसे एक बार इंस्टॉल करें, और यह उसके बाद हर npm install, pip install, और poetry add को कवर करता है।
PMG एक गहराई में रक्षा दृष्टिकोण अपनाता है। शून्य कॉन्फ़िगरेशन, Zsh, Bash, और Fish पर काम करता है, और प्रत्येक इंस्टॉल कोड चलने से पहले सक्षम सुरक्षा परतों के माध्यम से गुजरता है, साथ ही बाद में ऑडिट ट्रेल भी।
npm, pip, और अन्य पैकेज मैनेजरों को रैप करता है। डेवलपर और AI एजेंट समान कमांड का उपयोग करते हैं। कोई वर्कफ़्लो परिवर्तन नहीं।PMG एकमात्र मुफ्त, ओपन-सोर्स, इंस्टॉल-टाइम पैकेज फ़ायरवॉल है जो डेवलपर और AI एजेंट दोनों को कवर करता है और सैंडबॉक्सिंग और कूलडाउन के साथ आउट ऑफ द बॉक्स आता है।
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
Homebrew, npm, और अन्य इंस्टॉल विधियों के लिए इंस्टॉलेशन देखें।
PMG को अपने शेल में वायर करें ताकि यह पैकेज मैनेजरों को इंटरसेप्ट करे।
pmg setup install
# परिवर्तन लागू करने के लिए अपना टर्मिनल पुनः आरंभ करें
टिप: नए कॉन्फ़िगरेशन विकल्पों को लेने के लिए PMG को अपग्रेड करने के बाद
pmg setup installको फिर से चलाएँ।लिनक्स सभी-उपयोगकर्ता / गोल्डन इमेज:
sudo pmg setup install --system— docs/system-install.md देखें।
अपने इंस्टॉलेशन को मान्य करें और सुरक्षा काम कर रही है यह सत्यापित करें:
pmg setup doctor
वैकल्पिक: PMG HTTPS ट्रैफ़िक की जांच एक ऑन-द-फ्लाई CA के साथ करता है जिसे वह प्रति रन पैकेज मैनेजरों में इंजेक्ट करता है। एकल CA को रनों में बनाए रखने और इसे अपने OS ट्रस्ट स्टोर में विश्वसनीय बनाने के लिए (उन टूल्स के लिए आवश्यक जो CA पर्यावरण चर को अनदेखा करते हैं, जैसे macOS और Windows पर Go), इसे एक बार इंस्टॉल करें:
pmg setup cert install # उपयोगकर्ता स्कोप, sudo की आवश्यकता नहीं pmg setup cert status # विश्वास स्थिति और समाप्ति की जाँच करेंस्कोप, रोटेशन और हटाने के लिए सर्टिफिकेट अथॉरिटी देखें।
PMG को खतरों को ब्लॉक करते हुए देखें।
npm install --no-cache --prefer-online [email protected]
नोट:
safedep-test-pkgएक सौम्य परीक्षण पैकेज है जिसे SafeDep के डेटाबेस में परीक्षण और सत्यापन उद्देश्यों के लिए दुर्भावनापूर्ण के रूप में चिह्नित किया गया है।
अपने पैकेज मैनेजरों का उपयोग हमेशा की तरह जारी रखें, या अपने AI कोडिंग एजेंट को उन्हें चलाने दें। PMG पथ में बैठता है, दुर्भावनापूर्ण पैकेजों को ब्लॉक करता है।
npm install express
# or
pip install requests
PMG उन टूल्स का समर्थन करता है जिनका आप पहले से उपयोग करते हैं:
GitHub से नवीनतम रिलीज़ डाउनलोड करता है, उसके SHA-256 चेकसम को सत्यापित करता है, और $HOME/.local/bin (यदि PATH पर है) या /usr/local/bin में इंस्टॉल करता है।
curl -fsSL https://raw.githubusercontent.com/safedep/pmg/main/install.sh | sh
brew tap safedep/tap
brew install safedep/tap/pmg
npm install -g @safedep/pmg
नोट: NPM-आधारित इंस्टॉल नाजुक हो सकते हैं जब Node.js को वर्जन मैनेजर जैसे
miseयाasdfद्वारा प्रबंधित किया जाता है। ग्लोबलnpmbin पथ सक्रिय Node संस्करण के साथ बदलता है, इसलिए संस्करण स्विच करने सेpmgPATHपर अनुपलब्ध रह सकता है (या पुराने इंस्टॉल की ओर इशारा कर सकता है)। ऐसी सेटअप के लिए, इंस्टॉल स्क्रिप्ट या Homebrew को प्राथमिकता दें।
# सुनिश्चित करें कि $(go env GOPATH)/bin आपके $PATH में है
go install github.com/safedep/pmg@latest
अपने प्लेटफ़ॉर्म के लिए नवीनतम बाइनरी रिलीज़ पेज से डाउनलोड करें।
प्रीबिल्ट मल्टी-आर्क (linux/amd64, linux/arm64) इमेज प्रत्येक रिलीज़ पर GitHub कंटेनर रजिस्ट्री में प्रकाशित की जाती हैं। इमेज का एंट्रीपॉइंट pmg है।
# नवीनतम इमेज खींचें (या वर्जन टैग पिन करें, जैसे :v1.2.3)
docker pull ghcr.io/safedep/pmg:latest
# कोई भी pmg कमांड चलाएँ
docker run --rm ghcr.io/safedep/pmg:latest version
एक चरण के साथ CI वर्कफ़्लो की सुरक्षा करें। PMG जॉब में प्रत्येक npm install, pip install आदि का विश्लेषण करता है।
- uses: safedep/pmg@v1
with:
server-mode: true
# HTTP_PROXY के माध्यम से स्वचालित रूप से इंटरसेप्ट किया गया
- run: npm ci
- name: PMG नीति लागू करें
if: always()
run: pmg proxy stop --fail-on-violation # डेमॉन को रोकता है, ब्लॉक पर जॉब को विफल करता है
डिफ़ॉल्ट रूप से आपको मैलवेयर ब्लॉकिंग और निर्भरता कूलडाउन मिलता है। सैंडबॉक्स अलगाव sandbox इनपुट के माध्यम से ऑप्ट-इन है। इनपुट (paranoid, sandbox, cooldown-days, ...) के माध्यम से व्यवहार ट्यून करें या config-file को रेपो में YAML पर इंगित करें। पूर्ण संदर्भ के लिए docs/github-action.md देखें।
शेल इंटीग्रेशन हटाएँ:
pmg setup remove
PMG कॉन्फ़िगरेशन फ़ाइल को भी हटाने के लिए:
pmg setup remove --config-file
फिर PMG स्वयं अनइंस्टॉल करें:
# Homebrew
brew uninstall safedep/tap/pmg
# NPM
npm uninstall -g @safedep/pmg
PMG बिल्ड प्रतिलिपि योग्य और हस्ताक्षरित हैं।
यदि PMG ने आपको किसी खराब पैकेज से बचाया है, तो इस रेपो को स्टार करें। इससे दूसरों को इसे ढूंढने में मदद मिलती है।
योगदान का स्वागत है। बिल्ड और परीक्षण निर्देशों के लिए CONTRIBUTING.md देखें।
सभी योगदानकर्ताओं का धन्यवाद ❤️
PMG गुमनाम उपयोग डेटा एकत्र करता है। अक्षम करने के लिए, या तो:
disable_telemetry: true सेट करें, याPMG_DISABLE_TELEMETRY=true निर्यात करें।| क्षमता | PMG | Socket | safe-chain | Snyk | Dependabot |
|---|
| OSS / सार्वजनिक रूप से निर्मित | ✓ | ✗ | ✓ | ✗ | ✗ |
| कोई खाता या API कुंजी नहीं | ✓ | ✓ | ✓ | ✗ | ✗ |
| इंस्टॉल-टाइम दुर्भावनापूर्ण पैकेज ब्लॉकिंग | ✓ | ✓ | ✓ | ✗ | ✗ |
| निर्भरता कूलडाउन नीति | ✓ | ✗ | ✓ | ✗ | ✗ |
| रनटाइम सैंडबॉक्सिंग | ✓ | ✗ | ✗ | ✗ | ✗ |
| AI कोडिंग एजेंटों को पारदर्शी रूप से सुरक्षित करता है | ✓ | ✗ | ✗ | ✗ | ✗ |
| स्थानीय ऑडिट लॉग | ✓ | ✗ | ✗ | ✗ | ✗ |
| ज्ञात-CVE उपचार PRs | ✗ | ✗ | ✗ | ✓ | ✓ |
| इकोसिस्टम | टूल्स | कमांड उदाहरण |
|---|
| Node.js | npm | npm install <pkg> |
pnpm | pnpm add <pkg> | |
yarn | yarn add <pkg> | |
bun | bun add <pkg> | |
npx | npx <pkg> | |
pnpx | pnpx <pkg> | |
| Python | pip | pip install <pkg> |
pipx | pipx run <pkg> | |
poetry | poetry add <pkg> | |
uv | uv add <pkg> | |
uvx | uvx <pkg> |