The TeamPCP arrests in August 2026 exposed a supply chain attack that potentially compromised more than 1,000 organizations and exposed over 500,000 credentials. The group's method, injecting credential-stealing malware into open-source software, raises a critical question for every DIB contractor and federal agency: Should you vet every dependency before it enters your environment, or harden your CI/CD pipeline so a compromised package can't steal your credentials?
Both approaches have their advocates and address real risks. Most organizations will need elements of both, but the tradeoffs differ sharply, and where you invest first matters.
The Case for Dependency Vetting
Preventing malicious code from entering your build environment means you don't have to worry about its potential damage. This approach prioritizes generating a Software Bill of Materials, verifying package signatures, and internally mirroring approved dependencies.
Under NIST SP 800-161r1, you're required to identify and document the provenance of software components in systems handling Controlled Unclassified Information. CMMC Level 2 assessment criteria under 32 CFR Part 170 expect you to demonstrate supply chain risk management practices, which increasingly means showing assessors that you know what's in your software and where it came from.
Practically, this means maintaining an internal artifact repository. Developers don't pull packages directly from npm, PyPI, or GitHub. Instead, your security team reviews and approves dependencies before they're mirrored into your internal registry. You verify package signatures, compare checksums, and review recent commit history for suspicious activity.
This approach worked for organizations that caught the poisoned Trivy release before it reached production. They had approval gates in place, and the malicious version never made it past their security review.
The limitation is speed and scale. If your developers need 50 new packages a week, your security team becomes a bottleneck. You're also betting that your review process will catch what automated scanners and the open-source community missed. In the TeamPCP case, the malware was designed to evade static analysis by activating only in specific CI/CD contexts.
The Case for Pipeline Hardening
Vetting every transitive dependency in a modern application is nearly impossible. The TeamPCP group compromised packages with nearly 180 million combined weekly downloads, making the attack surface too large.
Instead, harden the pipeline so that even if a malicious package gets through, it can't exfiltrate your credentials or pivot to other systems. Implement least-privilege service accounts, rotate CI/CD tokens frequently, segment networks between build environments and production, and monitor for unexpected outbound connections.
The FBI's July 2026 alert after the TeamPCP investigation recommended exactly this: pin GitHub Actions to verified commit hashes, limit service-account and publishing-token privileges, and monitor development pipelines for unexpected outbound connections. These are pipeline controls, not dependency controls.
Practically, your GitHub Actions workflows run with read-only tokens that can't publish releases. Your build agents can't reach the internet directly; they proxy through an egress gateway that logs and filters outbound connections. Your PyPI publishing token can only update specific packages and expires after 24 hours.
This approach assumes breach. It accepts that malicious code will occasionally enter your environment but limits what that code can access. When the TeamPCP group stole a Non-Person Entity token from Aqua Security's Trivy workflow, the damage wasn't in the theft; it was in what that token could do afterward.
The limitation is complexity. You're adding authentication boundaries, network controls, and monitoring requirements to an environment where developers expect frictionless access. You also need mature Security Information and Event Management capabilities to detect anomalous behavior in your pipeline logs. Most DIB contractors don't have that visibility today.
Where Practitioners Actually Land
Organizations handling CUI or operating under DFARS 252.204-7012 can't choose just one approach. Your NIST SP 800-171 assessment will ask about both: AC-4 (Information Flow Enforcement) covers network segmentation and egress filtering, while SR-3 (Supply Chain Controls and Processes) covers component provenance and integrity verification.
What differs is the sequencing and emphasis. Organizations with mature security programs tend to prioritize pipeline hardening first because it provides defense in depth. They assume their dependency vetting will miss something and design their environment accordingly.
Smaller contractors often start with dependency vetting because it's conceptually simpler and doesn't require re-architecting existing CI/CD workflows. They implement an internal artifact repository, establish an approval process, and consider the problem solved, until they realize that manual review doesn't scale and that approved packages can still be compromised after review.
The most effective implementations use dependency vetting to reduce the attack surface and pipeline hardening to contain the blast radius when vetting fails. You maintain an approved package list, but you also ensure that your build service accounts can't access production credentials. You verify package signatures, but you also monitor for data exfiltration attempts during builds.
Our Take
Start with pipeline hardening. Specifically, start with credential scoping and rotation.
The TeamPCP investigation revealed that global remediation costs from this single campaign are estimated to be hundreds of millions of dollars. Most of that cost came from credential exposure, the group stole Non-Person Entity tokens, API keys, and cloud credentials that had broad, long-lived access to production systems.
If Aqua Security's stolen GitHub token had been scoped to read-only access and rotated daily, the attackers couldn't have pushed a malicious Trivy release. If the PyPI tokens used to poison LiteLLM had been limited to specific packages with 24-hour lifespans, the supply chain event would have been contained.
These are configuration changes, not architectural overhauls. You can implement token scoping and rotation this quarter. Building a comprehensive dependency vetting program takes years.
That said, don't ignore provenance entirely. Under CMMC Level 2, your assessor will expect you to document the origin of critical software components. Start with your highest-risk dependencies, anything that runs with elevated privileges or handles authentication, and work backward from there.
The tradeoff you're making isn't between two perfect solutions. It's between investing in controls that reduce the probability of compromise versus controls that reduce the impact when compromise occurs. In a threat environment where groups like TeamPCP target packages with 180 million weekly downloads, betting on prevention alone is a losing strategy.



