Look for unsigned commits, unknown contributors, unverified dependency sources, and merge paths that bypass normal review discipline. Those signals show where trust depends on process memory instead of cryptographic evidence and controlled source validation.
What weak provenance looks like in GitHub delivery pipelines
Weak provenance is easiest to spot when a pipeline can produce or promote artifacts without enough evidence to answer a basic question: who changed what, when, and under which controls. In GitHub-based delivery, that usually means the source commit, the review path, the dependency inputs, and the build identity do not line up cleanly enough to trust the release.
The practical signal is not just “a GitHub repo exists”, but whether the pipeline preserves a verifiable chain from change request to build output. When that chain is thin, teams are forced to rely on process memory, chat history, or informal approvals instead of evidence that can be checked later.
One useful baseline is to compare your delivery path against a SLSA style provenance expectation, because SLSA centers build integrity, source traceability, and the evidence needed to trust artifacts.
Which indicators should teams look for first?
Start with the signals that tell you the pipeline accepted source or release input without strong proof. Unsigned commits, unverifiable tags, unknown contributors, force-pushed branches, and dependency sources that cannot be tied back to a trusted owner are all warning signs. So are workflows that allow direct pushes to protected branches, or release jobs that consume artifacts without checking whether they came from the expected repository and commit.
In GitHub environments, provenance problems often show up as review bypass rather than obvious compromise. A merge may be technically valid but still weak if it skipped the normal approval path, used a stale branch, or pulled in a dependency or action that was never pinned, reviewed, or validated as expected.
For teams that want a structured view of the delivery risk, OWASP Non-Human Identity Top 10 is useful where GitHub Actions, tokens, and automation identities are part of the trust chain, because delivery trust often depends on how those secrets and non-human credentials are governed. GitHub pipeline abuse patterns such as exposed secrets and poisoned workflow paths are also visible in ArtiPACKED 2024.
How do review gaps and dependency drift weaken trust?
Provenance weakens when the pipeline accepts code from places the team does not actually control. That includes unreviewed external dependencies, mutable build inputs, actions pulled by floating tags, and release steps that inherit trust from a prior job rather than re-establishing it. Each shortcut reduces the evidence available to prove that the artifact matches the intended source.
Review discipline matters because provenance is not only about cryptography. A signed commit can still be risky if the review path is weak, ownership is unclear, or the merge route allows a change to enter production without the same checks applied to normal work. The strongest pipelines combine cryptographic evidence with controlled source validation, because either one alone can leave gaps.
Delivery teams should also watch for dependency and action reuse across repositories. If the same token, workflow, or third-party action can be used in multiple contexts without tight isolation, provenance becomes harder to prove and compromise becomes easier to spread. That is why attack writeups like reviewdog Action compromise 2025 and Shai Hulud npm malware campaign are useful references for understanding how trusted delivery paths can be poisoned through upstream compromise.
Risk and Threat Considerations
Weak provenance is risky because it creates a gap between what the pipeline claims to build and what actually entered the release path. That gap can hide malicious commits, compromised maintainer accounts, injected dependencies, or altered workflow logic, and it makes post-incident investigation slower because the evidence trail is incomplete.
Failure mechanism: A trusted GitHub pipeline accepts unsigned or weakly reviewed changes, mutable dependencies, or workflow inputs that are not anchored to an auditable source state, so the build can be influenced without a reliable proof trail.
Impact: The team may ship altered code, leak credentials, or propagate a poisoned artifact downstream, and responders may be unable to prove where trust failed or which version is safe to re-deploy.
Standards & Framework Alignment
This section maps relevant standards and security frameworks to the operational risks and controls described in this guidance.
OWASP Non-Human Identity Top 10 and MITRE ATT&CK address the attack and risk surface, while SLSA sets the governance and control requirements practitioners need to meet.
| Framework | Control / Reference | Relevance |
|---|---|---|
| SLSA | Supply-chain Levels for Software Artifacts | Build provenance and artifact integrity are central to detecting weak delivery provenance. |
| Recommendation — Adopt SLSA-aligned provenance checks to verify source, build, and artifact integrity. | ||
| OWASP Non-Human Identity Top 10 | NHI-02 — Secret Leakage | GitHub delivery pipelines often rely on tokens and secrets that expose provenance gaps when mishandled. |
| NHI-04 — Insecure Authentication | Unsigned or weakly verified delivery identities undermine trust in pipeline actions and releases. | |
| NHI-09 — NHI Reuse | Reusable tokens, workflows, and actions can spread trust failures across GitHub pipelines. | |
| Recommendation — Scan workflow paths for leaked secrets and rotate any exposed credentials immediately. Enforce strong authentication for automation identities and reject unverified workflow actors. Limit reuse of automation credentials and isolate pipeline identities by repo and environment. | ||
| MITRE ATT&CK | T1195 — Supply Chain Compromise | Weak provenance enables upstream compromise of dependencies, workflows, or release inputs. |
| Recommendation — Map delivery compromise paths to supply-chain techniques and hunt for poisoned inputs. | ||
Practitioner Guidance
What to verify: Require a release path that can answer three questions for every build, namely the exact source commit, the reviewers or approvers who accepted it, and the identity or policy under which the artifact was built. If any of those three cannot be reconstructed from system evidence, treat the pipeline as provenance-weak rather than merely inconvenient.
Decision rule: If a pipeline step can change source, dependencies, or release artifacts without leaving an auditable link to the approved change set, prioritize fixing the trust boundary before tuning detection. Detection can flag bad provenance, but it cannot compensate for a release process that never recorded enough evidence to begin with.
Practitioner takeaway: Strong GitHub delivery is less about making every step “secure” in isolation and more about making every trust decision provable, because provenance only matters when you can later show exactly why the build output deserved to be trusted.
Related resources from NHI Mgmt Group
- How should security teams implement dynamic application security testing in GitHub-based delivery pipelines?
- How should security teams reduce supply chain risk in GitHub-based development pipelines?
- How should security teams implement attribute-based access control in CI/CD pipelines without breaking delivery speed?
- How should security teams detect supply chain abuse in public GitHub repositories that use fork-based workflows?
Deepen Your Knowledge
Free weekly newsletter
Subscribe to the NHI & AI Identity Journal
The latest on NHI and Agentic AI security – articles, research, breaches, news and events every week.
Bonus 33% off our NHI Course when you subscribe.
Reviewed and updated by the NHIMG editorial team on October 8, 2026.
NHI Mgmt Group — the #1 independent authority on Non-Human Identity, IAM, and Agentic AI security. nhimg.org