Every software team faces a hidden crisis: you are trusting code you didn’t write and can’t see. Your application likely pulls in thousands of dependencies from npm, PyPI, and Maven—and in 2025, these public repositories have become a primary battleground.
While the SolarWinds breach served as a wake-up call for better Software Supply Chain security, the threat has since mutated into something far more pervasive. We are no longer just fighting sophisticated nation-states; we are fighting AI volume.
In the last year alone, poisoned library attacks have surged by 156%, driven by AI tools that can mass-produce such attacks. Attackers are even exploiting 'AI Package Hallucinations,' registering fake libraries that your developers’ own coding assistants mistakenly recommend.
The question isn't if a developer will pull a malicious package or if the delivered software will call it, but when. With 80-90% of modern code composed of prebuilt packages, you are assembling software from parts you didn't write—or having an LLM write them for you.
The challenge is no longer just whether your dependencies are compromised, but whether you even have the visibility needed to ensure your final deliverable functions securely and only as intended. You must be able to test, attest, and verify the full capabilities of your software—good or bad. You need an automated defense that can see these threats.
Traditional security tools are failing. CVE scanners only catch known vulnerabilities. Self-attestation from vendors provides no technical proof. And transitive dependencies—the packages your software depends on— create an invisible attack surface.
UC Software Scan changes the equation entirely. Built on DARPA-developed technology, it analyzes the functional behavior of every binary component in your software supply chain, detecting malicious code that has never been seen before.
The Hidden Threat in Your Dependencies
Modern software development runs on open-source packages. A typical enterprise application pulls hundreds or thousands of dependencies from public registries like npm, pip, Maven, Cargo, Go modules, Ruby gems, and NuGet. These packages accelerate development, but they also introduce risk at scale.

Attackers actively target package registries with typosquatting, dependency confusion, and maintainer account compromises. A single malicious package buried deep in your dependency tree can exfiltrate credentials or install backdoors directly into your software project.
Worse, these attacks often target transitive dependencies—the 'dependencies of your dependencies.' These are packages you never saw, never vetted, and never explicitly chose, yet they account for the vast majority of your codebase. Because modern package managers automatically execute installation scripts, these invisible libraries run with full privileges inside your build pipeline the moment they are downloaded, turning your own CI/CD infrastructure into the attacker's launchpad."
Poisoned Pipeline Execution (PPE) attacks exploit this trust model. Attackers inject malicious instructions into CI/CD configuration files or dependency manifests, executing harmful commands during the build process without ever needing to modify your application logic. By the time the software ships, the compromise is baked into the binary.
Why Traditional CVE Scanners Fall Short
Most DevSecOps teams rely on traditional Software Composition Analysis (SCA) as their primary defense against dependency risks. At their core, these tools act as CVE scanners with added capabilities: they check package manifests against databases of known vulnerabilities.
While some newer tools offer 'reachability analysis' or reputation scoring to prioritize alerts, they all share a critical flaw: they fundamentally rely on matching known threats. They are blind to the 'unknown unknowns'—the zero-day malware and supply chain attacks that happen in the critical gap before a threat is analyzed, cataloged, and indexed.

Zero-day implants, novel backdoors, and targeted attacks bypass CVE databases entirely. If a threat actor injects malicious code into a package today, it will not appear in any CVE database until security researchers discover, analyze, and report it—a reactive process that creates a window of exposure lasting weeks, months, or even years.
Furthermore, standard SCA scanners fail to analyze what the code actually does. They merely compare package names and versions against a list. They do not examine the binary instructions, register manipulations, or memory operations that define malicious behavior, nor do they map this through genomic knowledge of shared functions.
The fundamental problem is one of visibility. Dependency scanners see metadata. They do not see execution behavior.
Functional Analysis: Seeing What Code Actually Does
UC Software Scan takes a fundamentally different approach. Rather than relying on known signatures or CVE databases, it performs deep functional analysis of binary code: examining what every function does at the register and memory level.
This technology originated from DARPA-funded research into advanced malware detection. The core insight is that malicious code must eventually perform observable operations: writing to memory, manipulating registers, making system calls, establishing network connections. By analyzing these functional behaviors rather than superficial code patterns, UC Software Scan identifies threats based on what they do, not what they look like.

The system builds a functional identity of your software supply chain. This identity captures the precise behavioral characteristics of the code: its register effects, memory operations. When a package contains hidden functionality inconsistent with its stated purpose, UC Software Scan detects the anomaly.
This approach catches:
- Zero-day implants with no existing signatures
- Obfuscated malware designed to evade pattern matching
- Trojanized packages that appear legitimate but contain hidden backdoors
- State-sponsored threats using novel techniques
In other words, UC Software Scan finds the threats that other tools cannot see.
From Trust to Truth: Meeting New Federal Mandates
The regulatory landscape is shifting decisively toward technical verification. NIST SP 800-218 Revision 1 establishes strict new requirements for secure software development. The real enforcement mechanism lies in NIST IR 8397.
Executive Order 14306 reinforces this direction, requiring federal agencies and contractors to move beyond 'trust-based' attestation. It mandates the use of automated tools to verify the 'security of the software itself'—specifically requiring the verification of 'binaries, bytecode, and executables' as defined in NIST IR 8397 Task 2.11.
The era of 'trust us' is ending. Binary-level technical proof is now the standard.
UC Software Scan provides that proof. Every scan generates detailed reports documenting the functional behavior of each component—even where source code is unavailable—providing auditable evidence that your software supply chain has been verified against malicious code. This documentation supports compliance with:
- NIST SP 800-218 Rev 1 (Secure Software Development Framework)
- NIST IR 8397 Task 2.11 (Mandatory Library Verification)
- Executive Order 14306 (Automated AI-driven verification)
- NIST SP 800-161 (Supply Chain Risk Management)
For organizations selling to government agencies, this level of binary verification is no longer optional: it is the specific technical control required to do business.
Seamless CI/CD Integration
Security tools that slow down development do not get used. UC Software Scan integrates directly into modern DevSecOps workflows through GitHub Actions and other CI/CD platforms, enabling automated scanning on every build.

The integration model is straightforward:
- Add the UC Software Scan action to your GitHub workflow
- Configure scanning parameters for your dependency ecosystems
- Receive automated results with every pull request and merge
Scans run in parallel with your existing build processes, flagging suspicious components before they reach production. Development teams receive immediate feedback without context-switching to external security portals.
UC Software Scan supports the full spectrum of modern package ecosystems:
- npm for JavaScript and TypeScript
- pip for Python
- Maven for Java
- Cargo for Rust
- Go modules for Golang
- Ruby gems for Ruby
- NuGet for .NET
This breadth of coverage ensures that regardless of your technology stack, every dependency in your supply chain receives the same rigorous functional analysis.
Securing Your Software Supply Chain
The threats facing software development organizations are real, sophisticated, and growing. Poisoned dependencies represent one of the most effective attack vectors available to adversaries, precisely because they exploit the trust relationships that make modern development possible.
UC Software Scan delivers the visibility and verification that traditional tools cannot provide. By analyzing the functional behavior of every binary component, it detects malicious code that has never been seen before: providing genuine security rather than compliance theater.
The shift from trust to truth is not a future trend. It is happening now. Organizations that adopt technical verification today will be positioned to meet regulatory requirements, protect their customers, and maintain the integrity of their software products.
Ready to see what's hiding in your dependencies? Contact our team at [email protected] or visit our Software Scan product page to schedule a demonstration.
