Insights

Behavioral Risk Brief: Arch AUR Repository

The Claim

Governance frameworks that treat package adoption as a routine maintenance mechanism create systemic risk when that same mechanism can transfer control of a trusted package name to an attacker. Zero Trust for Code addresses this by requiring a pre-execution trust decision on what a package does after any change in control, rather than extending trust indefinitely once a package has been established.

The Incident

Attackers began adopting orphaned packages in the Arch User Repository and pushing malicious follow-up commits. The campaign began with the package “openconnect-sso” and expanded to over 120 confirmed malicious packages, including established tools such as boringssl-git, icloudpd, and windscribe-cli-v2-bin. Arch Linux first used disabled package adoption on July 30 to slow the takeovers, then disabled all AUR pushes entirely on August 1 after the activity continued through newly created accounts. The payload is a Rust-based infostealer that exfiltrates browser data, credentials, and cryptocurrency wallets, and spreads further by harvesting SSH access from infected machines. This is the third wave to hit the repository this year, involving over 400 malicious packages and eventually reaching 1,500 by the time the cleanup was complete.

The Governance Failure

The governance failure is not that attackers targeted an open community-maintained repository, but that the mechanism designed to keep abandoned packages alive carries no verification of what that new maintainer intends to do with the trust they are inheriting. A package’s history, download count, and prior clean commits all belong to a previous maintainer whose relationship to the package has already ended.

This is compounded by how naturally this activity blends into the platform’s own design. Adopting an orphaned package and pushing an update is exactly what the system was built to allow, which means the attack does not require any exploit or credential theft, only patience in waiting for packages to go unmaintained and a willingness to register new accounts once old ones are banned. An organization scanning package contents for known malware signatures would find nothing to flag until after a malicious update had already landed.

The underlying breakdown is the absence of a trust decision at the point of when maintainership actually changes hands. This is now the third such wave in a single year, and each occurrence has been addressed by suspending the adoption mechanism itself rather than by verifying what any given maintainer transition introduces. As long as trust transfers automatically with the act of adoption, disabling the feature is the only lever available once an attack is already underway.

The Regulatory and Business Exposure

  • Credential, browser data, and cryptocurrency theft delivered through packages with established, previously trusted histories.
  • Lateral spread across networks through harvested SSH access on infected developer machines.
  • Repeated incidents addressed only by suspending a core platform feature.

What Your Auditors Will Ask

  • How do you validate a package’s behavior after a change in maintainer or ownership, independent of its prior history?
  • What controls detect malicious activity introduced through a legitimate platform mechanism rather than an exploit?
  • How do you account for risk in third-party or community repositories your developers use outside sanctioned channels?
  • What evidence do you maintain that a package was evaluated again after control of it changed hands?
  • How do you respond when a repeated pattern of compromise is addressed by disabling a feature rather than verifying trust directly?

A consistent signal is the disconnect between a package’s accumulated history and what its current maintainer is doing with it. A clean record under a previous owner says nothing about the version published by whoever holds that access now.

Zero Trust for Code Value

Zero Trust for Code introduces a trust decision at the point a package is about to execute, evaluating what it does independent of its maintainership history or how long it has existed in a repository. This means a package earns permission to run based on its current behavior, not on trust accumulated under a maintainer who may no longer control it.

This directly addresses the governance weakness exposed by the AUR campaign: the assumption that a package’s established history remains meaningful after maintainership changes hands. By requiring a pre- xecution trust decision independent of ownership history, organizations can evaluate what a newly adopted or updated package actually does, rather than relying on a platform feature being disabled as the only available response.

The result is a governance model where trust is re-established every time a package changes hands or executes, closing the space a repeated attack pattern has relied on across three separate incidents this year.

Governance Action Brief

  • Establish governance controls that evaluate package behavior independently of accumulated history or prior maintainer reputation.
  • Require a pre-execution trust decision whenever a package’s maintainer or ownership changes.
  • Treat community-maintained repositories as requiring the same execution-level scrutiny as official package sources.
  • Monitor for SSH-based lateral spread originating from developer machines running third-party packages.
  • Maintain a record of package trust decisions evaluated at each maintainership transition, not only at initial adoption.

Sources

Analysis based on reporting from BleepingComputer and Cybernews on the Arch Linux AUR supply chain campaign, CodeHunter Labs evaluation of governance gaps in maintainership-transfer execution trust, and alignment with NIST 800-53 and NIST SSDF.

Download the PDF

Behavioral Risk Brief: Joyfill npm Packages

The Claim

Governance frameworks that treat install-script restrictions as sufficient protection create systemic risk when malicious code is embedded to execute at import rather than install. Zero Trust for Code addresses this by requiring a pre-execution trust decision on what a package does when it runs, regardless of which lifecycle stage triggers that behavior.

The Incident

Malicious beta releases of two legitimate npm packages, “@joyfill/components” and “@joyfill/layouts”, were published to the registry. Rather than relying on a postinstall or preinstall hook, the implant was embedded directly into the compiled distribution bundle. This means it executes the moment the module is imported into a project, not when it is installed. This bypasses the standard defensive flag that disables install scripts since that protection has no effect on code that runs at import time. Once active, the implant resolves its command-and-control address by reading a blockchain transaction, first on Tron and then pivoting to Binance Smart Chain, before deploying a remote access trojan and a separate credential stealer targeting browser data, cryptocurrency wallets, and developer tokens.

The Governance Failure

