{"id":"MAL-2026-18328","aliases":[],"title":"Malicious code in netweavex (PyPI)","description":"\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (3818fe7f3387637c23d6bc51d62f8fd64dc981c82167750cd3059eec73d2849c)\nnetweavex is a typosquat of the popular NetworkX library, reusing its public API, module layout, and README examples (including the `import netweavex as nx` idiom) under a lookalike name. On `import netweavex`, the top-level __init__.py loads netweavex.netweavex, whose module scope invokes exec() on a payload produced by reversing a string literal, base64-decoding it, and zlib-decompressing it (the decoded header is a valid zlib stream, `x\\xda...`). This causes attacker-controlled, opaque bytecode to run on the installer's host at import time. A graph library has no legitimate reason to layer reverse+base64+zlib obfuscation around an exec() sink; the combination of lookalike name, API cloning, and import-time execution of hidden code is the canonical PyPI typosquat dropper shape.\n\n## Source: kam193 (96ae0ec579e95e33c63930792ee782e6229f77547efac35c3894a7e05c8af2ca)\nClone of a legitimated package. During import package executes obfuscated code that downloads code from a GitHub repository. During analysis, the code was just a placeholder.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-10-netweavex\n\n\nReasons (based on the campaign):\n\n\n - clones-real-package\n\n\n - obfuscation\n\n\n - Downloads and executes a remote malicious script.\n\n\n - typosquatting\n","severity":"unknown","score":null,"published":"2026-10-26T09:58:20.000Z","modified":"2026-10-26T19:00:41.005Z","withdrawn":false,"knownExploited":false,"affected":[{"ecosystem":"PyPI","name":"netweavex","ranges":[],"versions":["1.1.0","1.1.1","1.1.2"],"fixed":[]}],"references":["https://github.com/jerryjohnston91/helper-library","https://bad-packages.kam193.eu/pypi/package/netweavex","https://pypi.org/project/netweavex/1.1.2/"],"sources":[{"name":"OSV","id":"MAL-2026-18328","modified":"2026-10-26T19:00:41.005894704Z","url":"https://osv.dev/vulnerability/MAL-2026-18328"}],"assessments":[]}