Can a compromised CI pipeline publish?
An attacker controls a build job and submits a release under your package name.You keep release approval outside CI.Case and policy
Let your pipeline build and request releases. Choose who must approve a package before it can be published under your name.
Require independent approvals for the exact package and artifact you want to release. Keep publishing credentials with a service that verifies your signed command, so taking over a build job isn’t enough to publish.
Decide who can release
policy "release-publishing" {
allow when {
request.operation == "publish"
request.registry == "pypi"
request.package == "acme-agent"
}
require 2 of [operations, security]
}