The governance failure is not that a trusted package was compromised, but that the defensive posture many organizations rely on assumes malicious behavior arrives through a specific, well-known lifecycle stage. Disabling install scripts has become a standard mitigation precisely because so many prior campaigns relied on that mechanism. This implant was built around the assumption that organizations would rely on exactly that control and then move to a stage that the control does not cover.

This is compounded by the choice to resolve command infrastructure through blockchain transactions rather than a fixed address. A hardcoded command-and-control server can be identified, blocklisted, and starved of new instructions once discovered. A transaction-based lookup gives the attacker a way to redirect the payload at any time without publishing a new package version, meaning a security team’s confidence in having identified and blocked the infrastructure may already be outdated the moment it is recorded.

The underlying breakdown is the absence of a trust decision that evaluates what a package does regardless of which lifecycle stage triggers it. Any control anchored to a single execution point, install, import, or otherwise, leaves every other point unexamined, and this campaign demonstrates that attackers will simply relocate to whichever stage current defenses do not reach.

The Regulatory and Business Exposure

  • Bypass of a widely deployed install-script mitigation through code that executes only at import.
  • Command-and-control infrastructure that can be silently redirected without any new package version or registry activity.
  • Exposure of developer credentials, tokens, and cryptocurrency wallets across affected workstations.

What Your Auditors Will Ask

  • How do you validate package behavior at every lifecycle stage, not only at install?
  • What controls would detect an implant that activates specifically because a package is imported?
  • How do you account for command-and-control infrastructure that can change without any new software release?
  • What evidence do you maintain that a package’s behavior was evaluated after import, not only at publication?
  • How do you verify that mitigations built around one execution stage are not simply displacing risk to another?

A consistent signal is the disconnect between where a mitigation was built to work and where an attacker chooses to operate. A control anchored to one execution stage says nothing about what happens at the next one.

Zero Trust for Code Value

Zero Trust for Code introduces a trust decision at the point a package actually executes, evaluating its behavior regardless of whether that execution happens at install, at import, or at any other lifecycle stage. This means a package earns permission to run based on what it does in the moment, not based on which stage a defensive control happens to cover.

This directly addresses the governance weakness exposed by the Joyfill compromise: the assumption that disabling install scripts closes the relevant risk. By requiring a pre-execution trust decision independent of lifecycle stage, organizations can evaluate import-time behavior with the same rigor applied to installation, removing the incentive to simply relocate a payload to an uncovered stage.

The result is a governance model where every execution point carries the same trust requirement, closing the space attackers rely on when one stage is defended and another is not.

Governance Action Brief

  • Establish governance controls that evaluate package behavior at mport, not only at installation.
  • Require a pre-execution trust decision independent of which lifecycle stage triggers execution.
  • Treat install-script restrictions as one control among several, not a complete mitigation on their own.
  • Monitor for command-and-control resolution methods, including blockchain-based lookups, that evade static infrastructure blocking.
  • Maintain a record of package behavior evaluated per execution stage rather than assumed covered by a single control.

Sources

Analysis based on The Hacker News and StepSecurity (July 28-29, 2026) on the Joyfill npm supply chain compromise, CodeHunter Labs evaluation of governance gaps in lifecycle-stage execution trust, and alignment with NIST 800-53 and NIST SSDF integrity control objectives.

Download the PDF. 

Behavioral Risk Brief: Notepad ++

The Claim

Governance frameworks that treat a legitimate, signed application as inherently safe create systemic risk when that application can be paired with malicious components it will execute automatically. Zero Trust for Code addresses this by requiring a pre-execution trust decision on what an application actually loads and runs, rather than extending trust to everything bundled alongside a recognized binary.

The Incident

CERT-UA disclosed a campaign attributed to the threat cluster UAC-0099 that delivers a fake Notepad++ plugin to compromise Windows systems. A phishing email leads victims through a shortened link to a ZIP archive containing a VBScript disguised as a PDF, which displays a decoy document while silently retrieving a second archive. That archive contains a complete and legitimate copy of Notepad++, a malicious DLL named NppExport.dll, and supporting tools. The script launches the genuine Notepad++ binary, which automatically loads the malicious DLL as a plugin. That DLL unpacks additional components and establishes persistence through a scheduled task running every three minutes, ultimately delivering a loader called “BURNYBEAR” and a modified payload tracked as “MATCHBOIL.V2”.

The Governance Failure

The governance failure is not that Notepad++ was impersonated, but that the actual application delivered to the victim is the real legitimate Notepad++ binary that is unmodified and fully functional. Any control built around verifying the identity or signature of the executable being launched would find nothing to object to. The compromise lives entirely in what that legitimate binary is permitted to load and execute once it runs and a layer signature verification is never reached.

This is compounded by how plugin architectures function. A trusted application loading a DLL from its own plugins directory is completely ordinary behavior. It is indistinguishable at launch from any legitimate extension a user might install. Trust granted to the parent executable extends implicitly to whatever it loads next, without a separate decision evaluating what that plugin does once it holds the parent process’s privileges.

The underlying breakdown is the absence of a trust decision at the moment a loaded component begins executing, as distinct from when the parent application launches. This pattern is not unique to Notepad++. Any application with a plugin or module-loading architecture creates the same exposure, and as long as trust is assigned only to the parent process, this technique remains available regardless of which application it is built around.

The Regulatory and Business Exposure

  • Persistent access established through a scheduled task disguised as routine application behavior.
  • Resource exhaustion triggered as a fallback if the malicious loader runs outside expected conditions.
  • Reliance on signature checks that verify the parent application while loaded plugins go unexamined.

