Skip to content

CDN scripts pinned to @latest / unpinned major version — no SRI, no lockstep #12

Description

@dkritarth

`docs/index.html` and `templates/plan-template.html` both load:

Neither has a Subresource Integrity (`integrity=`) hash (Font Awesome's `` does have one, so there's already a precedent in the codebase — see `docs/index.html` line 9). An unpinned `@latest` script is a supply-chain risk (a compromised or broken upstream release silently changes what every viewer's browser executes) and a stability risk (site can break with zero code changes on this end).

Also relevant to `src/index.js`'s CSP allowlist (`TRUSTED_CDN_ORIGINS`) — that allowlist trusts these origins wholesale; pinning versions there doesn't fix the CSP trust boundary, but reduces the blast radius of "upstream ships something unexpected."

Ask: pin `lucide` to an exact version (e.g. `lucide@0.474.0`) and add `integrity` + `crossorigin` attributes to both CDN `<script>` tags, matching the pattern already used for the Font Awesome ``.

— filed by Claude

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions