seapy-ops (PyPI) · Malicious Code
Affects seapy-opsSource GCVE Database
Malicious package : remove seapy-ops and rotate any secrets on hosts that installed it.
Data as of 29 Oct 2026, 14:06 UTC
Malicious package
Published to PyPI · OSV MAL-2026-17880
What to do
Remove seapy-ops 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 |
|---|---|---|
| PyPIseapy-ops | Affected
| Fixed in– |
Check your own hosts for these packages with threat-finder (opens in a new tab), our free open-source scanner.
Description
The seapy-ops package on PyPI, versions 1.0.0 through 1.2.2, contains malicious functionality hidden behind undocumented commands. It masquerades as a local file analysis tool but includes backdoor features that exfiltrate files from the user's working directory to an attacker-controlled server and allow remote code execution. The package uploads files recursively, including via symlinks, and can write arbitrary files into the working directory based on server responses. Later versions implement a Python REPL that sends input to the server and executes server-supplied code in memory, disguising errors to conceal activity. These behaviors were confirmed through isolated testing with synthetic credentials and mocked servers, without contacting live endpoints.
References
- pypi.org/project/seapy-ops/1.0.0/ (opens in a new tab)
- pypi.org/project/seapy-ops/1.1.0/ (opens in a new tab)
- pypi.org/project/seapy-ops/1.1.1/ (opens in a new tab)
- pypi.org/project/seapy-ops/1.1.2/ (opens in a new tab)
- pypi.org/project/seapy-ops/1.0.2/ (opens in a new tab)
- pypi.org/project/seapy-ops/1.0.1/ (opens in a new tab)