What Your Auditors Will Ask

  • How do you validate the behavior of plugins or modules loaded by applications your organization already trusts?
  • How do you distinguish a legitimate binary from the components it is permitted to load once running?
  • What controls detect a scheduled task established through an otherwise trusted application?
  • How do you verify that application allowlisting accounts for what a binary executes after launch?
  • What evidence do you maintain that a loaded plugin’s behavior was evaluated independently of the parent application’s trust status?

A consistent signal is the disconnect between the executable that was verified and the code that actually ran. A legitimate binary passing every identity check says nothing about what it will load once permitted to execute.

Zero Trust for Code Value

Zero Trust for Code introduces a trust decision at the point a loaded component is about to execute, evaluating what that plugin or module will do independently of whether the parent application is legitimate or already allowlisted. A plugin is assessed on its own behavior, not granted the trust status of the executable that loads it.

This directly addresses the governance weakness exposed by UAC-0099: the assumption that verifying a parent application is sufficient because everything it loads inherits that same trust. By requiring a pre-execution decision for loaded components specifically, organizations can stop a
malicious plugin even when the application launching it is entirely legitimate.

The result is a governance model where trust is evaluated at every layer, the parent binary and everything it loads, rather than assumed to flow automatically from one to the other.

Governance Action Brief

  • Establish governance controls that evaluate plugin behavior independently of the parent application’s trust status.
  • Require a pre-execution trust decision for any component loaded dynamically by an approved application.
  • Enforce execution policies covering plugin directories for widely used developer and productivity applications.
  • Monitor for scheduled tasks or persistence mechanisms established through processes descending from trusted applications.
  • Maintain a record of loaded components evaluated separately from the parent binary’s approval.

Sources

Analysis based on reporting from The Hacker News (July 24, 2026) on CERT-UA’s disclosure of the UAC-0099 campaign, CodeHunter Labs evaluation of governance gaps in plugin execution trust, and alignment with NIST 800-53 and NIST SSDF integrity control objectives.

Download the PDF. 

Behavioral Risk Brief: SleeperGem

The Claim

Governance frameworks that treat package name recognition and maintainer history as ongoing proof of safety create systemic risk when a compromised artifact can behave differently
depending on where it executes. Zero Trust for Code addresses this by requiring a pre-execution trust decision on what a package will do in a specific environment, rather than relying

The Incident

Researchers identified malicious versions of three RubyGems packages published to RubyGems.org in a campaign named SleeperGem. One package, “git_credential_manager”, impersonated Microsoft’s official Git Credential Manager, while the other two were Dendreo and a fastlane plugin. Dendreo and the fastlane plugin were legitimate but dormant packages last updated in 2019 and 2020 before malicious updates were pushed from reactivated maintainer accounts. Each release acted as a loader that checked for roughly 30 CI-related environment variables associated with platforms such as GitHub Actions, GitLab, CircleCI, Jenkins, and Vercel. If any were detected, the payload exited; otherwise, it downloaded a second-stage payload from an attacker-controlled host and installed a persistent native daemon on the developer’s machine.

The Governance Failure

The governance failure is not that malicious versions reached the registry, but that the trust in these packages was based on signals that assumed behavior stays constant once established: a recognizable name, a maintainer with account history, and in two cases, years of clean, dormant existence. None of those signals accounted for what a specific installed version would actually do,
and none of them accounted for the possibility that the artifact itself would behave differently depending on the environment it reached.

This is compounded by how the malware was built to defeat exactly the kind of monitoring most organizations rely on. By checking for CI environment variables before acting, the payload was designed to pass cleanly through any build system where automated scanning or sandboxing might catch it and only reveal its actual behavior on a developer’s own machine, typically where that scrutiny is far lighter. An organization that validated this package inside a CI pipeline and considered that it was sufficient would have observed an artifact that did nothing at all.

The underlying breakdown is the absence of a trust decision that accounts for where and how an artifact executes, not just whether it was scanned somewhere at some point. Dependency inheritance made this worse, since developers who never made an explicit decision to install “git_credential_manager” were still exposed to it through other packages that quietly pulled it in. Trust extended once, at the point a dependency was declared, without any mechanism to re-evaluate what that dependency introduced later.

The Regulatory and Business Exposure

  • Persistent, unauthorized access to developer machines through a native daemon installed outside CI-monitored environments.
  • Compromise inherited through dependency relationships, exposing organizations that never directly installed the malicious package.
  • Reliance on maintainer history and package dormancy as safety signals, providing no evidence of current version behavior.

What Your Auditors Will Ask

  • How do you validate what a package will do differently across CI environments versus developer workstations?
  • How do you account for risk introduced through transitive dependencies your teams never directly selected?
  • What controls detect a long-dormant package receiving updates after years of inactivity?
  • How do you verify that a package’s behavior in a monitored build environment reflects its behavior everywhere else it runs?
  • What evidence do you maintain that execution was evaluated on developer machines specifically?

A consistent signal is the disconnect between where an organization’s monitoring is strongest and where an artifact actually executes. Confidence built entirely on CI-level scrutiny leaves developer machines, where this payload was designed to activate unexamined.

Zero Trust for Code Value

Zero Trust for Code introduces a trust decision at the point where a package is about to execute, evaluating what it will do in that specific environment rather than relying on a name, a maintainer’s history, or a scan performed somewhere else entirely. This means a package is assessed for what it does on the machine where it actually runs, whether that machine is a CI
runner or a developer’s own workstation.

