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

a3s-codePyPI

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

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

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

  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 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 a3s-code 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. 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.