Registry-fetch placement, not periodic scanning
Sits in the fetch path between the build and the public registry. Tampered packages never reach the build. Different from periodic SCA scanning, which detects after the fact.
Checkmarx • Application security
Checkmarx Malicious Package Protection blocks typosquatting, dependency-confusion, and known-malicious package attacks at registry-fetch time, before the build sees them, with a curated threat feed that updates continuously across npm, PyPI, Maven Central, NuGet, Go, and more.
A Merito Malicious Package Protection engagement maps the actual fetch path across CI, developer machines, and artifact proxies, registers internal package namespaces, and wires the checkpoint so supply-chain attacks get blocked at fetch time rather than detected weeks later by SCA.
What it is
Checkmarx Malicious Package Protection is the fetch-time guard among Checkmarx One's supply-chain products. It sits in the package-fetch path between the developer or CI build and the public registry (npm, PyPI, Maven Central, NuGet, Go modules, Gem, Cargo, Composer) and blocks typosquatting attacks, dependency-confusion attacks, and known-malicious packages before the build resolves them. The placement matters, because a tampered package that never reaches the build never executes anywhere.
Typosquatting is the dominant attack pattern. Attackers publish a package with a name one keystroke away from a popular library (lod4sh instead of lodash, requets instead of requests, electron-builder vs electron_builder) and wait for typo-driven installs. Once installed, the malicious package executes on developer machines, CI runners, and eventually production. Periodic SCA scanning catches these after the fact when the CVE database catches up; Malicious Package Protection blocks them at fetch time before the developer notices.
Dependency confusion is the second pattern. When an internal package and a public package share a name, package managers will fetch the public one if it has a higher version number. Attackers publish public packages with the same names as known internal packages and wait for the build to fetch theirs instead. Checkmarx maintains a list of known internal namespaces and blocks public packages that masquerade as them. Programs that have been hit by dependency confusion typically discover it weeks after the breach.
Placement decides whether Malicious Package Protection works. The product needs to sit in the actual fetch path, which means CI build agents, developer machines, and any artifact-proxying layer (Artifactory, Nexus Repository, ProGet) need to route through the Checkmarx checkpoint. Programs that turn it on for CI but skip developer machines miss the attack surface that hits engineering laptops first. A sound rollout maps the fetch path end to end, configures every checkpoint, and validates coverage before calling the rollout complete.
Ideal use cases
What it is best at
Sits in the fetch path between the build and the public registry. Tampered packages never reach the build. Different from periodic SCA scanning, which detects after the fact.
Checkmarx maintains a real-time feed of typosquatting attacks, dependency-confusion attempts, and known-malicious packages. The feed updates faster than the public CVE database catches up.
Programs that publish internal packages register the namespaces. Public packages that masquerade as internal ones get blocked at fetch time. Dependency-confusion attacks stop working.
npm, PyPI, Maven Central, NuGet, Go modules, Gem, Cargo, Composer in one product. Programs stop stitching together specialist defenses per ecosystem.
Different placement than proxy-time enforcement. Checkmarx sits at fetch; proxy firewalls sit at the artifact store. Mature programs run both as layered defense.
Core capabilities
Where Malicious Package Protection earns its keep against supply-chain attack windows.
Typosquatting detection
Blocks packages with names one keystroke away from popular libraries. Curated feed updates continuously as new typosquatting attempts surface.
Dependency-confusion blocking
Programs register internal package namespaces. Public packages masquerading as internal ones get blocked at fetch time.
Known-malicious package blocking
Blocks packages flagged by the curated Checkmarx threat feed before they reach the build.
Coverage across the package ecosystem
npm, PyPI, Maven Central, NuGet, Go modules, Gem, Cargo, Composer in one engine.
What makes the protection real instead of cosmetic.
Curated threat feed
Continuously updated list of typosquatting attempts, dependency-confusion attacks, and malicious packages. Faster than public CVE catalogs.
Behavior-based detection
Static analysis of package contents to flag suspicious behavior (postinstall scripts that contact unexpected hosts, packages that read environment variables they should not need).
Cross-product correlation with SCA
Blocked packages cross-reference with SCA findings for a unified supply-chain view inside Checkmarx One.
Making sure the checkpoint actually sits in the fetch path.
CI build agent integration
Build agents on GitHub Actions, GitLab CI, Azure DevOps, Bitbucket Pipelines and Jenkins resolve packages through the checkpoint instead of going straight to the public registry.
Developer machine integration
IDE and CLI hooks for developers running npm install, pip install, mvn install, and similar from local machines.
Artifact proxy integration
Pairs with Artifactory, Nexus Repository, and ProGet so the proxy layer also enforces fetch-time controls.
Audit logging
Every blocked fetch is logged with package name, version, source, and reason for regulated audit trails.
Where it fits in the stack
Deployment and implementation
Licensing and packaging
Checkmarx One Advanced
Brings in Malicious Package Protection with its natural partner, Repository Health, along with DAST, API Security and IaC Security.
Best for: Programs adding sourcing-time supply-chain controls to an existing SCA footprint.
Checkmarx One Enterprise
Adds Software Supply Chain Security and AI Supply Chain Security to the sourcing-time controls. The AI agents and premium SLAs come with this tier as well.
Best for: Programs governing package sourcing, build provenance and AI models from one Checkmarx One tenant.
Merito services
Pick the engagement that matches where you are in the lifecycle.
Fetch-path mapping, CI integration, developer-machine rollout, internal-namespace registration, and audit-trail wiring.
Explore serviceSupply-chain governance scoping for Malicious Package Protection alongside Sonatype Repository Firewall and JFrog Xray.
Explore serviceFetch-time controls integrated into CI pipelines and artifact proxies.
Explore serviceDeveloper enablement for sourcing-time controls and internal-namespace discipline.
Explore serviceNamed engineer, priority SLAs, and release-time coverage for Malicious Package Protection.
Explore serviceLong-term run support including namespace-registration maintenance, fetch-path checkpoint operation, and audit-trail evolution.
Explore serviceRole-based training for DevSecOps owners, AppSec architects, and developers consuming Malicious Package Protection events.
Explore serviceDevSecOps engineers from Merito who keep checkpoints and namespace registrations current as new teams and pipelines appear.
Explore serviceCheckmarx Malicious Package Protection licensing
Malicious Package Protection pricing arrives with fetch-path mapping, CI integration, developer-machine rollout, and internal-namespace registration that turn the checkpoint into a working supply-chain control rather than a coverage-gap risk.
Merito point of view
Programs have run clean SCA reports for months while typosquatting and dependency-confusion attacks were already running on developer laptops. The reason is timing. SCA scans periodically and lights up after the CVE database catches up, and by then the malicious package has executed every postinstall script it wanted to. Malicious Package Protection sits at fetch time and blocks the package before the build resolves it. The placement is the point.
Malicious Package Protection matters most when the program publishes internal packages alongside public dependencies (dependency-confusion exposure), when the engineering organization is large enough that typosquatting risk is statistically real, and when SCA-only programs have already been audited against attack scenarios. Sonatype Repository Firewall and JFrog Xray are competitive at the proxy layer, while Checkmarx works at the fetch layer. Mature programs run both as layered defense.
Sourcing-time governance needs Repository Health alongside this product. Malicious Package Protection blocks known-bad packages, and Repository Health scores an open-source project's hygiene before a team adopts it. Programs running one without the other are filtering downstream risk without screening upstream provenance.
What buyers usually underestimate
Related from Merito
Related solutions
Related services
Related products
Frequently Asked Questions
Consultation request
Share your CI fabric, internal package namespaces, and developer-machine landscape. A Merito Checkmarx specialist follows up within one business day.
Fetch-time placement
Sits in the fetch path between the build and the registry. Tampered packages never reach the build.
Internal namespace protection
Register internal package namespaces. Public packages masquerading as them get blocked at fetch time.
Next step
A Merito Malicious Package Protection engagement starts with fetch-path mapping and namespace registration. Detection-time SCA catches issues after they have already executed.