Your RSA-2048 keys break in 2030. Find every one of them before attackers do.

Malware Database

Malicious open-source packages — supply-chain attacks, infostealers, backdoors, and typosquats across npm, PyPI, and other registries. Each advisory covers what the malware does, which versions are compromised, SHA-256 indicators of compromise, the attack campaign, and removal steps. Look up any package at /malware/{ecosystem}/{name}.

Recently discovered malicious packages

@across-toolkit/typescript-confignpm

Jul 25, 2026

@daylightqc/date-fmt-litenpm

Jul 25, 2026

app-data-istnpm

Jul 25, 2026

app-data-layernpm

Jul 25, 2026

app-data-ltsnpm

Jul 25, 2026

app-node-layernpm

Jul 25, 2026

chai-as-stringifynpm

Jul 25, 2026

date-format-utils-xznpm

Jul 25, 2026

eth-basenpm

Jul 25, 2026

eth-codergennpm

Jul 25, 2026

eth-slintnpm

Jul 25, 2026

f0-data-constructornpm

Jul 25, 2026

f0-form-manipulatornpm

Jul 25, 2026

f0-fpti-tracking-managernpm

Jul 25, 2026

faust-contnpm

Jul 25, 2026

fundraiserservnpm

Jul 25, 2026

fundraiserserviceppnpm

Jul 25, 2026

gpaas-paypalnpm

Jul 25, 2026

identityscimapiservnpm

Jul 25, 2026

logger-daemon-regexnpm

Jul 25, 2026

merchantprefsservice-paypalnpm

Jul 25, 2026

page-navigationnpm

Jul 25, 2026

payoutsvettingserv-paypalnpm

Jul 25, 2026

pp-react-ui5npm

Jul 25, 2026

preferenceslifecycle-paypalnpm

Jul 25, 2026

react-tabulix-extendednpm

Jul 25, 2026

streak-bucket-libnpm

Jul 25, 2026

streak-lib-mathnpm

Jul 25, 2026

subapp-pkg-utilnpm

Jul 25, 2026

supplyhubnpm

Jul 25, 2026

svelte-goal-streaknpm

Jul 25, 2026

svelte-streak-metricsnpm

Jul 25, 2026

svgcraft-corenpm

Jul 25, 2026

tailwind-gutenberg-block-zeronpm

Jul 25, 2026

xo-member-componentsnpm

Jul 25, 2026

yuinpmnpm

Jul 25, 2026

defi-kitPyPI

Jul 25, 2026

discordnvPyPI

Jul 25, 2026

dstillPyPI

Jul 25, 2026

intel-cicd-repo-infrastructurePyPI

Jul 25, 2026

karpatkeyPyPI

Jul 25, 2026

karpatkitPyPI

Jul 25, 2026

mrmustardPyPI

Jul 25, 2026

roles-roycePyPI

Jul 25, 2026

spadataPyPI

Jul 25, 2026

spaysdataPyPI

Jul 25, 2026

spaysdatarbxPyPI

Jul 25, 2026

spaysrbdataPyPI

Jul 25, 2026

spaysrbxPyPI

Jul 25, 2026

trongridyPyPI

Jul 25, 2026

Frequently asked questions

What is a malicious package?

A malicious package is a library published to an open-source registry (npm, PyPI, etc.) that contains harmful code — a credential stealer, backdoor, or data exfiltrator — often disguised as a useful tool or typosquatting a popular package. Unlike a vulnerability, you don't patch it; you remove it and rotate any secrets it could reach.

How do I know if a package I use is malicious?

Look it up here at /malware/{ecosystem}/{name} (for example, /malware/pypi/embiggen). If the package is flagged, the page lists the malicious versions, what the code does, and the indicators of compromise. You can also scan your whole dependency tree with O3 Security to catch malicious packages at install time and in CI.

What should I do if I installed a malicious package?

Remove it from your project and lockfile immediately, then assume any secrets the build or runtime could reach were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound network activity or persistence. Match the published SHA-256 IOCs against your package cache and build artifacts to confirm exposure.

Which registries does this cover?

npm, PyPI, Go, Maven, RubyGems, crates.io (Rust), NuGet, and other ecosystems tracked in the OSV malicious-packages dataset. New advisories appear here within hours of being published.

Where does this malware data come from?

From OSV's public MAL- advisory namespace, fed by the OpenSSF malicious-packages project — and many of the advisories you'll see credit O3 Security as the finder, from our own supply-chain research.

Block malicious packages before they install

O3 Security checks every dependency against known-malicious package intelligence at install time and in CI — stopping packages like these before any post-install script runs.

Supply-chain protection