Verify Workflow Security (Permissions and App ID Verification)
Nobody has claimed this yet.
- Dominant language
- Python
- Stars
- 1
- Forks
- 1
- Avg merge
- 3d 11h
- Merged PRs (30d)
- 16
Description
Phase: ongoing (close when all workflows are implemented and verified)
Labels: quartz, security
Blocked by: Phase 1 B+C (receive-therock-data.yml), Phase 2 A (notify-downstream.yml, receive-downstream-data.yml)
Context
The repository default is set to read-all in Phase 1 A1, with job-level permission
elevation stubs added as placeholders. This issue tracks verification that all
workflows have the correct minimal permissions once they are fully implemented.
Reference: RFC-0011 (ROCm/TheRock#3728 / docs/rfcs/RFC0011-Quartz-CICD-Datahub.md in ROCm/TheRock once merged) — Security Considerations.
Tasks
-
receive-therock-data.yml: verify job-level elevation iscontents: write+
issues: writeand nothing more -
notify-downstream.yml: verify no elevation beyondread-alldefault -
receive-downstream-data.yml: verify job-level elevation isissues: write
and nothing more - Confirm no workflow step or script acquires permissions beyond what is declared
- Verify that all
workflow_dispatchworkflows in ROCm/quartz perform GitHub App
ID verification (github.event.installation.id) as their first step before any
processing — coversreceive-therock-data.ymlandreceive-downstream-data.yml - Close this issue only after all three workflows are fully implemented and reviewed
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Read RFC-0011's Security Considerations, then inspect receive-therock-data.yml, notify-downstream.yml, and receive-downstream-data.yml once the listed blocking workflows are implemented. Verify each declared permission, check that workflow_dispatch App ID verification is first where required, and confirm no step or script exceeds those permissions before closing the issue.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- github-actions
- Domain
- ci-cd, devops, security
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Quiet
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100