This directly addresses the governance weakness exposed by SleeperGem: the assumption that an artifact behaves the same way everywhere, and that reputation signals such as account age or
years of dormancy are evidence of safety rather than simply an absence of prior scrutiny. By requiring a pre-execution trust decision independent of environment, organizations can evaluate
what a package attempts to do on a developer machine even when that same package does nothing at all inside a monitored CI pipeline.

The result is a governance model where trust is assessed at every point of execution rather than inherited once from a dependency declaration or a clean publishing history. This closes the
distance between where an organization is confident and where an artifact is actually running.

Governance Action Brief

  • Establish governance controls that evaluate package behavior separately for CI environments and developer workstations.
  • Require a pre-execution trust decision for transitive dependencies, not only for packages directly declared by a project.
  • Enforce execution policies on developer machines with the same rigor currently applied to CI/CD pipelines.
  • Treat maintainer account age, package dormancy, and prior clean history as insufficient evidence of current version safety.
  • Maintain a record of what a package was permitted to execute, evaluated per environment rather than assumed uniform across all of them.

Download the PDF

Sources

Analysis based on reporting from The Hacker News (July 20, 2026) and CodeHunter Labs evaluation of governance gaps in environment-dependent execution trust, and alignment with NIST 800-53 and NIST SSDF integrity control objectives.

Behavioral Risk Brief: Disguised npm Packages

The Claim

Governance frameworks that scan for malicious behavior only at install time create systemic risk when registries are used as free hosting for artifacts that never touch a build pipeline. Zero Trust for Code addresses this by requiring a pre-execution trust decision on what an artifact does when it runs, regardless of whether it runs during installation, in a browser, or anywhere else code is permitted to execute.

The Incident

Researchers at JFrog identified 141 npm packages in May, later growing to 148 by July, published under names branded as student tools to bypass school web filters. The packages carried no install scripts or lifecycle hooks and were never meant to be imported into a project, instead hosting a client-side proxy web app that visiting browsers loaded directly, using npm purely as a content delivery mechanism. Underneath the proxy sat two hidden modules: one fetched remote JavaScript from a mutable, unpinned GitHub branch and executed it with the site’s full origin privileges, while the other opened up to 1,024 WebSocket connections per browser tab targeting a proxy protocol server, exhausting its resources rather than the visiting student’s own device. A second wave of packages published in July restored the adware
functionality while leaving the remote loader in place, still pointed at the same branch.

The Governance Failure

The governance failure is not that malicious packages reached the registry, but that the entire model of software trust assumed a package’s risk lives at install time. Dependency scanners, install-time sandboxes, and lifecycle hook monitoring are built around a single execution surface: what happens when a package is pulled into a project and run through “npm install”. These packages never triggered that surface at all, because they were never designed to be installed as dependencies in the first place.

This exposes a second, more persistent gap. The remaining packages still load a script from a mutable branch with no integrity verification. Whoever controls that branch can change what every visiting browser executes at any time, without publishing a new package version, without triggering a new npm scan, and without leaving any trace in a lockfile or manifest that a security team would think to review. The registry’s admission process, and any monitoring built around package versions, has no visibility into a artifact that can be silently re-armed downstream of the point where every existing control is watching.

The underlying breakdown is the assumption that an artifact’s trustworthiness is fixed at the moment it is scanned and published. Trust granted to a package version does not account for content the package points to but does not contain, and it does not account for a second execution surface, the browser, that operates entirely outside the tooling built to govern developer environments. As long as an artifact can behave one way during review and a different way once deployed, scanning at any single point in time cannot be the control that decides what is allowed to run.

This gap keeps showing up in different forms across different ecosystems. For a broader look at why origin-based trust controls keep falling short, see Taking Down the Botnet Doesn’t Answer the Harder Question.

The Regulatory and Business Exposure

  • Execution of unreviewed, remotely mutable code within enterprise or school network browser sessions.
  • Resource exhaustion and denial-of-service impact carried out through end-user browsers rather than compromised infrastructure.
  • Continued exposure to artifacts that can be altered after publication without triggering any package-level review or re-scan.

What Your Auditors Will Ask

  • How do you validate the behavior of artifacts that execute in a browser rather than at install time?
  • How do you account for registries or repositories being used to host content outside their intended package format?
  • What controls detect a referenced script changing after the artifact that points to it was last reviewed
  • How do you determine whether an approved artifact can still alter its own behavior post-publication
  • What evidence do you maintain that execution behavior was evaluated at the point it runs, not only at the point it was published?

A consistent signal is the disconnect between where an organization’s controls are looking and where an artifact actually executes. Trust concentrated entirely at install time leaves every other execution surface unexamined.

Zero Trust for Code Value

Zero Trust for Code introduces a trust decision at the point where an artifact is about to execute, regardless of whether that execution happens during installation, inside a browser, or through any other surface a registry or repository makes available. This means a package is assessed on what it does when it runs, not on whether it matches the narrow category of behavior a scanner was built to catch.

This directly addresses the governance weakness exposed by the student proxy campaign: the assumption that install-time review is sufficient because it is the only execution surface most controls were designed to watch. By requiring a pre-execution trust decision independent of where or how code runs, organizations can evaluate a referenced script’s behavior at the moment it executes, even when that script can change after the artifact pointing to it was last reviewed.

