pub enum FindingCategory {
Show 17 variants
AuthorityPropagation,
OverPrivilegedIdentity,
UnpinnedAction,
UntrustedWithAuthority,
ArtifactBoundaryCrossing,
FloatingImage,
LongLivedCredential,
PersistedCredential,
TriggerContextMismatch,
CrossWorkflowAuthorityChain,
AuthorityCycle,
UpliftWithoutAttestation,
SelfMutatingPipeline,
CheckoutSelfPrExposure,
VariableGroupInPrJob,
SelfHostedPoolPrHijack,
ServiceConnectionScopeMismatch,
// some variants omitted
}Expand description
MVP categories (1-5) are derivable from pipeline YAML alone. Stretch categories (6-9) need heuristics or metadata enrichment.
Variants§
AuthorityPropagation
OverPrivilegedIdentity
UnpinnedAction
UntrustedWithAuthority
ArtifactBoundaryCrossing
FloatingImage
LongLivedCredential
PersistedCredential
Credential written to disk by a step (e.g. persistCredentials: true on a checkout).
Disk-persisted credentials are accessible to all subsequent steps and any process
with filesystem access, unlike runtime-only HasAccessTo authority.
TriggerContextMismatch
Dangerous trigger type (pull_request_target / pr) combined with secret/identity access.
CrossWorkflowAuthorityChain
Authority (secret/identity) flows into an opaque external workflow via DelegatesTo.
AuthorityCycle
Circular DelegatesTo chain — workflow calls itself transitively.
UpliftWithoutAttestation
Privileged workflow (OIDC/broad identity) with no provenance attestation step.
SelfMutatingPipeline
Step writes to the environment gate ($GITHUB_ENV, pipeline variables) — authority can propagate.
CheckoutSelfPrExposure
PR-triggered pipeline checks out the repository — attacker-controlled fork code lands on the runner.
VariableGroupInPrJob
ADO variable group consumed by a PR-triggered job, crossing trust boundary.
SelfHostedPoolPrHijack
Self-hosted agent pool used in a PR-triggered job that also checks out the repository.
ServiceConnectionScopeMismatch
Broad-scope ADO service connection reachable from a PR-triggered job without OIDC.
Trait Implementations§
Source§impl Clone for FindingCategory
impl Clone for FindingCategory
Source§fn clone(&self) -> FindingCategory
fn clone(&self) -> FindingCategory
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more