mal-2026-13488
Vulnerability from ossf_malicious_packages
Published
2026-08-07 07:05
Modified
2026-08-07 12:25
Summary
Malicious code in idnna (PyPI)
Details

-= Per source details. Do not edit below this line.=-

Source: amazon-inspector (da6f2ec3b09fbcf061a9f4ffefe1c179983ad8cdc0af705f2218280ade3c1da3)

The package publishes under a name that closely resembles the widely-used idna package and advertises itself as 'HTTP client utilities', but the only importable module is djangoo containing a trivial hello() function. setup.py registers a custom install cmdclass (LinuxInstall) whose post-install step base64-decodes a hidden Python payload stored in _HOOK_B64 and executes it via exec(compile(...)). On Linux, the decoded payload uses urlretrieve to download an opaque binary named something from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something — an unrelated personal GitHub account whose repository has no connection to the package's stated purpose — chmods it to 0o755, and spawns it detached via Popen. The download destination is not publisher-matched, the fetched artifact is unpinned by hash, and the payload is obfuscated to evade casual review. This fires automatically on pip install of the sdist.

Source: kam193 (c3caa6af02ad3844d721b93e94796fed92506f24517c3b990d741b147eee5acf)

Package imitates name of a popula library. During installation, obfuscated code downloads a malicious executable and starts it. It then exfiltrates at least cryptocurrency wallet data, probably more.


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

Campaign: 2026-08-flasq

Reasons (based on the campaign):

  • typosquatting

  • The package overrides the install command in setup.py to execute malicious code during installation.

  • exfiltration-generic

  • Downloads and executes a remote executable.

  • obfuscation

  • exfiltration-crypto

CWE
  • CWE-506 - The product contains code that appears to be malicious in nature.
  • CWE-506 - The product contains code that appears to be malicious in nature.
  • CWE-506 - The product contains code that appears to be malicious in nature.
  • CWE-506 - The product contains code that appears to be malicious in nature.

