// docs / security guides / bolt.new checklist
Bolt.new security checklist: 23 items before ship
Bolt.new (StackBlitz WebContainer) runs your dev environment in the browser, generates full-stack JS in minutes, and publishes to Bolt hosting by default or to Netlify (Bolt docs). This checklist targets Bolt-specific risks: secrets that were safe in the dev container leak once the project is exported, Express CORS defaults are permissive, session cookies need explicit HttpOnly flags, and credentials pasted into the terminal or chat are hard to take back. 23 items across secrets, database, auth, headers, deployment, and Bolt-specific gotchas.
PRE = pre-deploy (audit your source). DEPLOY = at deploy time. POST = post-deploy verification.
الأسرار ومفاتيح API (5 عناصر)
يتم تشغيل WebContainer Bolt في المستعرض؛ يقوم التصدير إلى GitHub أو Netlify بنقل الأسرار من الحاوية المعزولة إلى الريبو العام.
- PRE — Never paste service-role keys into the Bolt terminal or chat. Anything you paste there is hard to take back. Keep keys in
.envor your host's environment settings instead. - PRE — Create a
.envfile, never hardcode secrets in code. Bolt تعزل حاوية التطوير.envبشكل جيد، ولكن عند التصدير إلى GitHub، يجب أن يكون.envفي.gitignore. - PRE — Confirm
.gitignoreexcludes.env,.env.local,.env.*.local. Bolt عادةً ما يدعم ذلك بشكل صحيح، ولكن تحقق منه قبل التصدير. - DEPLOY — Set secrets in Netlify Environment Variables, not in code. Netlify → إعدادات الموقع → البناء والنشر → البيئة. أضف مفاتيحك هناك، ضمن نطاق Production.
- POST — Run Secrets in JavaScript Bundles on the deployed URL. إذا وصل المفتاح إلى نشر Netlify، فسوف يعثر عليه الفحص.
التحكم في الوصول إلى قاعدة البيانات (3 عناصر)
Bolt عادةً ما تكون السقالات ذات Supabase أو محدبة. كلاهما لهما أوضاع مفتوحة افتراضيًا تحتاج إلى سياسات واضحة.
- PRE — If using Supabase, enable RLS on every public table. Bolt's scaffold might not include
ENABLE ROW LEVEL SECURITYor policies. Add both in the migration. - PRE — Write policies that validate user ownership. يجب على كل سياسة التحقق من
auth.uid() = user_idأو ما يعادله. سياسات Bolt التي تم إنشاؤها تفتقد هذا أحيانًا. - POST — Run a FixVibe scan on the deployed app. Check the Supabase Row-Level Security result: it shows any table an anonymous visitor can read with your public key.
المصادقة والجلسات (4 عناصر)
Bolt يُنشئ مصادقة Express أو Next.js. تكمن المخاطرة في تكوين ملفات تعريف الارتباط والتحقق من صحة الرمز المميز.
- PRE — Ensure session cookies are
HttpOnly; Secure; SameSite=Lax. Bolt يقوم أحيانًا بإنشاء ملفات تعريف الارتباط بدون هذه العلامات. قم بالتحقق منها أو إضافتها يدويًا. - PRE — Check Bolt's generated auth handlers for server-side token verification. إذا تم استخدام
getSession()، فاستبدله بالبحث الخلفي الذي تم التحقق منه. - PRE — Verify the sign-in redirect guard. يجب أن تبدأ المعلمة
nextبـ/، وليس//أبدًا. Bolt يتخطى هذا أحيانًا؛ قم بإضافته يدويًا إذا لزم الأمر. - POST — Test logout clears the session cookie. قم بتسجيل الدخول، وتسجيل الخروج، وفحص ملفات تعريف الارتباط. يجب حذف ملف تعريف الارتباط للجلسة عند تسجيل الخروج.
HTTP الرؤوس وCSP (3 عناصر)
نادرًا ما تشتمل سقالات Bolt Express/Next.js على CSP. يحتاج المضيفون الثابتون إلى تكوين واضح.
- تحتاج سقالة Express PRE — Add middleware for security headers if using Express. Bolt إلى برامج وسيطة يدوية لـ CSP وHSTS وخيارات الإطار X.
- PRE — If using Next.js, ensure
src/middleware.tsexists with CSP. Bolt قد يدعمها، لكن تأكد من صحة المنطق CSP. - POST — Run HTTP Security Headers on the deployed Netlify URL. يُبلغ الفحص عن رؤوس مفقودة.
نظافة النشر (5 عناصر)
Bolt يتم التصدير إلى GitHub وNetlify. كلاهما يحتاج إلى تكوين دقيق.
- DEPLOY — Ensure Bolt exports include
.gitignorewith.envlisted. تحقق من أن GitHub الريبو لا يحتوي على ملفات.envبعد التصدير. - DEPLOY — Set Netlify env vars via Site settings, not GitHub secrets. يتم تشفير متغيرات بيئة Netlify في حالة عدم النشاط؛ GitHub الأسرار مصممة لـ CI، وليس للنشر.
- DEPLOY — Audit the Netlify deploy log for secret echo. إذا قام سجل البناء بطباعة أي env var، فهذا يعني أنه تم اختراقه.
- DEPLOY — Configure Netlify build command to not run
echo $SECRET. تحقق منpackage.jsonوقم بإنشاء نصوص برمجية لأي مخرجات سرية. - POST — Verify Netlify redirect for HTTP → HTTPS exists. Bolt يجب أن تفرض التطبيقات HTTPS. يمكن لـ Netlify فرض ذلك عبر الإعدادات.
Bolt- مشكلات محددة (3 عناصر)
الأنماط الفريدة لتدفق WebContainer-to-export الخاص بـ Bolt:
- تعمل بيئة التطوير WebContainer isolation is lost on export. Bolt على عزل الأسرار بشكل آمن، ولكن بمجرد التصدير إلى GitHub، تصبح مسؤولاً عن
.gitignoreونظام env-var. - Treat the terminal and chat like a shared log. Don't paste credentials into either; put them in
.envor your host's environment settings. - Express
cors({ origin: '*' })is the default. Bolt تتضمن سقالة Express غالبًا CORS متساهلة. استبدل بـcors({ origin: 'https://yourdomain.com', credentials: true }).
الخطوات التالية
قم بمراجعة general vibe coding security checklist للحصول على 51 عنصرًا متعدد الأدوات. راجع step-by-step hardening لمعرفة CSP وRLS وأنماط المصادقة.
