Skip to content

chore(security): adopt the public-repo security baseline #57

Description

@scttbnsn

This repo went public on 2026-08-16 and the org standard (codeswhat-ops standards/security.md, decided same day) says website repos get the full public baseline plus the DAST tier — a deployed site is never a lighter security shape. The security column here is currently empty. What the baseline means for this repo:

  • CodeQL from a committed workflow (JS/TS), not GitHub default setup.
  • OpenSSF Scorecard on its supported triggers.
  • zizmor + actionlint on the workflows, as a CI gate.
  • step-security/harden-runner on every job in website.yml, target egress-policy: block with an allowlist (portwing's ci-verify.yml is the copy source).
  • SHA-pin every action with version comments (website.yml is currently tag-pinned).
  • gitleaks as a dedicated step (drydock's pinned-binary pattern), plus dependency review on PRs.
  • A root SECURITY.md per the onboarding checklist (security@codeswhat.com, private reporting).
  • DAST tier: a ZAP baseline scan against the deployed site is in scope per the standard; sizing it to a mostly-static marketing site is your call in-repo.

Mechanics and exact checklist order: CodesWhat/.github REPOSITORY_ONBOARDING.md (just aligned with the registry). Filed from the ops lane per the one-agent-per-repo rule — a resident agent owns this repo, so this is a work order, not incoming code.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions