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

safer-dependencies v0.6.0

AI कोडिंग सहायकों के लिए स्वचालित निर्भरता सुरक्षा परत जो npm, PyPI, RubyGems, Maven, Go और Rust पारिस्थितिकी तंत्रों में CVEs, typosquats, abandonment, version-age issues और hash integrity के लिए पैकेजों का ऑडिट करती है।

साझा करें

क्लॉड कोड के लिए सुरक्षित निर्भरताएँ

जब क्लॉड जैसे AI कोडिंग सहायक आपके प्रोजेक्ट में पैकेज जोड़ते हैं, तो वे अक्सर जो भी संस्करण सही लगता है उसे चुन लेते हैं — बिना यह जाँचे कि उसमें ज्ञात सुरक्षा कमज़ोरियाँ हैं या नहीं, पैकेज अभी भी सक्रिय रूप से बनाए रखा जा रहा है या नहीं, या नाम किसी दुर्भावनापूर्ण नकली से टाइपो की दूरी पर है या नहीं।

safer-dependencies क्लॉड कोड के लिए एक सुरक्षा परत है: यह क्लॉड और आपकी मैनिफ़ेस्ट फ़ाइलों के बीच बैठता है और अपनी सुरक्षा जाँच स्वचालित रूप से चलाता है: कमज़ोर इंस्टॉल चलने से पहले ही अस्वीकार कर दिए जाते हैं, और मैनिफ़ेस्ट में लिखा गया जोखिम भरा संस्करण लिखने के तुरंत बाद डिस्क पर सुधार दिया जाता है। यह जोखिम भरी निर्भरताओं का पता लगाता है और उन्हें ठीक करता है — CVEs, टाइपोस्क्वैट्स, परित्यक्त पैकेज, और संस्करण-आयु संबंधी समस्याएँ, साथ ही ब्रांड-नए रिलीज़ के लिए एक कूलडाउन अवधि — npm, PyPI, RubyGems, Maven, Go, Rust, और PHP (Composer) में। वास्तव में क्या कवर किया गया है और क्या नहीं, इसके लिए CAPABILITIES.md देखें।

नए हैं? GETTING-STARTED.md आपको लगभग पाँच मिनट में शून्य से कार्यशील इंस्टॉल तक ले जाता है।

सुरक्षा और गोपनीयता: SECURITY.md (कमज़ोरी प्रकटीकरण), PRIVACY.md (डेटा बहिर्गमन, कोई टेलीमेट्री नहीं), और CAPABILITIES.md (उपकरण किससे बचाव करता है और किससे नहीं) देखें।

लाइसेंस (स्रोत-उपलब्ध — OSI "ओपन सोर्स" नहीं): अपने स्वयं के उद्देश्यों के लिए उपयोग और संशोधन करने के लिए निःशुल्क, लाभ-उद्देश्य/कंपनी आंतरिक उपयोग और आपके द्वारा बेचे जाने वाले उत्पाद बनाने सहित। एक अलग सशुल्क लाइसेंस केवल सॉफ़्टवेयर स्वयं का मुद्रीकरण करने के लिए आवश्यक है — इसे बेचना, इसे किसी बेचे जाने वाले उत्पाद या सेवा के अंदर भेजना, या इसकी कार्यक्षमता को तीसरे पक्षों को शुल्क पर प्रदान करना (होस्टेड/SaaS/API सहित)। पुनर्वितरण और व्युत्पन्न कार्यों को लाइसेंस बनाए रखना चाहिए और इस प्रोजेक्ट को श्रेय देना चाहिए। LICENSE देखें (वाणिज्यिक प्रतिबंध के लिए धारा 4); वाणिज्यिक-लाइसेंस अनुरोध github.com/robert-auger के माध्यम से।

सामग्री

आरंभ करना

GETTING-STARTED.md आपको लगभग पाँच मिनट में शून्य से कार्यशील इंस्टॉल तक ले जाता है — पूर्वापेक्षाएँ, इंटरैक्टिव इंस्टॉल, और सत्यापन। पूर्ण इंस्टॉल संदर्भ (वैश्विक/प्रोजेक्ट/मैनुअल इंस्टॉल, विंडोज़ विशिष्टताएँ, अनुमति अनुमतिसूची, अद्यतन, और अनइंस्टॉल) के लिए, INSTALLATION.md देखें।

दैनिक उपयोग: एक बार हुक इंस्टॉल हो जाने के बाद, चलाने के लिए कुछ भी नहीं है — safer-dependencies पृष्ठभूमि में स्वचालित रूप से काम करता है। जैसे ही क्लॉड पैकेज जोड़ता या इंस्टॉल करता है, यह जोखिम भरी निर्भरताओं को चिह्नित करता है और कमज़ोर संस्करणों को सुरक्षित संस्करण में अपग्रेड करता है — और ज्ञात-कमज़ोर इंस्टॉल को चलने से पहले ही रोक देता है — ताकि असुरक्षित पैकेज आपके पूछे बिना पकड़े और सुधारे जा सकें। आप इसे किसी भी समय सीधे भी लागू कर सकते हैं: "क्या [email protected] सुरक्षित है?", "safer-dependencies सेटअप जाँचें", या "safer-dependencies आँकड़े दिखाएँ"।

यह क्या करता है

