NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Malicious package

javascanPyPI

Advisory published Updated

javascan is a confirmed malicious PyPI package (MAL-2025-1978) that steals credentials and exfiltrates sensitive data (malicious versions 0.1, 0.2, 0.3…). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in javascan (PyPI)

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

    Search your lockfiles and build artifacts for javascan (5 malicious versions).

  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 installed, its post-install payload may already have run. Removing the package does not undo that — check outbound connections and credential use from the install window onward.

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.

Explore

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