NIST deprecates RSA-2048 from 2030. Find every one of them before attackers do.
Part of a larger attack: 2024-12-reqesst published 12 malicious packages. See the full campaign →
Malicious package

reqiestPyPI

Advisory published Updated

reqiest is a confirmed malicious PyPI package (MAL-2025-969) that steals credentials and exfiltrates sensitive data (malicious versions 2.32.2, 2.32.3). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in reqiest (PyPI)

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

What this malware does

Importing the module downloads and starts an infostealer attempting to exfiltrate data and establishing persistence through autorun directory.

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

Campaign: 2024-12-reqesst

Reasons (based on the campaign):

  • infostealer

  • peristence-autorun

  • typosquatting

  • exfiltration-generic

  • Downloads and executes a remote executable.

  • clones-real-package

  • dependency-confusion

  • exfiltration-browser-data

  • exfiltration-crypto

Malicious versions

2 flagged
2.32.22.32.3

Indicators of compromise (SHA-256)

fb7e67ffcb0752f64c069c30ae3c56c976ca00cd1537c82c3c0e481d246138b0
198b2afa2e11355a32d3633f59be1fdae6f45cef2b6bb6c7623fc5711d03ab6f
ae04fab0eca7fc7fee7494d9651df8a18dbe919cd8c0fa56522711b9f845aa25
0ab04506008fe98ae76409508391150d7c4510c6eb4c811242a24dad1a7ec05a
509af45d62461201a8ec2bbc9979523b7c3245d7f4905988bf86d71fd4301536
e5a5b034cc102af3bf2185a5d4d1fc0ae9ea1a964f84e89a67e4519c0cfd7315

Detection & response playbook

Credential / info stealer
  1. Find it

    Search your lockfiles and build artifacts for reqiest (2 malicious versions).

  2. If you installed it — respond

    reqiest 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 reqiest 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. reqiest on PyPI has been identified as a malicious package (versions 2.32.2, 2.32.3 flagged). It should be removed immediately — do not install or keep it in your dependency tree.

Campaign

RLMA-2025-005102024-12-reqesstRLUA-2026-00698

References

Credits

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

Detect & block this

O3 blocks reqiest-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

reqiest (PyPI) malicious package — MAL-2025-969 | O3 Security