
ship-safe v9.7.5
وكيل الأمان المستقل للبرمجيات المكتوبة بالذكاء الاصطناعي. يكتشف المشكلات، ويحقّق فيما إذا كانت حقيقية، ويعرض لك الأدلة. نواة حتمية، لا حاجة إلى مفتاح API، ومخرجات JSON وSARIF.
وكيل الأمان المستقل للبرمجيات المكتوبة بالذكاء الاصطناعي. يكتشف المشكلات، ويحقّق فيما إذا كانت حقيقية، ويعرض لك الأدلة.
الموقع الإلكتروني · التوثيق · الأمان وتدفّق البيانات · المعايير المرجعية · الأسعار · المدونة · المساهمة
Ship Safe CLI
يعمل 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 سياقًا محدودًا مباشرةً إلى المزوّد الذي اخترته بعد إخفاء بيانات الاعتماد بأفضل جهد ممكن. راجع الأمان وتدفق البيانات للاطلاع على الحدود الدقيقة وحدود السياق.
البدء السريع
# Interactive REPL: scan, fix, and ask questions in one session
npx ship-safe
# Full audit: secrets + 30 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, verify the path closed
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
يحتوي الـ artifact الأساسي على هويات findings مُجزّأة (hashed)، ومسارات نسبية، وبيانات وصفية للقواعد. وهو لا يخزّن الأسرار المطابقة الخام. تُصنّف نتائج الـ PR الـ findings إلى: مُدخلة، أو مُعالَجة، أو غير متغيّرة، أو غير مؤكدة؛ وتُعرض المطابقات الغامضة لكنها لا تحجب الـ pull request.
ما الذي يكتشفه Ship Safe
| المجال | أمثلة |
|---|---|
| أمن الذكاء الاصطناعي و LLM | حقن الـ prompt، اختطاف الـ agent، الصلاحيات المفرطة، تسميم الذاكرة، تسميم RAG، استدعاءات الأدوات غير الآمنة |
| إعدادات MCP والـ agent | صلاحيات أدوات واسعة أكثر من اللازم، سجلات مسمومة، وسائل نقل غير موثوقة، قوائم سماح خطرة |
| أمن التطبيقات | حقن SQL/NoSQL، XSS، SSRF، تجاوز المصادقة، اجتياز المسارات، مسارات API غير آمنة |
| الأسرار والامتثال | مفاتيح API، والرموز (tokens)، وبيانات الاعتماد، وPII، والأسرار المسرّبة في سجل git |
| سلسلة التوريد | Typosquatting، تشويش التبعيات، سكربتات التثبيت الخطرة، إجراءات AI غير مثبّتة الإصدار |
| CI/CD | تسميم الـ pipeline، إجراءات GitHub Actions غير مثبّتة الإصدار، تسجيل الأسرار، محفّزات workflow غير آمنة |
كيف يعمل
- الفحص محليًا - يفحص Ship Safe مستودعك بوكلاء موجّهين ويتخطى الفحوصات غير المنطبقة.
- التحقيق في كل finding - تقرر تمريرات منفصلة ما إذا كان حقيقيًا، مرتّبة بحيث لا يُلغي فحص أرخص فحصًا أغلى منه أبدًا: مسار بيانات متتبَّع يتفوق على قراءة نموذج للملف نفسه، وprobe نجح في المصادقة يتفوق على كليهما.
- قراءة الأدلة - تُحسم الـ findings إلى مؤكَّدة، أو محتملة، أو غير محلولة، أو مدحوضة، وكل منها يستشهد بالأسطر التي استُنتج منها، بحيث يمكنك الاعتراض على خطوة بدلًا من وسم خطورة.
- الإصلاح مع التحكم - يقترح الـ agent خطة وdiff، ويسأل قبل الكتابة، ويتحقق من النتيجة، ويُبقي التغييرات قابلة للتراجع.
- البوابة في CI - استخدم
ship-safe ciلإفشال البِناءات الخطرة ورفع SARIF إلى فحص كود GitHub.
"لماذا لا أطلب من وكيل البرمجة الخاص بي فقط مراجعة المستودع؟"
يمكنك ذلك، وينبغي لك ذلك. سيجد أشياء حقيقية. لكن هناك ثلاثة أسئلة لا يستطيع بنيويًا الإجابة عنها بشأن عمله الخاص.