जब क्लॉड आपके प्रोजेक्ट में एक पैकेज जोड़ने वाला होता है, तो safer-dependencies हस्तक्षेप करता है और 5 जाँचें चलाता है:

  1. उत्पत्ति -- आधिकारिक रजिस्ट्री, टाइपोस्क्वाट पहचान (npm/PyPI/RubyGems/Maven/crates.io), पैकेज आयु
  2. संस्करण आयु -- 7+ दिन पहले प्रकाशित नवीनतम स्थिर संस्करण चुनता है (कूलडाउन विंडो)
  3. कमज़ोरी स्कैन -- OSV API, उपलब्ध होने पर इकोसिस्टम-मूल उपकरणों (npm audit, pip-audit, bundle audit) के साथ
  4. हैश-पिन अखंडता -- PyPI requirements.txt पंक्तियों के लिए --hash=sha256:... पिन के साथ, घोषित हैश को PyPI के प्रकाशित हैश के विरुद्ध सत्यापित किया जाता है; बेमेल एक WARNING उत्सर्जित करता है
  5. परित्यक्त और पुराने पैकेज -- ज्ञात-परित्यक्त पैकेज (जैसे paperclip, request, pycrypto, github.com/dgrijalva/jwt-go) तुरंत सुझाए गए प्रतिस्थापन के साथ हार्ड-ब्लॉक किए जाते हैं; 2+ वर्षों में कोई स्थिर रिलीज़ न होने वाले पैकेजों को एक सलाहकार STALE: चेतावनी मिलती है। हार्ड-ब्लॉक किए गए पैकेज मैनिफ़ेस्ट से हटा दिए जाते हैं और क्लॉड पूछेगा कि आगे कैसे बढ़ना है; केवल-पुराने पैकेज अपनी जगह पर छोड़ दिए जाते हैं।

यदि समस्याएँ पाई जाती हैं, तो क्लॉड चेतावनियाँ उत्सर्जित करता है और सुरक्षित संस्करण पर वापस जा सकता है। सभी जाँचें ~/.claude/safer-dependencies-audit-YYYY-MM.log में लॉग की जाती हैं (प्रति कैलेंडर माह एक फ़ाइल)।

इसे क्या ट्रिगर करता है

स्किल स्वचालित रूप से तब सक्रिय होती है जब क्लॉड:

मैनिफ़ेस्ट / इंस्टॉल संचालन

  • package.json, requirements.txt, Gemfile, pom.xml, build.gradle, Cargo.toml, go.mod, या किसी अन्य समर्थित मैनिफ़ेस्ट में एक पैकेज जोड़ता या अद्यतन करता है
  • मैनिफ़ेस्ट में पहले से घोषित न किए गए पैकेज के लिए import, require, या use लिखता है
  • एक लॉक फ़ाइल उत्पन्न या अद्यतन करता है (केवल नई/बदली हुई प्रविष्टियों की जाँच करता है)
  • बैश के माध्यम से पैकेज-मैनेजर इंस्टॉल चलाता है (npm install, bundle install, poetry install, uv sync, go mod tidy, आदि) — प्री-इंस्टॉल कमांड तर्कों का ऑडिट करता है, पोस्ट-इंस्टॉल परिणामी लॉकफ़ाइल का ऑडिट करता है
  • एक Dockerfile या CI वर्कफ़्लो (.github/workflows/*.yml, आदि) लिखता है जिसमें पिन किए गए पैकेज-मैनेजर इंस्टॉल चरण एम्बेडेड होते हैं

चयन और अनुशंसा प्रश्न

  • लाइब्रेरी/फ्रेमवर्क तुलना: "क्या मुझे axios या node-fetch उपयोग करना चाहिए?", "moment बनाम dayjs?", "X या Y में से कौन बेहतर है?"
  • अनुशंसा अनुरोध: "Python के लिए एक अच्छा HTTP क्लाइंट क्या है?", "Go के लिए एक लॉगिंग लाइब्रेरी की अनुशंसा करें", "Node में CSV कौन सा पैकेज संभालता है?"
  • संस्करण चयन: "मुझे Django का कौन सा संस्करण उपयोग करना चाहिए?", "नवीनतम स्थिर Flask?"

उपयोग-इरादे की अभिव्यक्तियाँ (जोड़ने से पहले)

  • "मैं इसके लिए FastAPI उपयोग करना चाहता हूँ", "मैं Celery जोड़ने के बारे में सोच रहा हूँ", "हम Prisma को ORM के रूप में देख रहे हैं", "चलो Tailwind उपयोग करें"

पैकेज स्वास्थ्य और विश्वास प्रश्न

  • "क्या moment.js अभी भी बनाए रखा जा रहा है?", "क्या यह gem अभी भी सक्रिय है?", "क्या X परित्यक्त है?", "क्या X EOL है?", "क्या मैं इस पैकेज पर भरोसा कर सकता हूँ?", "faker को आखिरी बार कब अपडेट किया गया था?"

स्कैफोल्डिंग कमांड

  • npx create-react-app, npm create vite@latest, django-admin startproject, rails new, cargo new + cargo add, "एक नया FastAPI प्रोजेक्ट बूटस्ट्रैप करें"

अंतर्निहित पैकेज जोड़ (फीचर अनुरोध जो एक नई निर्भरता का संकेत देते हैं)

  • "ऐप में Redis कैशिंग जोड़ें", "Postgres से कनेक्ट करें", "JWT प्रमाणीकरण जोड़ें", "ईमेल भेजने के लिए कोड लिखें" — तब सक्रिय होता है जब उस क्षमता के लिए कोई पैकेज पहले से मैनिफ़ेस्ट में नहीं होता

माइग्रेशन और पोर्टिंग

  • "requests से httpx में माइग्रेट करें", "CRA से Vite में जाएँ", "moment से date-fns में पोर्ट करें" — आने वाले पैकेज का ऑडिट करता है

श्रेणियाँ