
وكيل الأمان المستقل للبرمجيات المكتوبة بالذكاء الاصطناعي. يكتشف المشكلات، ويحقّق فيما إذا كانت حقيقية، ويعرض لك الأدلة. نواة حتمية، لا حاجة إلى مفتاح API، ومخرجات JSON وSARIF.
وكيل الأمان المستقل للبرمجيات المكتوبة بالذكاء الاصطناعي. يكتشف المشكلات، ويتحقق مما إذا كانت حقيقية، ويعرض لك الأدلة.
الموقع الإلكتروني · التوثيق · الأمان وتدفق البيانات · المقاييس المرجعية · الأسعار · المدونة · المساهمة
يعمل Ship Safe محليًا داخل مستودعك ويعمل على طبقتين.
محرك حتمي يكتشف المشكلات عبر كود التطبيق، ووكلاء الذكاء الاصطناعي، وإعدادات MCP، والمطالبات (prompts)، والتبعيات، وCI/CD، والأسرار، والإعدادات المرتبطة بالسحابة. سريع وقابل للتكرار ومقاس مرجعيًا — هذه هي طبقة الاستشعار.
ثم تأتي طبقة التحقيق لتقرر قيمة النتائج. فهي تتعقّب القيمة التي تصل إلى نقطة تصريف (sink)، وتبحث في المشروع عن الضوابط التي تقول قاعدة إنها مفقودة، وتبني سلاسل هجوم عبر إعدادات لا يحتويها أي ملف منفرد، وعندما تطلب منها ذلك — تختبر مفتاحًا مسرّبًا مقابل مزوّده. كل استنتاج يحمل معه المرحلة التي وصلت إليه والأسطر التي قرأها:
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.)
مخرجات حقيقية من ship-safe investigate مقابل OWASP NodeGoat. تُفكَّك القيمة الملوّثة في ملف مسار وتُمرَّر إلى DAO على بُعد ثلاثة أدلة.
ابدأ بأمر واحد:
npx ship-safe
لا حاجة للتسجيل. لا يُشترط مفتاح API لإجراء الفحص. تعمل الفحوصات الأساسية دون اتصال بالإنترنت. تستخدم أوضاع الفريق الأحمر المدعومة بالذكاء الاصطناعي المزوّد الذي قمت بإعداده عند توفره.
استخدم --no-ai لضمان فحص محلي بالكامل. يُرسل التصنيف المدعوم من المزوّد والتحليل العميق وGPT-Red سياقًا محدودًا مباشرةً إلى المزوّد الذي اخترته بعد إخفاء بيانات الاعتماد بأفضل جهد ممكن. راجع الأمان وتدفق البيانات للاطلاع على الحدود الدقيقة وحدود السياق.
يتطلب Node.js 22.13+ ضمن سلسلة 22.x، أو 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
لمعالجة طلبات السحب (pull requests)، قارن فحصًا أساسيًا موثوقًا بفحص الرأس (head scan) بحيث يبقى الدين الموجود في المستودع ظاهرًا دون حجب التغييرات غير ذات الصلة:
# 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
يحتوي ملف النتائج الأساسي على هويات النتائج المُجزّأة، والمسارات النسبية، وبيانات وصفية للقواعد. ولا يخزّن الأسرار المطابقة الخام. تُصنّف نتائج طلبات السحب النتائج على أنها مُدخلة، أو محلولة، أو غير متغيرة، أو غير مؤكدة؛ وتُعرض المطابقات الغامضة ولكنها لا تحجب طلب السحب.
تتضمن scan --json وaudit --json وci --json الحقل schemaVersion: 1، وإصدار Ship Safe، وطابعًا زمنيًا generatedAt بتوقيت UTC. تكون مسارات النتائج نسبية إلى المشروع افتراضيًا حتى يمكن نقل التقارير بين محطات العمل وCI دون تسريب أسماء الأدلة المحلية. استخدم --absolute-paths فقط عندما يحتاج المستهلك صراحةً إلى مسارات المضيف. وتحمل تقارير SARIF نفس إصدار الحزمة في بياناتها الوصفية للأداة.
| المجال | أمثلة |
|---|---|
| أمن الذكاء الاصطناعي والنماذج اللغوية الكبيرة | حقن الأوامر (Prompt injection)، اختطاف الوكلاء، الصلاحيات المفرطة، تسميم الذاكرة، تسميم RAG، استدعاءات الأدوات غير الآمنة |
| إعدادات MCP والوكلاء | أذونات أدوات واسعة النطاق، سجلات مسمومة، وسائل نقل غير موثوقة، قوائم سماح خطرة |
| أمن التطبيقات | حقن SQL/NoSQL، XSS، SSRF، تجاوز المصادقة، اجتياز المسارات، مسارات API غير آمنة |
| الأسرار والامتثال | مفاتيح API، والرموز، وبيانات الاعتماد، والمعلومات الشخصية (PII)، والأسرار المسربة في سجل git |
| سلسلة التوريد | انتحال الأسماء (Typosquatting)، ارتباك التبعيات، سكربتات التثبيت المحفوفة بالمخاطر، إجراءات AI غير مثبتة الإصدار |
| CI/CD | تسميم خطوط الأنابيب، إجراءات GitHub Actions غير مثبتة الإصدار، تسجيل الأسرار، محفزات سير العمل غير الآمنة |