-= Per source details. Do not edit below this line.=-
On first import, src/acmewidgetlayoututils/init.py (lines 13-17) opens a TCP socket to 34.69.137.236:80, duplicates stdin/stdout/stderr onto the socket via os.dup2, and execs /bin/sh -i — a textbook interactive reverse shell handing remote shell access to whoever controls 34.69.137.236. The behavior is unconditional and fires the moment any consumer runs import acme_widget_layout_utils. setup.py additionally installs a custom install command that writes /tmp/pypiinstallhookmarker.txt at install time, corroborating the package's role as a deliberately crafted attack artifact. The package name suggests benign UI/layout utilities and contains no such functionality; the pyproject.toml description openly self-identifies as a 'pentest C2 target', but the package is published on public PyPI under a generic name where any developer searching for widget/layout helpers can incidentally install and be backdoored. README's 'authorized pentest' framing does not change installer-side impact.
During import, the package starts a reverse shell.
Category: MALICIOUS - The campaign has clearly malicious intent, like infostealers.
Campaign: 2026-06-acme-widget-layout-utils
Reasons (based on the campaign):
{
"malicious-packages-origins": [
{
"id": "IN-MAL-2026-005357",
"import_time": "2026-06-11T02:24:27.554501614Z",
"sha256": "42e53a38c2df70a3c6a2a24b2484840e6a163f2e1a9b91236a2aa7a9ec004600",
"source": "amazon-inspector",
"modified_time": "2026-06-11T01:46:15Z",
"versions": [
"0.0.3"
]
},
{
"id": "pypi/2026-06-acme-widget-layout-utils/acme-widget-layout-utils",
"versions": [
"0.0.1",
"0.0.2",
"0.0.3"
],
"sha256": "643a7c935e2bb063cea8baf36f13bca89572d1febbf0efdb05812ee09ddde4d8",
"source": "kam193",
"modified_time": "2026-06-11T05:40:39.931561Z",
"import_time": "2026-06-11T07:49:46.172073804Z"
}
]
}[
{
"description": "The product contains code that appears to be malicious in nature.",
"name": "Embedded Malicious Code",
"cweId": "CWE-506"
}
]
{
"evidence_files": [
{
"path": "src/acme_widget_layout_utils/__init__.py",
"sha256": "611dbc535af11a1b91d66630e0f56d6a7a7174e74f46907fb8291d738448738c",
"tlsh": "c701cb8bcc2ad09a5f72a1918061c068de57a8031b3818b2bdec53146bf302561b4932"
},
{
"path": "setup.py",
"sha256": "4ed96d4110ec206f50864acb834b2f11808cb903df3b39a876a3ebcf8fe66eea",
"tlsh": "7fe02646983f7070ad9383a488b346121c23c6605bf0e2a674fe1a715f931e6cc478c3"
},
{
"path": "pyproject.toml",
"sha256": "1ed303a16226ddc822f2fb6d1d148805a1c09eb5577cfaa92220f7588902097f",
"tlsh": "31e06823cb775965eac164446051a167cdf2e8d92dc0d85c8acfc9983cee0e9c6f8929"
}
],
"package_integrity": [
{
"filename": "acme_widget_layout_utils-0.0.3-py3-none-any.whl",
"hashes": {
"md5": "f4295d1297c0cb74a638a3ad949d0817",
"blake2b_256": "38246aec6a745e8f7660a345797c632829f16c2f5b9bf30ea6ba2a19f9b11b53",
"sha256": "6ac0e78622500c826abe1209dc38b736dc0efdbdf350de726cf61dcb7da7834a"
}
},
{
"filename": "acme_widget_layout_utils-0.0.3.tar.gz",
"hashes": {
"md5": "5bd41cffddaf6808608d6875b0a9dc38",
"blake2b_256": "a2a54dc0b1fd6fb75fd5d3f0d66ff1e64cfd2f20f72d07e275683859946b26d8",
"sha256": "58cea9e8965d0148962288648322bebcd4ddf5576169269981612a9c729bd233"
}
}
]
}
"https://github.com/ossf/malicious-packages/blob/main/osv/malicious/pypi/acme-widget-layout-utils/MAL-2026-5545.json"