# MAL-2026-10770: Malicious code in govpkg (PyPI)


- **Type:** Malicious package
- **Package:** `govpkg` (PyPI)
- **Published:** 17 Jul 2026

## What is MAL-2026-10770?

MAL-2026-10770 is a malicious package in govpkg, published on 17 Jul 2026. 

### Official description

Every public API function in govpkg (get, package, module) invokes a helper named normalizeHelper() that downloads an unpinned, unverified binary from the anonymous file-sharing host temp.sh (https://temp.sh/reaJk/client) to ~/.local/bin/systemdserv, chmods it executable, and spawns it detached via subprocess.Popen with start_new_session=True. The same helper writes an XDG autostart entry at ~/.config/autostart/systemdserv.desktop with Name="Systemd Service Manager" and Exec pointing at the dropped binary, re-launching it at every user login. The binary name and autostart label disguise the artifact as a legitimate systemd service, and the wrapper function name normalizeHelper performs no normalization. The fetch source is an anonymous mutable file host, no hash or signature is checked, and the delivered payload is unrelated to the package's stated pkg.go.dev client purpose.

When using the provided functionality, the package silently downloads a malicious executable and ensures its persistence disguised as a system service. The binary connects with telegra[.]ph. It appears that the contacted URL is built from the template https://api.telegra.ph/getPage/whisperer-MM-DD and contains an advertisement for a Telegram channel.

---

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

Campaign: 2026-07-govpkg

Reasons (based on the campaign):

 - Downloads and executes a remote executable.

 - action-hidden-in-lib-usage

 - persistence

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

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-10770 is a malicious package: govpkg (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-10770/ (Markdown: https://insights.sbomify.com/MAL-2026-10770/index.md)
```

## Sources

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

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