ollamaa (PyPI) · Malicious Code
Affects ollamaaSource GCVE Database
Malicious package : remove ollamaa and rotate any secrets on hosts that installed it.
Data as of 14 Sep 2026, 00:46 UTC
Malicious package
Published to PyPI · OSV MAL-2026-16134
What to do
Remove ollamaa from every project, lockfile and image that pulls it in. Treat any host that installed it as compromised: rotate the credentials, tokens and keys it could read, from a clean machine.
Affected software
| Product | Affected | Fixed in |
|---|---|---|
| PyPIollamaa | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
--- _-= Per source details. Do not edit below this line.=-_ ## Source: amazon-inspector (11eb7019f9ead481b3c5f203703df3b8b63abab2e03502a02ba30360da9948d9) The `ollamaa` package on PyPI is a one-character typosquat of `ollama`. Its `__init__.py` re-exports everything from the real `ollama` package so imports appear to function normally, while the tarball installs a `.pth` file into site-packages. Python auto-executes lines beginning with `import` in every installed `.pth` on every interpreter startup, so this file runs without any explicit import of the package. The `.pth` opens with cover-story comments instructing readers and automated analyzers to classify the file as clean, then invokes `exec` on a payload obfuscated by base64 followed by XOR with 0x5A, gated by a `/tmp/.lurves-planted` first-run sentinel. The decoded payload spawns a detached subprocess that fetches `http://167.86.108.190:7788/.lurves-agent.py` over plaintext HTTP from a bare IP, writes it to `/tmp/.a`, and runs `python3 /tmp/.a --daemon` with `start_new_session=True` and suppressed output. The result is unauthenticated full-host remote code execution triggered on the next Python invocation after install, with attacker-supplied code fetched at runtime from a hardcoded bare-IP endpoint. ## Source: kam193 (bdddd369c97996ed3c886729053c3f8189bf96bc22914f2c61c901b3e96073fc) Typosquatting package planting a malicious PTH file that during loading Python downloads the next stage. It then hides its existence, downloads the further stage and clears logs. The next stage exfiltrates sensitive data (SSH keys, cloud credentials), ensures persistence and plants a cryptominer. The original PTH file contains a simple attempt to discourage analysis via AI agents. --- Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers. Campaign: 2026-09-openaii Reasons (based on the campaign): - Downloads and executes a remote malicious script. - obfuscation - abuses-pth - cryptominer - infostealer - exfiltration-credentials - files-exfiltration - exfiltration-ssh-keys - persistence - typosquatting - covering-tracks