概要
リリースworkflowで複数のthird-party actionをmutable tag(@v2, @v3, @v4, @stable)のまま実行し、workflow全体へ contents: write を付与しています。Homebrew更新では長期tokenもactionへ渡します。
Severity: Medium (hardening)
分類: CWE-829 / OWASP A08
該当箇所
.github/workflows/release.yml:8-10,24-26,40,51,55-57,67-83
対象は feat/ci-cd-homebrew のrelease workflowです。
影響
action tagやmaintainer accountが侵害された場合、release tagの実行時に任意コードが動き、release改変、secret窃取、Homebrew tap侵害へつながる可能性があります。
修正案
- すべての
uses: を検証済みfull commit SHAへ固定する
- DependabotでSHA更新を管理する
- permissionsをjob単位に分ける(build: read、releaseのみcontents: write等)
- Homebrew tokenをfine-grained・最小権限・短寿命化する
- environment approval、artifact attestation、署名を検討する
完了条件
- すべてのactionがfull SHA pinされている
- write権限とsecretが必要なjobだけに限定されている
- release artifactの出所・hashを検証できる
概要
リリースworkflowで複数のthird-party actionをmutable tag(
@v2,@v3,@v4,@stable)のまま実行し、workflow全体へcontents: writeを付与しています。Homebrew更新では長期tokenもactionへ渡します。Severity: Medium (hardening)
分類: CWE-829 / OWASP A08
該当箇所
.github/workflows/release.yml:8-10,24-26,40,51,55-57,67-83対象は
feat/ci-cd-homebrewのrelease workflowです。影響
action tagやmaintainer accountが侵害された場合、release tagの実行時に任意コードが動き、release改変、secret窃取、Homebrew tap侵害へつながる可能性があります。
修正案
uses:を検証済みfull commit SHAへ固定する完了条件