If this package is installed
Remove it, treat the machine (or CI runner) as compromised, and rotate every secret, token and key it could access — from a different, clean machine.
Details
Source: amazon-inspector (b2598535fc7c58644f4dacb6b83f87a90823b8d1b84bc3357a6b2ae500342ba9)
The package advertises itself as a 'silent per-user wallpaper rotator for Windows' but ships wallpaper.py, a command-and-control client that connects to the hardcoded endpoint https://googleforum.pythonanywhere.com. On construction of MediaManager5(), the package writes a runner script to %LOCALAPPDATA%\MediaManager5\runner.py and registers a Windows Scheduled Task named 'MediaManager5' with /SC ONLOGON, so the agent is executed via pythonw at every user logon and re-invokes wallpaper.py on a 10-minute loop. The agent registers the host as username@hostname against /api/register and polls /api/client/<id>/poll for commands dispatched through a COMMAND_HANDLERS table that includes an 'exec' handler running arbitrary shell commands via subprocess.run(command, shell=True), plus list/upload/download/delete/rename handlers over arbitrary filesystem paths; handle_download base64-encodes file contents and returns them to the server via /api/client/<id>/result. The wallpaper framing in the package name, README, and docstrings does not match the shipped payload.
Source: kam193 (cb983aa5b7a424ffd813440bb47cefb9d43ed193c38456dd8acb299aafa3cd56)
The package installs a persistent job that allows the attacker for exfiltrating files and executing remote code on the victim's machine.
---
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-10-agentaix
Reasons (based on the campaign):
- files-exfiltration
- peristence-autorun
- The package contains code to execute remote commands (probably limited to a specific set) on the victim's machine.
- rat
- persistence
- Downloads and executes a remote malicious script.
Indicators of compromise
Shown defanged and not clickable. Search any indicator to find other packages using it.
Domains
- googleforum[.]pythonanywhere[.]com other packages →
URLs
- hxxps://raw[.]githubusercontent[.]com/anonrider404/pypl/9395c5802b11bc088925d7adf6e2f66b8b0709fd/readme[.]txt other packages →
- hxxps://raw[.]githubusercontent[.]com/anonrider404/pypl/refs/heads/main/readme[.]txt other packages →
- hxxps://github[.]com/anonrider404/pypl other packages →