AI द्वारा लिखे गए सॉफ़्टवेयर के लिए स्वतंत्र सुरक्षा एजेंट। समस्याएँ ढूँढता है, जाँचता है कि वे वास्तविक हैं या नहीं, और आपको प्रमाण दिखाता है। नियतात्मक कोर, किसी API कुंजी की आवश्यकता नहीं, JSON और SARIF आउटपुट।
AI द्वारा लिखे गए सॉफ़्टवेयर के लिए स्वतंत्र सुरक्षा एजेंट। यह समस्याओं को ढूँढता है, जाँचता है कि वे वास्तविक हैं या नहीं, और आपको साक्ष्य दिखाता है।
वेबसाइट · दस्तावेज़ · सुरक्षा और डेटा प्रवाह · बेंचमार्क · मूल्य निर्धारण · ब्लॉग · योगदान करें
Ship Safe आपके रेपो में स्थानीय रूप से चलता है और दो परतों में काम करता है।
एक नियतात्मक इंजन एप्लिकेशन कोड, AI एजेंट, MCP कॉन्फ़िग, प्रॉम्प्ट, निर्भरताओं, CI/CD, सीक्रेट्स और क्लाउड-निकट कॉन्फ़िगरेशन में समस्याएँ ढूँढता है। तेज़, दोहराने योग्य और बेंचमार्क किया गया — यह सेंसर परत है।
इसके बाद एक जाँच परत तय करती है कि निष्कर्षों का क्या मूल्य है। यह उस मान का पता लगाती है जो किसी सिंक तक पहुँचता है, परियोजना में उन नियंत्रणों को खोजती है जिन्हें कोई नियम अनुपस्थित बताता है, ऐसी कॉन्फ़िगरेशन में आक्रमण श्रृंखलाएँ बनाती है जो किसी एकल फ़ाइल में नहीं होतीं, और — जब आप इसे कहें — तो किसी लीक हुई कुंजी को उसके प्रदाता के विरुद्ध जाँचती है। प्रत्येक निष्कर्ष अपने साथ वह पास लेकर आता है जिसने उसे प्राप्त किया और वे पंक्तियाँ जिन्हें उसने पढ़ा:
CONFIRMED — traced end to end (10)
NoSQL Injection via $where [high]
app/data/allocations-dao.js:78 NOSQL_INJECTION_WHERE
why: threshold is assigned from the HTTP request and reaches the sink without validation on that path.
decided by: dataflow
1. value reaches NOSQL_INJECTION_WHERE here app/data/allocations-dao.js:78
2. getByUserIdAndThreshold is called here with threshold app/routes/allocations.js:23
3. threshold is assigned here app/routes/allocations.js:20
fix: Replace $where with standard MongoDB operators ($eq, $gt, $regex, etc.)
OWASP NodeGoat के विरुद्ध ship-safe investigate से वास्तविक आउटपुट। दूषित मान एक रूट फ़ाइल में डिस्ट्रक्चर किया गया है और तीन डायरेक्टरी दूर एक DAO में पास किया गया है।
एक कमांड से शुरू करें:
npx ship-safe
साइनअप की आवश्यकता नहीं। स्कैनिंग के लिए किसी API कुंजी की आवश्यकता नहीं। मुख्य जाँचों के लिए ऑफ़लाइन काम करता है। AI-आधारित रेड-टीम मोड उपलब्ध होने पर आपके कॉन्फ़िगर किए गए प्रदाता का उपयोग करते हैं।
पूर्णतः स्थानीय स्कैन सुनिश्चित करने के लिए --no-ai का उपयोग करें। प्रदाता-आधारित वर्गीकरण, गहन विश्लेषण, और GPT-Red सर्वोत्तम-प्रयास क्रेडेंशियल मास्किंग के बाद सीमित संदर्भ सीधे आपके चयनित प्रदाता को भेजते हैं। सटीक सीमाओं और संदर्भ सीमाओं के लिए Security & Data Flow देखें।
22.x श्रृंखला पर Node.js 22.13+ या Node.js 24+ आवश्यक है। Node 18 और 20 अब वर्तमान विकास संस्करण द्वारा समर्थित नहीं हैं।
# Interactive REPL: scan, fix, and ask questions in one session
npx ship-safe
# Full audit: secrets + 31 agents + deps + remediation plan
npx ship-safe audit .
# Investigate: confirmed / likely / unresolved / refuted, with the evidence
npx ship-safe investigate .
npx ship-safe investigate . --all # also detail unresolved and refuted
npx ship-safe investigate . --verify # probe leaked keys against their providers
# Before you open an unfamiliar folder with an agent: what runs on open?
npx ship-safe trust ~/Downloads/take-home
npx ship-safe trust . --json
# What can an AI agent working in this repo actually reach?
npx ship-safe capabilities .
# AI agent red-team scenarios for agent-readable content
npx ship-safe red-team . --gpt-red
# Interactive fix agent: plan, diff, approve, inspect the static rescan
npx ship-safe agent .
npx ship-safe agent . --severity critical # critical findings only
npx ship-safe agent . --branch --pr # fix on a branch + open a PR
# Undo the last fix
npx ship-safe undo
# CI/CD mode — fails on any critical finding
npx ship-safe ci . --sarif results.sarif
npx ship-safe ci . --fail-on high # stricter: critical or high
# Gate on evidence instead of severity: block only what was established
npx ship-safe ci . --fail-on-verdict confirmed
npx ship-safe ci . --ignore-refuted # do not block on what was argued away
पुल रिक्वेस्ट के लिए, एक विश्वसनीय बेस स्कैन की तुलना हेड स्कैन से करें ताकि मौजूदा रिपॉज़िटरी ऋण असंबंधित परिवर्तनों को ब्लॉक किए बिना दिखाई देता रहे:
# On the trusted base revision
npx ship-safe ci . --fail-on none --no-deps \
--write-baseline-report /tmp/ship-safe-base.json
# On the pull request head
npx ship-safe ci . --base-report /tmp/ship-safe-base.json --fail-on high
आधार आर्टिफ़ैक्ट में हैश किए गए फ़ाइंडिंग पहचानकर्ता, सापेक्ष पथ और नियम मेटाडेटा होते हैं। यह कच्चे मिलान किए गए सीक्रेट संग्रहीत नहीं करता है। PR परिणाम फ़ाइंडिंग्स को introduced, resolved, unchanged, या uncertain के रूप में वर्गीकृत करते हैं; अस्पष्ट मिलान दिखाए जाते हैं लेकिन पुल रिक्वेस्ट को ब्लॉक नहीं करते हैं।
scan --json, audit --json, और ci --json में schemaVersion: 1, Ship Safe संस्करण, और एक UTC generatedAt टाइमस्टैम्प शामिल होते हैं। फ़ाइंडिंग पथ डिफ़ॉल्ट रूप से प्रोजेक्ट-सापेक्ष होते हैं ताकि रिपोर्ट स्थानीय निर्देशिका नामों को लीक किए बिना वर्कस्टेशन और CI के बीच स्थानांतरित हो सकें। --absolute-paths का उपयोग केवल तब करें जब किसी उपभोक्ता को स्पष्ट रूप से होस्ट पथ की आवश्यकता हो। SARIF रिपोर्ट अपने टूल मेटाडेटा में वही पैकेज संस्करण रखती हैं।
| क्षेत्र | उदाहरण |
|---|---|
| AI और LLM सुरक्षा | प्रॉम्प्ट इंजेक्शन, एजेंट हाईजैकिंग, अत्यधिक एजेंसी, मेमोरी पॉइज़निंग, RAG पॉइज़निंग, असुरक्षित टूल कॉल |
| MCP और एजेंट कॉन्फ़िग्स | अत्यधिक व्यापक टूल अनुमतियाँ, ज़हरीले रजिस्ट्रियाँ, अविश्वसनीय ट्रांसपोर्ट, खतरनाक allowlists |
| एप्लिकेशन सुरक्षा | SQL/NoSQL इंजेक्शन, XSS, SSRF, auth bypass, पथ ट्रैवर्सल, असुरक्षित API रूट |
| सीक्रेट और अनुपालन | API कुंजियाँ, टोकन, क्रेडेंशियल, PII, git इतिहास में लीक हुए सीक्रेट |
| सप्लाई चेन | Typosquatting, निर्भरता भ्रम, जोखिम भरे इंस्टॉल स्क्रिप्ट, अनपिन किए गए AI एक्शन |
| CI/CD | पाइपलाइन पॉइज़निंग, अनपिन किए गए GitHub Actions, सीक्रेट लॉगिंग, असुरक्षित वर्कफ़्लो ट्रिगर |