chore(ci): harden security#3505
Conversation
Signed-off-by: gabriel miranda <gabriel@resend.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
|
There was a problem hiding this comment.
cubic analysis
No issues found across 9 files
Confidence score: 5/5
- Automated review surfaced no issues in the provided summaries.
- No files require special attention.
Linked issue analysis
Linked issue: DEV-652: [react-email] GH Actions hardening — 0 HIGH / 2 MED / 12 LOW
| Status | Acceptance criteria | Notes |
|---|---|---|
| ✅ | Add top-level permissions to release.yml | release.yml now includes a top-level permissions block. |
| ✅ | Add top-level permissions to e2e.yml | e2e.yml contains a top-level permissions block (contents: read, pull-requests: read) in the PR. |
| ✅ | Add timeout-minutes to the 9 jobs missing timeouts | timeout-minutes was added to the workflow jobs that previously lacked it across the repo. |
| ✅ | Prevent PR-triggered workflows from exposing TURBO_TOKEN / SPAM_ASSASSIN_* secrets to fork PRs (guard secrets for same-repo only) | Environment values for SPAM_ASSASSIN_* and TURBO_* are now conditionally set to the secret only for non-pull_request or same-repo PRs, otherwise set to empty. |
Auto-approved: These CI security hardening changes are purely operational and add timeouts and least-privilege permissions without altering any application logic, so they carry minimal risk.
Summary by cubic
Hardened GitHub Actions by enforcing least-privilege permissions, adding job timeouts, and gating secrets to safe contexts. Addresses DEV-652 (0 high / 2 med / 12 low) and reduces risk on forked PRs.
SPAM_ASSASSIN_*andTURBO_*envs to pushes and same-repo PRs; forks get empty values.Written for commit 080ae45. Summary will update on new commits.