The result is a governance model where execution is evaluated wherever it occurs, closing the distance between what was published and what actually runs on any given day, rather than assuming the two remain the same after the fact.

Governance Action Brief

  • Establish governance controls that evaluate artifact behavior at every execution surface, not only at install time.
  • Require a pre-execution trust decision for any code an artifact references or loads dynamically, including content served from mutable or unpinned sources.
  • Enforce execution policies for browser-based sessions on managed networks, not solely for developer workstations and CI/CD environments.
  • Monitor for registries or repositories being used as hosting infrastructure for artifacts outside their intended package format.
  • Maintain a record of what an artifact was permitted to execute, independent of whether its underlying content has since changed.

Download the PDF

Sources

Analysis based on reporting from The Hacker News (July 14, 2026) and CodeHunter Labs evaluation of governance gaps in post-publication execution trust.

 

Behavioral Risk Brief: PolinRider Campaign

The Claim

Governance frameworks that treat software supply chains as trusted by default create systemic risk when trust can be transferred, inherited, or re-established without independent validation. Zero Trust for Code addresses this by enforcing behavioral controls at execution, ensuring that trust is continuously verified rather than carried forward from prior assumptions.

The Incident

North Korean threat actors linked to the Contagious Interview campaign have published 108 malicious packages and extensions across npm, Packagist, Go modules, and Chrome ecosystems as part of an operation known as PolinRider. The campaign combines maintainer account compromise, repository modification, malicious package releases, and developer-focused delivery techniques to establish access within development environments. Researchers identified 162 malicious release artifacts and nearly 2,000 compromised GitHub repositories associated with the activity. In some cases, malicious VS Code tasks executed automatically when a project folder was opened, enabling code execution through trusted development workflows.

The Governance Failure

The governance failure is not the publication of malicious packages, but the absence of controls that continuously validate software trust throughout the development lifecycle. Organizations often rely on repository reputation, maintainer history, package popularity, or prior approval decisions as indicators of integrity. These signals establish trust once but rarely verify that trust remains valid as ownership changes, updates are released, or dependencies evolve.

This challenge is amplified by modern development practices that automate software consumption at scale. Packages, modules, extensions, and project dependencies frequently enter environments through trusted workflows without meaningful review of the actions that they are capable of performing. As software ecosystems become increasingly interconnected, a single compromise can appear through development environments, build systems, and downstream applications while appearing operationally normal.

The underlying breakdown is the lack of enforceable policy governing what imported code is allowed to do after execution begins. Once software is accepted into the environment, organizations often have limited control over how it accesses credentials, interacts with repositories, modifies configurations, or executes additional payloads. This creates a condition where trust decisions become persistent, while risk remains dynamic and capable of evolving over time.

This pattern has played out before across different ecosystems and threat actors. For a related look at how trusted developer access becomes the primary attack vector, see Taking Down the Botnet Doesn’t Answer the Harder Question.

The Regulatory and Business Exposure

  • Compromise of developer environments through trusted software supply channels.
  • Exposure of credentials, source code, and intellectual property assets.
  • Increased risk of downstream software contamination across build and deployment pipelines.
  • Loss of assurance in trusted models.

What Your Auditors Will Ask

  • How do you detect unexpected maintainer changes or ownership transfers in trusted software packages?
  • How do you identify development tools performing actions outside established development and deployment workflows?
  • What controls detect repository updates that introduce obfuscated code or concealed execution paths?
  • How do you validate that package behavior aligns with its documented purpose and intended functionality?
  • How do you verify software provenance and ensure trusted artifacts are not exhibiting anomalous or unauthorized behavior?

A consistent signal is the disconnect between software provenance and software behavior. Artifacts that appear legitimate based on source or history begin performing actions that exceed their expected operational scope.

Zero Trust for Code Value

Zero Trust for Code introduces a trust decision at the point before software is allowed to execute, this ensures that imported code, dependencies, and development tooling are evaluated against policy before any action is taken, rather than monitored for intent as events unfold. Rather than relying on maintainer reputation or package history, it validates whether an artifact should be permitted to run at all.

This directly addresses the governance weakness exposed by PolinRider: the assumption that trusted software ecosystems remain trustworthy over time. By requiring a pre-execution trust decision, organizations can prevent compromised packages from ever reaching the point of accessing sensitive data, modifying environments, or launching secondary actions, regardless of the channel they arrived through.

The result is a governance model where trust is decided before code runs rather than inferred from provenance, reducing reliance on software history alone and ensuring that supply chain compromise does not translate into permitted execution.

Governance Action Brief

  • Establish governance controls that validate software behavior independently of repository trust.
  • Require continuous verification of package updates, maintainer changes, and dependency lineage.
  • Enforce execution policies for development environments, IDEs, and build systems.
  • Monitor for hidden execution paths triggered through project configuration and automation features.
  • Treat developer workstations as high-value environments requiring behavioral enforcement controls.

Sources

Analysis based on BleepingComputer reporting (July 3, 2026) on the North Korea-linked PolinRider campaign, and CodeHunter Labs evaluation of governance gaps in post-compromise execution and persistence control.

Download the PDF. 

Zero Trust for Code Starts With Understanding Intent

The software supply chain has become one of the most targeted attack surfaces in modern security. As organizations rely more heavily on third-party components, open-source libraries, and automated CI/CD pipelines, attackers have shifted their tactics to exploit trust itself. Malware today is no longer defined by static signatures or known indicators. It is adaptive, AI-generated, and designed to look entirely legitimate until it is too late.

