# MAL-2026-16346: Malicious code in rrs (PyPI)


- **Type:** Malicious package
- **Package:** `rrs` (PyPI)
- **Published:** 21 Sep 2026

## What is MAL-2026-16346?

MAL-2026-16346 is a malicious package in rrs, published on 21 Sep 2026. 

### Official description

On launch of the `rrs` CLI, a background thread captures a full-screen screenshot via `mss` and POSTs the image together with hostname, username, OS/release, local IP, and timestamp to a hardcoded Discord webhook at https://discord.com/api/webhooks/1549807268294303860/... The upload runs unconditionally at startup, with no consent prompt and no user-configurable destination; the webhook is controlled by the package author and is not disclosed as a destination for screen contents. Separately, `Network.start` opens an MQTT connection to the public broker `broker.hivemq.com:1883` and publishes a JSON identity record (id, hostname, username, os) to the shared topic `rrs/v1/presence` every 5 seconds, exposing installer host and user identifiers to any subscriber of that world-readable topic. Screen contents typically include private data, credentials, tokens, and messages visible on the desktop at the moment of capture.

The package automatically and silently exfiltrates screenshots to a hardcoded location.

---

Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.

Campaign: 2026-09-rrs

Reasons (based on the campaign):

 - spyware-like

 - The package contains code to exfiltrate basic data from the system, like IP or username. It has a limited risk.

## What should I do about MAL-2026-16346?

Remove the package from your dependencies and lockfiles, then rotate any secrets on machines where it was installed.

## Fix prompt for AI coding agents

```text
MAL-2026-16346 is a malicious package: rrs (PyPI). Every version was published to cause harm.

Task:
1. Search this repository's dependency manifests and lockfiles for the package, including transitive dependencies.
2. If it is present, remove it, regenerate the lockfile with the project's package manager, and replace whatever it was used for.
3. List any CI runners, developer machines or containers that installed it, so their secrets can be rotated.
4. If the package is not used anywhere, say so and change nothing.

Reference: https://insights.sbomify.com/MAL-2026-16346/ (Markdown: https://insights.sbomify.com/MAL-2026-16346/index.md)
```

## Sources

- OSV: https://osv.dev/vulnerability/MAL-2026-16346

---
From sbomify Insights: https://insights.sbomify.com/MAL-2026-16346/
Summaries are generated and may contain mistakes; the official description above is the record.
