← ClaudeAtlas

gitlab-security-setuplisted

Sets up a full security stack on your company's projects hosted on GitLab.com (non-PrestaShop: Laravel, Astro, TanStack, etc.). Use ONLY when the project is a GitLab.com Free tier project. Triggers when the user asks to add dependency scanning, vulnerability alerts, security setup, Trivy, pnpm supply chain protection, or wants email reports of vulnerabilities. Do NOT use for GitHub-hosted projects, personal projects, or PrestaShop projects — use ps-security-audit skill instead for any PrestaShop project.
educlopez/mallard · ★ 3 · Code & Development · score 72
Install: claude install-skill educlopez/mallard
# GitLab Security Setup Full security stack for your company's GitLab.com projects on the Free tier. Covers: pnpm 11 supply chain, Trivy weekly scan, HTML email reports via Gmail. > **Placeholder:** `{report_recipients}` is a comma-separated list of email > addresses that receive the vulnerability reports (e.g. `you@example.com, teammate@example.com`). > Replace it everywhere it appears below with your own recipient address(es) before running. ## What gets set up 1. **pnpm 11** with supply chain protection (`minimumReleaseAge`, overrides) 2. **Trivy** vulnerability + secret scanner via GitLab CI 3. **Weekly scheduled pipeline** (Monday 8am Madrid) with HTML email report 4. **Composer audit** for PHP/Laravel projects 5. **Gmail SMTP** delivery via GitLab CI/CD variables --- ## Step 1 — pnpm 11 Supply Chain ### `pnpm-workspace.yaml` (create or update) ```yaml # WARNING: single-package repos do NOT need a `packages:` block on pnpm 11. # BUT on pnpm 9 (Vercel default for older projects) the mere presence of this # file REQUIRES a non-empty `packages:` or install dies with # "packages field missing or empty". If targeting pnpm 9, add `packages: ['.']`. minimumReleaseAge: 4320 # packages must be 72h old before install (minutes) # Block transitive deps from git repos / raw tarball URLs (needs pnpm 10.26+, # silently inert below). See supply-chain-security skill for the full checklist. blockExoticSubdeps: true # Allowlist for postinstall/build scripts. pnpm 10+ blocks AL