VYPR

pypi · Malicious package advisory

Malware

bramin

GHSA-5vcf-m9cg-g7xm

Malicious code in bramin (PyPI)

Details

**Severity:** Critical

**Affected versions:** `= 0.0.3`

## Source: amazon-inspector (1fb2ac40fcb4626c5e7dea5e26951bc0965b39a1eb721c1a8f23846f421a5827)
bramin ships a `bramin-setup.pth` file that Python auto-executes at every interpreter startup (system-wide, not only when bramin is imported). The.pth contains a single-line obfuscated payload using single-letter aliases (_O, _T, _G, _o, _s, _u, _p, _y, _b, _z, _zf) that, on first run, downloads the Bun JavaScript runtime from `https://github.com/oven-sh/bun/releases/download/bun-v1.3.13/bun-<platform>-<arch>.zip`, stages the binary to `/tmp/b/bun`, chmods it executable, and invokes `bun run` against a sibling `_index.js` discovered via `dirname(__file__)` with a glob fallback. A guard file `/tmp/.bun_ran` ensures the dropper fires only once per machine to evade observation. Several signals confirm malicious intent: (1) the package advertises itself only as a 'pipe operator syntax' Python library and has no legitimate need for a JavaScript runtime; (2) `_index.js` is not listed in the wheel's RECORD manifest, meaning the executed JS payload is smuggled in or supplied by a later/sibling drop and is not covered by the distribution's integrity metadata; (3) `__init__.py` declares `__version__ = '0.0.1'` while the dist-info is `0.0.3`, a version-drift fingerprint consistent with an additive-only republish bolting the dropper onto a previously legitimate release; (4) the obfuscation shape (chained `exec()` of a one-line string with aliased imports) has no benign explanation for a.pth file, whose legitimate purpose is sys.path mutation. Installer impact: arbitrary attacker-controlled JavaScript execution on the installer's machine on the very next Python invocation after `pip install bramin`, with the executed bytes (`_index.js`) outside the wheel's signed manifest and therefore mutable by the attacker at any time.

## Source: kam193 (5933ebb330070d47683cbb0b04b4a8805db94d845d0efde3a592e178a0092769)
Versions 0.0.2, 0.0.3, 0.0.4 were compromised.


Compromised packages start an obfuscated infostealer. The infostealer is a heav […]

**References:**
- https://bad-packages.kam193.eu/pypi/campaign/2026-06-compr-woodpecker
- https://github.com/ossf/malicious-packages/blob/49d0cfba3689ed9b195d101d3a2a964c6a77f767/osv/malicious/pypi/bramin/MAL-2026-5280.json
- https://o3.security/blog/pypi-supply-chain-attack-pth-file-miasma
- https://pypi.org/project/bramin/0.0.3
- https://socket.dev/blog/mini-shai-hulud-campaign-hits-red-hat-cloud-services-npm-packages
- https://socket.dev/blog/mini-shai-hulud-miasma-and-hades-worms-target-bioinformatics-and-mcp-developers-via-malicious
- https://socket.dev/blog/shai-hulud-descends-to-hades-miasma-pypi-wave
- https://github.com/advisories/GHSA-5vcf-m9cg-g7xm

Compromised versions (1)

  • = 0.0.3

Any computer that installed or ran a compromised version should be considered fully compromised. Rotate every secret on that machine from a clean environment.