Traditional tools that focus on what code looks like or where it came from are working from the wrong starting point. They make security decisions based on appearance and origin, and sophisticated threats are built specifically to pass those checks.

CodeHunter is proud to be named a winner of the 2026 Global InfoSec Award for Next-Gen Behavioral Malware Analysis at the RSAC 2026 Conference. This recognition reflects a fundamental shift in how code must be evaluated and controlled before it is authorized to run.

Verifying Intent with Zero Trust for Code

Zero Trust for Code starts from a different premise than traditional security tools. Instead of assuming software is safe because of its reputation, its origin, or how it looks, the framework holds that every artifact is untrusted by default. Trust is not conferred. It is earned through behavioral verification.

CodeHunter’s behavioral intent analysis deconstructs any software artifact, whether a binary, script, container, package, or AI-generated file, to surface its full behavioral capability. Every system interaction, network behavior, privilege operation, and persistence mechanism is identified before the execution decision is made. The result is a deterministic verdict: Allow, Block, Contain, or Escalate. Backed by forensic evidence. Auditable. Tied to explicit policy. This is what makes Zero Trust for Code actionable rather than theoretical.

Why Intent Is the Only Reliable Standard

Not all threats behave the same way, and that variation is intentional. Advanced threats are built to be stealthy, to blend into normal activity, to delay execution until trigger conditions are met, and to leverage legitimate system processes so their behavior does not stand out. Appearance-based controls cannot reliably catch threats designed to look legitimate. Origin-based controls cannot catch threats delivered through compromised but trusted channels.

The only standard that holds across all of these scenarios is behavioral intent: what is this code actually designed to do? When the analysis is pre-execution and the verdict is deterministic, there is no window for a sophisticated threat to exploit. The code is evaluated before it runs, and the decision is made by policy rather than by default.

Proactive Security Across the Full Lifecycle

Pre-execution behavioral intent analysis is not a single point control. It applies consistently across internal development artifacts, third-party dependencies, endpoint executables, and cloud workloads. The same behavioral standard governs code in the CI/CD pipeline and code on a remote laptop.

That consistency closes the gaps between development and production that attackers have learned to exploit. It reduces manual triage because verdicts are deterministic rather than probabilistic, and it transforms behavioral analysis from something that happens after an alert into something that prevents the alert from being generated in the first place.

Winning this award reinforces what CodeHunter customers already know. The future of security depends on asking a better question: not has this been seen before, but what can this software do? When you understand intent, Zero Trust for Code becomes actionable. When Zero Trust extends to code execution, prevention becomes possible. Read the full press release here.

Moving Behavioral Analysis Upstream: Pre-Execution Defense in CI/CD and Beyond 

The way software enters the enterprise has fundamentally changed. Organizations are no longer installing a handful of vetted applications. They are moving thousands of executable artifacts through CI/CD pipelines at machine speed, and when code volume increases this rapidly, the traditional window security vetting collapses. Waiting on sandbox detonation or a signature match becomes a bottleneck that most teams eventually bypass just to keep pace with production. That bypass is where the risk lives.

The Problem with Reactive Vetting

Most supply chain security focuses on who signed the code or what the code looks like compared to known threats. In a modern environment where AI-generated code and mutating artifacts are routine, those indicators are easily spoofed or bypassed. A signed binary from a compromised vendor is still a signed binary. An AI-generated payload carrying no prior signature clears every pattern-matching check in the stack.

If analysis only happens at the endpoint, security is already playing catch-up. By the time an artifact executes, the risk is live, and moving analysis upstream, into the development and delivery pipeline before code reaches a production environment, is the only approach that changes the sequence from reactive to preventive.

Our  recent announcement on software supply chain security  reflects exactly that logic. It is not a pivot in our technology. It is the logical extension of the behavioral intent analysis CodeHunter has always practiced, applied to the point in the software lifecycle where intervention still matters.

Deterministic Decisions, Not Guesses

CodeHunter has never relied on signature matching. Behavioral intent analysis deconstructs what an artifact is programmatically capable of doing, producing a Behavioral Intent Profile that captures the full range of behaviors the artifact can exhibit.

  • Does a signed binary attempt privilege escalation have no business performing?
  • Does an internally developed tool initiate unexpected network connections?
  • Does an AI-generated package exhibit persistence mechanisms that were never part of its specification?

The results are deterministic, and every verdict is explainable and auditable. Security leaders know exactly why an artifact was blocked or contained, not just that an algorithm assigned it a high-risk score. In an era of black-box security tools, that transparency is not a nice-to-have. It is a requirement for any execution decision that has to hold up to compliance review

Closing the Loop: From Pipeline to Production

Moving analysis upstream is essential for prevention, but a complete strategy also requires consistency across the entire software estate. The same behavioral engine that evaluates artifacts in the CI/CD pipeline is also used to resolve noise in your existing security stack. When SentinelOne or Microsoft Defender triggers an alert on a suspicious or unknown file, CodeHunter automatically pulls that artifact for deep behavioral intent analysis. The verdict is issued against the same Behavioral Intent Profile standard, whether the file was found in a developer’s build or on a remote endpoint.

That consistency produces three practical outcomes. First, operational consistency: a single authoritative verdict regardless of where the artifact was discovered, eliminating the scenario where pipeline security and endpoint security are working from different assumptions. Second, response speed: automated analysis of EDR alerts produces a deterministic verdict in minutes, removing the analyst triage step that slows incident response. Third, unified visibility: when a threat found by your EDR matches behavioral capabilities seen earlier in your CI/CD pipeline, you see it, and the connection between upstream and downstream is visible and documented.

