Skip to content

ci: enable Dependabot for github-actions (and pin lint.yml checkout)#11

Merged
shigechika merged 1 commit into
mainfrom
chore/enable-dependabot
Apr 25, 2026
Merged

ci: enable Dependabot for github-actions (and pin lint.yml checkout)#11
shigechika merged 1 commit into
mainfrom
chore/enable-dependabot

Conversation

@shigechika

Copy link
Copy Markdown
Owner

Summary

Closes #6.

Test plan

  • CI: Lint workflow still runs (shellcheck scripts/*.sh) on push/PR touching scripts/**
  • After merge: confirm Dependabot picks up the new config (Settings → Security & analysis → Dependabot, or watch the Insights → Dependency graph tab). First Dependabot PRs typically appear within a day.

References

🤖 Generated with Claude Code

- Add .github/dependabot.yml with weekly checks for the github-actions
  ecosystem so SHA-pinned Actions get update PRs as new releases ship.
- Pin actions/checkout in lint.yml to the same SHA used in collect.yml
  (de0fac2e... # v6.0.2). PR #10 missed this file; Dependabot does
  not migrate tag refs to SHA refs on its own, so leaving lint.yml on
  @v6 would have left a gap in the supply-chain hardening intent of
  #4.

Closes #6

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@shigechika shigechika merged commit 63c4bd1 into main Apr 25, 2026
2 checks passed
@shigechika shigechika deleted the chore/enable-dependabot branch April 25, 2026 23:55
shigechika added a commit that referenced this pull request Apr 26, 2026
* docs(security): add SECURITY.md and SRI hashes for CDN scripts

Following the formal security review pass requested in #8. Findings:

- Token handling, public-only invariant, workflow permissions, shell
  injection, repoSlug() coercion, and dashboard XSS surface all check
  out (most were already addressed by PRs #2, #11, #12).
- One finding remained: docs/index.html loaded chart.js and
  chartjs-adapter-date-fns from cdn.jsdelivr.net without integrity
  attributes, so a CDN/NPM compromise could swap the file at the same
  URL. Added SHA-384 SRI hashes plus crossorigin="anonymous" to both
  <script> tags.

SECURITY.md captures the trust model (who can read/write what),
private-vulnerability-reporting URL, the public-only invariant and
where it's enforced, workflow trust boundaries, the frontend supply
chain story, the Protect main ruleset, and a checklist for fork users
covering PAT scope / Pages visibility / private-repo safety / secret
naming / branch protection portability / rename detection.

Closes #8

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

* fix(security): correct SRI hashes for CDN scripts

The integrity values in the previous commit were computed from a
transient bad curl response — both differed from the bytes jsdelivr
actually serves. Verified by hashing each file three times in a row
(stable) and grep-checking docs/index.html.

Without this fix the browser would have rejected both <script> tags
on SRI mismatch, leaving the dashboard blank.

Correct hashes:
- chart.js@4.4.1                    sha384-9nhczxUqK87bcKHh20fSQcTGD4qq5GhayNYSYWqwBkINBhOfQLg/P5HG5lF1urn4
- chartjs-adapter-date-fns@3.0.0    sha384-cVMg8E3QFwTvGCDuK+ET4PD341jF3W8nO1auiXfuZNQkzbUUiBGLsIQUE+b1mxws

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>

---------

Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

Enable Dependabot for GitHub Actions

1 participant