Skip to content

ci: harden GitHub Actions workflows#765

Open
ital0 wants to merge 2 commits intomainfrom
italomenezes/security-actions-hardening
Open

ci: harden GitHub Actions workflows#765
ital0 wants to merge 2 commits intomainfrom
italomenezes/security-actions-hardening

Conversation

@ital0
Copy link
Copy Markdown
Collaborator

@ital0 ital0 commented Apr 24, 2026

Two hardening changes to close 6 CodeQL alerts on Actions workflows.

Test plan

  • YAML syntax valid on all 3 files (python3 -c 'import yaml; yaml.safe_load(open(f))')
  • Workflow schema validated on push (GitHub)
  • CI green on this PR

Note

Medium Risk
Workflow permission tightening and changes to how user-provided inputs are passed into run: steps could break CI/deploy execution if any job relied on implicit permissions or on unquoted input expansion. However, changes are scoped to workflow YAML and primarily reduce security risk (least privilege and shell-injection mitigation).

Overview
Hardens GitHub Actions workflows by adding a top-level permissions: contents: read default to ci.yml and ios-release.yml, relying on existing per-job overrides where broader access is needed.

Mitigates shell-injection risk in enterprise-deploy.yml by moving ${{ inputs.platform }} and ${{ inputs.stack_name }} out of inline run: commands into env (PLATFORM, STACK_NAME) and referencing them as quoted shell variables in Pulumi commands (including pulumi stack output).

Reviewed by Cursor Bugbot for commit de577b7. Bugbot is set up for automated code reviews on this repo. Configure here.

- Add least-privilege `permissions: contents: read` to ci.yml and ios-release.yml
- Pass pulumi inputs via env vars in enterprise-deploy.yml to prevent shell injection from workflow_dispatch inputs
@github-actions
Copy link
Copy Markdown

Semgrep Security Scan

No security issues found.

@ital0 ital0 self-assigned this Apr 24, 2026
@github-actions
Copy link
Copy Markdown

github-actions Bot commented Apr 24, 2026

PR Metrics

Metric Value
Lines changed (prod code) +12 / -2
JS bundle size (gzipped) 🟢 1.02 MB → 1.01 MB (-4.4 KB, -0.4%)
Test coverage 🟢 70.64% → 70.64% (+0.0%)
Performance (preview) Preview not ready — Render deploy may have timed out
Accessibility
Best Practices
SEO

Updated Fri, 24 Apr 2026 20:37:39 GMT · run #1202

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.

Improve Reasoning UX (Continued) Context Tagging

1 participant