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

javascanPyPI

Malicious code in javascan (PyPI) Remove it immediately and rotate any exposed credentials.

MAL-2025-1978
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall javascan

What this malware does

During installation, a code is downloaded and executed. This remote script then attempts to exfiltrate environmental variables, SSH keys, Slack secrets etc.

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2025-01-javascan

Reasons (based on the campaign):

  • Downloads and executes a remote malicious script.

  • files-exfiltration

  • exfiltration-ssh-keys

  • dependency-confusion

  • exfiltration-env-variables

Malicious versions

5 flagged
0.10.20.30.40.5

Indicators of compromise (SHA-256)

ce235cd44461ffdbfbe8f0a33f794d8aceb72d07b4ea57521d9d47e1d495a4d6
eee8c24ca7eb40c45b616928fa7dab92f19f8d659771c57c01dcc0597aed4a4c
3b87a6ab9caea125ba4a71189d6a1740668e44d637f7e7c2d4f85daaf4f54ed0
c2d6cf858c6bfba05e5656f3dc63dce8dc19a6253b3341bd78bcb0bee8fb5bfa
c568619d4fea05d6cb00aa23ddb1670fbb4ae3b03ea1ec19343f31783418dbfe

Detection & response playbook

Credential / info stealer
  1. Find it

    Scan your lockfiles (package-lock.json, pnpm-lock.yaml, yarn.lock, requirements.txt, poetry.lock, etc.) and build artifacts for javascan (5 malicious versions). O3 Security's supply-chain scanner checks every dependency against known-malicious package intelligence at install time and in CI, flagging javascan across your stack and pipelines.

  2. If you installed it — respond

    javascan is built to steal secrets, so assume every credential the build or runtime could read is compromised. Remove it from your project and lockfile, then rotate ALL exposed secrets — npm/registry tokens, cloud keys, CI/CD secrets, SSH keys, and any .env values — from a known-clean machine. Audit logs for unauthorized use of those credentials.

  3. Did it already run?

    If javascan was ever installed, its post-install/runtime payload may have already executed. O3's L7 egress monitoring and runtime eBPF sensors detect the credential exfiltration or command-and-control callback after install and block the malicious outbound channel, so you catch and contain the actual compromise — not just the presence of the package.

  4. How O3 protects you

    O3 blocks javascan before install through its supply-chain scanner, and if it has already run, detects and severs the exfiltration or C2 callback at runtime through L7 egress monitoring and eBPF.

Frequently asked questions

No. javascan on PyPI has been identified as a malicious package (versions 0.1, 0.2, 0.3, 0.4, 0.5 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

RLMA-2025-012192025-01-javascanRLUA-2026-00439

References

Credits

  • Kamil Mańkowski (kam193)
  • ReversingLabs · finder

Detect & block this

O3 blocks javascan-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the credential exfiltration and severs the channel.

javascan (PyPI) malicious package — MAL-2025-1978 | O3 Security