Pre-Execution Trust Across the Full Lifecycle

By integrating behavioral intent analysis into CI/CD workflows while simultaneously supporting SOC teams with automated artifact analysis, CodeHunter enables organizations to enforce execution policy at every stage of the software lifecycle. Every artifact is untrusted by default. Trust is earned through behavioral verification. That principle applies in the pipeline before deployment, at the endpoint before execution, and everywhere in between.

Find out how CodeHunter integrates behavioral intent analysis directly into your DevSecOps workflow.

2025 Cybersecurity Predictions: The Year Zero Trust for Code Becomes Unavoidable

2024 was a defining year for cybersecurity, with significant breaches, meaningful defense wins, and a threat landscape that continued shifting faster than most organizations could track. The MOVEit vulnerability demonstrated how a single flaw in widely used software can cascade across hundreds of organizations simultaneously. Coordinated government action disrupted several prominent criminal operations. The lessons from both sides of that ledger are shaping what 2026 demands from security teams.

Like the threats it defends against, this industry is always moving. Here is what the current trajectory points toward.

AI-Generated Code Risk Becomes a Board-Level Governance Question

Generative AI has changed the threat landscape in two directions at once. For attackers, it has lowered the barrier to producing functional malicious code to nearly nothing. AI-generated variants that carry no prior signature arrive continuously, and they evade detection tools built around recognition. For defenders, AI assists with pattern recognition, accelerates analysis, and helps security teams process volumes of data that would otherwise overwhelm them.

The governance gap sits between those two realities. AI coding tools generate executable artifacts that enter development pipelines faster than any manual review process can evaluate them. In 2026, that gap reaches the board level. Executives and compliance teams will begin asking for documented, policy-backed answers about what AI-generated artifacts are running in their environments and what standard governs their authorization.

Behavioral Intent Analysis Replaces Signature-Dependent Approaches

Signature-based detection identifies what it has already seen. AI-generated code, novel variants, and purpose-built payloads are specifically designed to be things that have not been seen before, and that structural mismatch between a recognition-based defense and a novelty-based offense is not going to resolve in favor of signatures.

Behavioral intent analysis asks a different question: what is this artifact designed to do? It does not require prior knowledge of the threat, deconstructs the artifact itself to surface behavioral capability before execution is authorized, and produces a deterministic verdict rather than a probability score. The combination of pre-execution behavioral analysis and automated artifact deconstruction is what allows SOC teams to move quickly between identification, containment, and response without being overwhelmed by volume.

Agentic Workflows Emerge as a Distinct Security Category

Agentic workflows, AI systems that autonomously generate and execute code without a human authorization step, are creating a supply chain risk category that existing controls were not designed to govern. An agentic pipeline that retrieves an external package and executes it. An AI coding tool that generates a script and runs it immediately. A development pipeline where AI-generated contributions are merged and deployed without a behavioral verification gate. Each of these scenarios introduces executable artifacts into production environments through trusted internal channels, without any behavioral verification step, and agentic supply chain risk will surface as a distinct security category in 2025.

Pre-Execution Enforcement Becomes the Practical Answer to Detection Overload

SOC teams are not going to scale their way out of the volume problem. Adding analysts does not keep pace with the rate at which AI generates new, signature-free threats. Moving enforcement upstream, to the execution layer, is the answer that scales. When artifacts are evaluated and a verdict issued before they run, fewer alerts are generated downstream, and the SOC receives genuine escalations rather than noise from code that should never have been authorized to execute in the first place.

Automation empowers security teams to operate at the speed of modern threats demand. Zero Trust for Code is the framework that makes that automation purposeful. Find out how CodeHunter applies to your existing security stack.

Software Supply Chain Security: Why Pre-Execution Defense Is the Missing Layer 

Software supply chain attacks are on the rise, and the reason is straightforward. A successful attack on any single link in the chain can spell disaster downstream. As software becomes more complex and interconnected, attackers have more entry points, more trusted channels to exploit, and more cover for the code they introduce.

The deeper problem is structural. Most cybersecurity solutions available today are built to detect known threats. By the time a security team identifies a new attack, the effects have already traveled down the chain. Reactive defenses that wait for something to look wrong are not a supply chain security strategy. They are a cleanup plan.

Defending software supply chains requires answering a question that existing tools were never designed to ask: what will this code do when it executes?

Trusted Sources Are Not Trusted Behavior

Threat actors approach supply chain attacks by undermining code signing, forging their way into a software supply chain under the guise of a known and trusted author. The fundamental problem is that organizations extend trust based on where code came from rather than what it will do.

CodeHunter operates on a different principle: every artifact is untrusted by default, regardless of its source. Where a manual check or preconfigured rule might wave through code from a trusted vendor, CodeHunter’s pre-execution behavioral analysis evaluates what that code is capable of doing before it is allowed to run, every time, without exception.

Software updates present the same risk. A threat actor who compromises a vendor’s update pipeline delivers malicious behavioral capability through a channel the target organization has explicitly trusted. Combing through every update manually would be prohibitively slow and expensive. CodeHunter deconstructs the artifact’s behavior automatically, issuing a deterministic verdict in a fractionof the time it would take an analyst to complete the same review.

Open-Source Code Is Not an Exception

