fix: harden GitHub Actions workflows (zizmor audit)#137
Conversation
Pin all actions to commit SHAs, add persist-credentials: false, set least-privilege permissions, fix template injection in publish-dashboard-ui, and replace softprops/action-gh-release with the built-in gh CLI. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
|
Caution Review failedThe pull request is closed. ℹ️ Recent review info⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (3)
📝 WalkthroughWalkthroughListen. Three workflow files hardened for security and determinism. Actions pinned to specific commit SHAs, credentials locked down, and release uploads shifted from an action to CLI-based implementation. Tactical adjustments, nothing more. Changes
Estimated code review effort🎯 2 (Simple) | ⏱️ ~12 minutes Poem
✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
Summary
@v4→ full SHA with version comment)persist-credentials: falseto allactions/checkoutsteps to prevent credential leakage via artifactspermissions: contents: readonpytest.yml(was using overly broad defaults)publish-dashboard-ui.yml— moved${{ github.ref_name }}from inlinerun:to env varspypa/gh-action-pypi-publishto commit hash (was unpinnedrelease/v1branch ref)softprops/action-gh-releasewith built-ingh release uploadCLI (fewer third-party dependencies)All findings from
zizmorresolved. Two remaining low-confidence cache-poisoning warnings are suppressed inline (tag-only triggers limit exposure).Test plan
pytestworkflow runs on PR🤖 Generated with Claude Code
Summary by CodeRabbit
Note: This release contains no user-facing changes; updates are internal infrastructure improvements.