Skill Review ($25 Bounty)
Skill Reviewed
Skill name: pipeline-security
Skill path: skills/devsecops/pipeline-security/SKILL.md
Gap Found
The skill flags dangerous pull_request_target usage and generic artifact integrity gaps, but it does not explicitly review privileged workflow_run handoffs where a high-permission workflow downloads artifacts, caches, coverage reports, or build outputs created by a lower-trust PR/fork workflow.
Why It Matters
A successful upstream PR build does not prove that its artifacts are safe to execute or publish in a downstream workflow with write permissions, secrets, signing keys, package tokens, or deployment credentials. Without source repository, branch, actor, artifact digest, provenance, and trusted commit binding checks, PR-controlled artifacts can become a poisoned pipeline execution path even when pull_request_target is not used.
Evidence Pattern That Should Fail
pull_request workflow from forks uploads dist artifact
workflow_run publish workflow triggers on completed PR build
- downstream workflow has
permissions: write-all and publishing/deployment secrets
- downstream job downloads the artifact from
github.event.workflow_run.id
- downstream job executes
./dist/release.sh
- no trusted head repository/branch checks, digest verification, or provenance verification
Suggested Fix
Add evidence gates requiring:
- producer workflow, trigger, head repository, head SHA, artifact/cache identity, and consumer workflow mapping
- checks for trusted source repository, branch, actor/team, and event type before privileged consumption
- artifact digest, signature, SLSA provenance, or rebuild-from-trusted-source before executing/publishing artifacts
- cache key isolation so untrusted PRs cannot poison caches later restored by release/deploy workflows
- explicit report section for privileged workflow handoffs
Bounty Info
Skill Review ($25 Bounty)
Skill Reviewed
Skill name:
pipeline-securitySkill path:
skills/devsecops/pipeline-security/SKILL.mdGap Found
The skill flags dangerous
pull_request_targetusage and generic artifact integrity gaps, but it does not explicitly review privilegedworkflow_runhandoffs where a high-permission workflow downloads artifacts, caches, coverage reports, or build outputs created by a lower-trust PR/fork workflow.Why It Matters
A successful upstream PR build does not prove that its artifacts are safe to execute or publish in a downstream workflow with write permissions, secrets, signing keys, package tokens, or deployment credentials. Without source repository, branch, actor, artifact digest, provenance, and trusted commit binding checks, PR-controlled artifacts can become a poisoned pipeline execution path even when
pull_request_targetis not used.Evidence Pattern That Should Fail
pull_requestworkflow from forks uploadsdistartifactworkflow_runpublish workflow triggers on completed PR buildpermissions: write-alland publishing/deployment secretsgithub.event.workflow_run.id./dist/release.shSuggested Fix
Add evidence gates requiring:
Bounty Info