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

a3s-codePyPI

Advisory published Updated

a3s-code is a confirmed malicious PyPI package (MAL-2026-10753) that executes malicious code on install (malicious versions 5.2.8, 5.3.3). Do not install it — remove it immediately and rotate any exposed credentials.

Malicious code in a3s-code (PyPI)

MAL-2026-10753
Immediate action
Remove the package, then rotate any secrets the build/runtime could reach.
pip uninstall a3s-code

What this malware does

On first import a3s_code, top-level __init__.py invokes _bootstrap.ensure_native_loaded(), which performs an HTTP GET to https://github.com/A3S-Lab/Code/releases/download/..., writes _native.<abi>.so|.pyd|.dylib under ~/.cache/a3s-code/<version>/, and loads it via importlib.machinery.ExtensionFileLoader — executing native code fetched at import time and bypassing pip build isolation. Package metadata (README.md, PKG-INFO, pyproject.toml [project.urls] Homepage) consistently declares the project as github.com/AI45Lab/Code, but the hard-coded fetch base URL in _bootstrap.py is github.com/A3S-Lab/Code — a visually similar but distinct GitHub organization. Hash verification is same-origin (manifest is served from the same base URL) and is silently skipped when the manifest fetch fails, providing no integrity guarantee against the fetched org. The bytes an installer actually executes come from an organization the documentation does not point to, so review of the documented repo does not correspond to what runs on the installer's machine.

Malicious versions

2 flagged
5.2.85.3.3

Indicators of compromise (SHA-256)

18b5167a0f3cc336fec5ca51c7d0ddb0a35d45279d0de87074738e08c2977e54
6062cbfbdc0c31c48564e4ec850d2ce71996d6cf12373c775aed5560c88e5434

Detection & response playbook

Malicious package
  1. Find it

    Search your lockfiles and build artifacts for a3s-code (2 malicious versions).

  2. If you installed it — respond

    Remove a3s-code from your project and lockfile, then assume any secrets accessible to the build or runtime were exposed: rotate API keys, tokens, and credentials, and audit for unexpected outbound activity or persistence.

  3. Did it already run?

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

Campaign

IN-MAL-2026-010753IN-MAL-2026-010768

References

Credits

  • Amazon Inspector · finder

Detect & block this

O3 blocks a3s-code-class packages before install and in CI — and if it already ran, its runtime egress monitoring catches the malicious outbound activity and severs the channel.

Explore