Security Release Checklist¶
Use this checklist before cutting any new release (e.g., v0.x.x) to ensure supply-chain integrity.
1. Supply Chain & Installer¶
- [ ] Pinned Version: Update
install.shVERSIONvariable to match the release tag. - [ ] Docs Sync: Ensure
README.mdand.github/PULL_REQUEST_TEMPLATE.mdinstaller URLs point to the new tag (notmain). - [ ] Clean Build: Verify
install.shdoes not curl random scripts from third parties without pinning. - [ ] SOUP Register: Review SOUP_REGISTER.md and confirm all active external components have an owner and validation path.
2. Secrets & Leak Prevention¶
- [ ] SSH Keys: Scan
dot_ssh/to ensure no private keys (id_rsa,id_ed25519) are committed. - [ ] Env Vars: Check for hardcoded API tokens in
dot_config/(useageencryption or environment variables instead). - [ ] Git History: Run
git secretsor similar to scan for accidental commits of credentials.
3. Platform Safety¶
- [ ] WSL Check: Verify
install.shdetects WSL and does not try to install systemd services or macOS defaults. - [ ] Root usage: Ensure no script requires
sudounnecessarily (Principle of Least Privilege).
4. Toolchain¶
- [ ] Binary Integrity: Check that
dot_local/bin/scripts are pure shell/executable and match expected checksums (no binary blobs). - [ ] Dependency Scan: Run
npm audit/cargo auditif applicable (currently Node.js legacy is removed).
5. MCP (Model Context Protocol) Hardening¶
- [ ] Launcher Policy: Verify
dot mcpshows only allowlisted launchers (npx,node,uvx). - [ ] Filesystem Scope: Ensure no MCP server has broad access (
/,/home,/Users). - [ ] Default Profile: Confirm only the
strict-localserver set is enabled by default. - [ ] Token Validation: Confirm required API tokens are set (
GITHUB_TOKEN,BRAVE_API_KEY). - [ ] Arg Policy: No wildcard (
*) or--unsafearguments in MCP server configs. - [ ] Env Placeholders: All
${VAR}references in MCP config have corresponding environment variables.
Run dot mcp --strict --json to validate all MCP server configurations and capture an audit artifact.
6. Release Attestation¶
- [ ] SBOM Generation: Verify
dotfiles-sbom.spdx.jsonis generated in release workflow. - [ ] Attestation Signing: Confirm
actions/attest-build-provenancesigns the release artifacts. - [ ] Attestation Verification: Verify with
gh attestation verify <artifact> --repo sebastienrousseau/dotfiles. - [ ] Branch Protection: Ensure
security-attestationis a required status check on main. - [ ] Automation Keying: Confirm
ACTIONS_BOT_SIGNING_KEYexists and matches the signer indot_config/git/allowed_signers.
7. Final Verification¶
- [ ] Docker Test: Run
docker build -f Dockerfile.test .to verify clean install. - [ ] Doctor: Run
dot doctorlocally. - [ ] MCP Check: Run
dot mcpto verify MCP configuration.