
المصدر المرافق لفيديو يوتيوب "توقف عن تركيب docker.sock — شغّل Trivy دون منح صلاحيات الجذر — (مستوحى من CVE-2026-33634)"
المستودع المرافق للفيديو: Stop Mounting docker.sock — Run Trivy Without Giving Away Root Access — (inspired by CVE-2026-33634)
https://www.youtube.com/watch?v=xLTYzfPY3xI
يحتوي هذا المستودع على تطبيق الويب النموذجي وموجه Claude Code المستخدمين في الفيديو لتوضيح:
/var/run/docker.sock داخل حاوية تلك الحاوية وصولاً بصلاحيات الجذر (root) إلى مضيفكdocker save + تركيب tar للقراءة فقط بدلاً من واجهة Docker Socket APImy-calc-app/تطبيق آلة حاسبة مبني على Next.js/React مع Dockerfile إنتاجي متعدد المراحل (node:20-alpine، مستخدم غير جذر). هذا هو التطبيق الذي تم فحصه بواسطة Trivy في الفيديو.
البناء والتشغيل:
cd my-calc-app
docker build -t my-calc-app:prod .
docker run -p 3000:3000 my-calc-app:prod
سيكون التطبيق متاحاً على http://localhost:3000.
ملاحظة: يحتوي الملف public/secret.txt على مفتاح RSA خاص وهمي. هذا مقصود — فهو موجود حتى يلتقطه ماسح الأسرار في Trivy أثناء الفحص الأول في الفيديو، مما يوضح قدرة Trivy على اكتشاف الأسرار. إنه ليس مفتاحاً حقيقياً.
prompts/trivy-report-for-prod-docker-prompt.mdموجه Claude Code المستخدم في الفيديو لتحليل مخرجات فحص Trivy بصيغة JSON. يصنف الثغرات حسب الموقع (تبعيات التطبيق مقابل حزم نظام التشغيل مقابل مكونات npm/yarn الداخلية) وينتج حكماً بالإصدار أو عدم الإصدار.
لاستخدامه مع صورتك الخاصة:
# 1. صدّر صورتك كملف tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. شغّل Trivy على ملف tar (بدون الحاجة إلى docker.sock)
docker run --rm \
-v trivy-cache:/root/.cache/ \
-v ./my-calc-app-prod.tar:/image.tar:ro \
aquasec/trivy:latest image --input /image.tar -f json > report.json
# 3. اطلب من Claude Code تحليل التقرير
claude -p "$(cat prompts/trivy-report-for-prod-docker-prompt.md) report.json"
بدلاً من:
# يمنح الحاوية وصولاً كاملاً بصلاحيات الجذر إلى مضيفك عبر Docker API
docker run -v /var/run/docker.sock:/var/run/docker.sock aquasec/trivy image my-app:latest
افعل هذا:
# 1. احفظ الصورة كملف tar
docker save my-calc-app:prod -o my-calc-app-prod.tar
# 2. اربط ملف tar فقط (للقراءة فقط)، بدون وصول إلى المقبس
docker run --rm \
-v trivy-cache:/root/.cache/ \
-v ./my-calc-app-prod.tar:/image.tar:ro \
aquasec/trivy@sha256:<pin-to-digest> image --input /image.tar -f json > report.json
ثبّت صورة Trivy باستخدام SHA256 digest بدلاً من علامة (tag) لمقاومة هجمات سلسلة التوريد مثل CVE-2026-33634.