Compromised open-source code is one of the most underestimated supply chain risks. The Linux backdoor discovered in the XZ Utils compression library is a clear example: a single contributor embedded a backdoor into widely trusted code that had been in use for years. Researchers caught it before it reached production systems, but that outcome was fortunate rather than systematic.

The sheer scope of open-source dependencies makes manual review impractical at scale. CodeHunter can be configured to automatically scan entire directories and networks, locally or in the cloud, to identify behavioral capabilities that should not be there. The question is never whether the code looks familiar. The question is what the code will do.

What Humans Miss, Behavioral Intent Analysis Catches

Valid credentials were the preferred initial access technique of cybercriminals last year, with a 71% increase in attacks leveraging stolen account access. Information stealers that harvest those credentials are often delivered through code that looks entirely legitimate. CodeHunter’s pre-execution behavioral analysis evaluates what code is capable of doing at the artifact level, not the filename level. Suspicious behavioral capability is surfaced regardless of how the artifact is packaged, named, or signed.

Unknown Threats Have Behavioral Signatures Too

Not every supply chain threat arrives with a known fingerprint. Behavioral intent analysis does not depend on prior knowledge of the threat. It deconstructs the artifact to surface what it is programmatically designed to do, and a trojan that has never been catalogued still has behavioral characteristics that are present in the artifact before it ever runs.

The Cost of Letting Threats Sit Undetected

The SolarWinds attack remains the clearest illustration of what delayed detection costs. Eighteen thousand customers unknowingly downloaded a malicious update, and the intrusion went undetected long enough to cause an estimated $90 million in insured losses. IBM put the average cost to remediate a software supply chain compromise at $4.63 million in 2023. The earlier a malicious artifact is identified, the less damage it causes, and CodeHunter is designed to catch artifacts at the threshold, before they execute, not after the damage is done.

Empower Your Software Supply Chain Security

CodeHunter’s combination of scalability, automation, and pre-execution behavioral analysis makes it the practical defense for organizations that cannot afford to let signed, trusted-looking code run unchecked. Speak with our team to learn more about how CodeHunter applies Zero Trust for Code to software supply chain security.

Defense-in-Depth in 2026: Adding the Execution Control Plane Above EDR

The probability of encountering advanced code-based threats, including zero-day exploits, multi-stage payloads, and purpose-built attacks, continues to rise. Threat actors persist in finding new ways into secured corporate networks, and services that offer ready-made attack infrastructure have made sophisticated campaigns accessible to actors with limited technical backgrounds of their own.

For organizations to stay ahead of a breach, a multi-layered security posture is not optional. It is the baseline. Defense-in-depth, the practice of combining multiple layers of controls that compensate for each other’s limitations, remains the right strategic framework. The question in 2026 is not whether to practice defense-in-depth, but whether the layers you have actually cover the execution surface where modern attacks land. Most do not. The missing layer is the execution control plane.

Where the Existing Layers Perform Well

Before addressing the gap, it is worth being precise about what existing defense-in-depth layers do well, because Zero Trust for Code complements the stack rather than replacing it.

Cybersecurity awareness training reduces the human error that attackers exploit through social engineering and phishing. Network segmentation limits an attacker’s ability to move laterally after gaining initial access. Regular patching reduces the window of exposure on known vulnerabilities. Multi-factor authentication adds meaningful friction to credential-based attacks. EDR provides visibility into behavior at the endpoint and detection of anomalies after execution begins.

Each of these layers is valuable. Each one also operates either before an artifact enters the environment or after it has already executed. None of them systematically answers the question that should gate execution: what will this code do when it runs?

The Gap in the Stack

Traditional security measures do a reasonable job identifying known threats. They are not designed to evaluate complex, novel, or AI-generated artifacts that carry no prior signature, and the gap is structural. Existing layers cannot catch what they do not know to look for.

Behavioral intent analysis addresses this gap directly. Rather than comparing an artifact against a catalog of known threats, it deconstructs the artifact to surface what it is programmatically capable of doing. That capability profile is what should drive the execution decision, not the artifact’s resemblance to something previously observed. The analysis sits above EDR, authorizing what is allowed to execute before downstream detection tools ever see it.

How CodeHunter Strengthens Defense-in-Depth

CodeHunter’s patented behavioral intent analysis automates the artifact deconstruction process that previously required months of expert work. Operating at binary code level, the platform evaluates any executable artifact, whether a binary, script, container, package, or AI-generated file, and produces a deterministic verdict: Allow, Block, Contain, or Escalate. That verdict arrives before execution, and the forensic evidence behind it is auditable and mapped to MITRE ATT&CK.

Applied across the defense-in-depth stack, this means every artifact entering the environment is evaluated for behavioral capability before execution is authorized, closing the window that attackers have learned to exploit between delivery and detection. SOC teams receive fewer alerts from code that should never have been permitted to run. Compliance teams have a documented, policy-backed record of every execution decision. DevSecOps teams catch risky artifacts in the CI/CD pipeline before they reach production, replacing post-incident response with pre-execution enforcement.

The Execution Control Plane as the Missing Layer

Zero Trust for Code is the framework that makes defense-in-depth complete. It does not replace the layers already in your stack. It fills the gap those layers leave open, which is the execution authorization decision that has historically been made by assumption rather than by policy.

Every artifact is untrusted by default. Trust is earned through behavioral verification. The verdict is deterministic. The evidence is forensic. That is what it means to govern the execution layer rather than hope for the best about it. Speak with the CodeHunter team to learn how pre-execution behavioral intent analysis integrates into your existing defense-in-depth strategy.