Skip to content

ci: Pin actions to SHAs and fix synced branch naming - #442

Merged
ferenc-csaky merged 2 commits into
mainfrom
security/code-red-ci-hardening
Nov 3, 2026
Merged

ferenc-csaky merged 2 commits into
mainfrom
security/code-red-ci-hardening

Conversation

@velo

@velo velo commented Nov 3, 2026

Copy link
Copy Markdown
Collaborator

Requested by Marvin · project thread

What does this change?

CODE RED drill: shrink what an attacker with GitHub write access, or a compromised third-party action, can do through CI.

  • Pins every third-party action to a full commit SHA, with the tag kept as a comment. A moved or compromised tag can no longer change what runs in CI.
  • Dependabot now covers GitHub Actions (so the SHAs stay current) and waits 14 days before proposing any new release (cooldown). This matches the CODE RED rule of not adopting releases under two weeks old.
  • test-cloud-compilation pushed the synced branch into cloud-compilation (using BOT_PAT) under the PR's own head ref, which a fork author chooses and which could be main or develop. It now always uses flink-sql-runner/pr-<number>. PRs that were synced before this change keep their old cloud-compilation branch, which is not cleaned up automatically.

Area

  • Build / CI / dependencies

How did you test it?

Only workflow, action and Dependabot config changed. Every file was parsed as YAML, and every pinned SHA was resolved from the tag with git ls-remote on 2026-11-03. CI on this PR exercises the pinned actions.

Checklist

  • The PR title starts with a type such as feat:, fix: or docs:
  • Commits are signed off (not GPG-signed; squash merge produces a signed commit)

Generated by Claude Code

Part of the CODE RED drill: limit what an attacker with GitHub write
access, or a compromised third-party action, can do through CI.

- Pin every third-party action to a full commit SHA (tag kept as a comment).
- Dependabot: cover GitHub Actions and wait 14 days before proposing a new
  release (cooldown), per the supply-chain policy.
- test-cloud-compilation: push the synced cloud-compilation branch as
  flink-sql-runner/pr-<number> instead of the PR's head ref, which a fork
  author controls (it could be main or develop).

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01FhU3XUfawkcbjaZAvJhTr2
Signed-off-by: Claude <noreply@anthropic.com>
@velo velo self-assigned this Nov 3, 2026
Signed-off-by: Ferenc Csaky <ferenc@datasqrl.com>
@ferenc-csaky ferenc-csaky changed the title ci: pin actions to SHAs and fix synced branch naming (CODE RED) ci: Pin actions to SHAs and fix synced branch naming Nov 3, 2026
@ferenc-csaky
ferenc-csaky enabled auto-merge (squash) November 3, 2026 18:05
@ferenc-csaky
ferenc-csaky merged commit f453690 into main Nov 3, 2026
14 checks passed
@ferenc-csaky
ferenc-csaky deleted the security/code-red-ci-hardening branch November 3, 2026 18:20
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.

3 participants