{
  "affected": [
    {
      "database_specific": {
        "cwes": [
          {
            "cweId": "CWE-506",
            "description": "The product contains code that appears to be malicious in nature.",
            "name": "Embedded Malicious Code"
          },
          {
            "cweId": "CWE-506",
            "description": "The product contains code that appears to be malicious in nature.",
            "name": "Embedded Malicious Code"
          },
          {
            "cweId": "CWE-506",
            "description": "The product contains code that appears to be malicious in nature.",
            "name": "Embedded Malicious Code"
          },
          {
            "cweId": "CWE-506",
            "description": "The product contains code that appears to be malicious in nature.",
            "name": "Embedded Malicious Code"
          }
        ],
        "indicators": {
          "evidence_files": [
            {
              "path": "setup.py",
              "sha256": "1f73bbeef78e8cd5df29ed6ae14b72b10041b327c80d89f04d7db821cead4e6d",
              "tlsh": "d521865b8e2510b06c18c7845843411f162baae1ac2074e4beed33642bcd249ca7f0d7"
            }
          ],
          "package_integrity": [
            {
              "filename": "idnna-0.1.1.tar.gz",
              "hashes": {
                "blake2b_256": "27f53dca917dfa8519f1bd08672a9b6b3a82cc047f7ac451ed2a325d77b9181d",
                "md5": "5d403c75dc6bcec98d20110f0b24eea5",
                "sha256": "3813650277e31545307c7c65a240f26e13de959bdd67db854fdc95debeed9eb1"
              }
            }
          ]
        }
      },
      "package": {
        "ecosystem": "PyPI",
        "name": "idnna"
      },
      "versions": [
        "0.1.1",
        "0.1.2",
        "0.2.0",
        "0.3.0"
      ]
    }
  ],
  "credits": [
    {
      "contact": [
        "inspector-research@amazon.com"
      ],
      "name": "Amazon Inspector",
      "type": "FINDER"
    },
    {
      "contact": [
        "https://github.com/kam193",
        "https://bad-packages.kam193.eu/"
      ],
      "name": "Kamil Ma\u0144kowski (kam193)",
      "type": "REPORTER"
    }
  ],
  "database_specific": {
    "iocs": {
      "ips": [
        "193.70.34.101"
      ],
      "urls": [
        "https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something"
      ]
    },
    "malicious-packages-origins": [
      {
        "id": "pypi/2026-08-flasq/idnna",
        "import_time": "2026-08-07T07:35:19.074850456Z",
        "modified_time": "2026-08-07T07:05:56.025428Z",
        "sha256": "c3caa6af02ad3844d721b93e94796fed92506f24517c3b990d741b147eee5acf",
        "source": "kam193",
        "versions": [
          "0.1.1",
          "0.1.2",
          "0.2.0",
          "0.3.0"
        ]
      },
      {
        "id": "pypi/2026-08-flasq/idnna",
        "import_time": "2026-08-07T08:57:13.352632455Z",
        "modified_time": "2026-08-07T07:05:56.025428Z",
        "sha256": "9a15a7dcdc8b4d5a392976f6abb8ae4615189125f0c910703a3d96ade5bce5ad",
        "source": "kam193",
        "versions": [
          "0.1.1",
          "0.1.2",
          "0.2.0",
          "0.3.0"
        ]
      },
      {
        "id": "IN-MAL-2026-016908",
        "import_time": "2026-08-07T12:23:26.765397561Z",
        "modified_time": "2026-08-07T12:16:04Z",
        "sha256": "23ef36d00422f5968da72dbf01a4f9f6cea7adee00b4454956ba4dea8b13d020",
        "source": "amazon-inspector",
        "versions": [
          "0.1.1"
        ]
      },
      {
        "id": "IN-MAL-2026-016906",
        "import_time": "2026-08-07T12:23:26.643627946Z",
        "modified_time": "2026-08-07T12:15:47Z",
        "sha256": "557fd8e5f5101a40c97cf36a05feb66d99c597290096922b08d5d3b9797ce4af",
        "source": "amazon-inspector",
        "versions": [
          "0.2.0"
        ]
      },
      {
        "id": "IN-MAL-2026-016903",
        "import_time": "2026-08-07T12:23:26.513212497Z",
        "modified_time": "2026-08-07T12:15:22Z",
        "sha256": "c844cdd84d197bad25f5616870eb1d728b4ca22ded9ba1b0514a6620c0d31d7d",
        "source": "amazon-inspector",
        "versions": [
          "0.1.2"
        ]
      },
      {
        "id": "IN-MAL-2026-016907",
        "import_time": "2026-08-07T12:23:26.730670293Z",
        "modified_time": "2026-08-07T12:15:57Z",
        "sha256": "da6f2ec3b09fbcf061a9f4ffefe1c179983ad8cdc0af705f2218280ade3c1da3",
        "source": "amazon-inspector",
        "versions": [
          "0.3.0"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (da6f2ec3b09fbcf061a9f4ffefe1c179983ad8cdc0af705f2218280ade3c1da3)\nThe package publishes under a name that closely resembles the widely-used `idna` package and advertises itself as \u0027HTTP client utilities\u0027, but the only importable module is `djangoo` containing a trivial `hello()` function. setup.py registers a custom `install` cmdclass (`LinuxInstall`) whose post-install step base64-decodes a hidden Python payload stored in `_HOOK_B64` and executes it via `exec(compile(...))`. On Linux, the decoded payload uses `urlretrieve` to download an opaque binary named `something` from https://github.com/totti2188/8gp1Q7iZD3h4VW/releases/download/v1.3A/something \u2014 an unrelated personal GitHub account whose repository has no connection to the package\u0027s stated purpose \u2014 chmods it to 0o755, and spawns it detached via `Popen`. The download destination is not publisher-matched, the fetched artifact is unpinned by hash, and the payload is obfuscated to evade casual review. This fires automatically on `pip install` of the sdist.\n\n## Source: kam193 (c3caa6af02ad3844d721b93e94796fed92506f24517c3b990d741b147eee5acf)\nPackage imitates name of a popula library. During installation, obfuscated code downloads a malicious executable and starts it. It then exfiltrates at least cryptocurrency wallet data, probably more.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-08-flasq\n\n\nReasons (based on the campaign):\n\n\n - typosquatting\n\n\n - The package overrides the install command in setup.py to execute malicious code during installation.\n\n\n - exfiltration-generic\n\n\n - Downloads and executes a remote executable.\n\n\n - obfuscation\n\n\n - exfiltration-crypto\n",
  "id": "MAL-2026-13488",
  "modified": "2026-08-07T12:25:23.112395952Z",
  "published": "2026-08-07T07:05:56Z",
  "references": [
    {
      "type": "EVIDENCE",
      "url": "https://www.virustotal.com/gui/file/425f5336182e359211b5d751786d2ce1d31a673ea9c82107358a888803742649/detection"
    },
    {
      "type": "WEB",
      "url": "https://bad-packages.kam193.eu/pypi/package/idnna"
    },
    {
      "type": "EVIDENCE",
      "url": "https://tria.ge/260807-fkycrazzg1/behavioral1"
    },
    {
      "type": "PACKAGE",
      "url": "https://pypi.org/project/idnna/0.1.1/"
    },
    {
      "type": "PACKAGE",
      "url": "https://pypi.org/project/idnna/0.2.0/"
    },
    {
      "type": "PACKAGE",
      "url": "https://pypi.org/project/idnna/0.1.2/"
    },
    {
      "type": "PACKAGE",
      "url": "https://pypi.org/project/idnna/0.3.0/"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in idnna (PyPI)"
}



Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Forecast uses a logistic model when the trend is rising, or an exponential decay model when the trend is falling. Fitted via linearized least squares.

Sightings

Author Source Type Date Other

Nomenclature

  • Seen: The vulnerability was mentioned, discussed, or observed by the user.
  • Confirmed: The vulnerability has been validated from an analyst's perspective.
  • Published Proof of Concept: A public proof of concept is available for this vulnerability.
  • Exploited: The vulnerability was observed as exploited by the user who reported the sighting.
  • Patched: The vulnerability was observed as successfully patched by the user who reported the sighting.
  • Not exploited: The vulnerability was not observed as exploited by the user who reported the sighting.
  • Not confirmed: The user expressed doubt about the validity of the vulnerability.
  • Not patched: The vulnerability was not observed as successfully patched by the user who reported the sighting.

Loading…

Detection rules are retrieved from Rulezet.

Loading…

Loading…

Loading…