mal-2026-13682
Vulnerability from ossf_malicious_packages
Published
2026-08-10 05:23
Modified
2026-08-10 11:53
Summary
Malicious code in btcflx (PyPI)
Details

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

Source: amazon-inspector (839c411e8d33badaebd5e59b2d966dc000e631843a49ce9352caafd1b7dd9e12)

Package advertises itself as an HTTP speed-up library but on import of the top-level module unconditionally locates the user's Monero wallet directory (Windows C:\Users\\Documents\Monero, Linux /home//Monero), kills running 'feather' and 'monero' processes to release file locks, archives the directory, and uploads it via api.telegram.org sendDocument to a hardcoded Telegram bot with chat_id -5044692933. A companion sendMessage call reports host reconnaissance status ('Found wallet... sending' / 'Did not find wallets') to the same chat. The Telegram bot token and both Monero directory paths are base64-encoded in source to hide the destination and targets. Package name and description do not mention cryptocurrency wallets, establishing a cover-story mismatch.

Source: kam193 (504aca220be0f03b6572f62dc3fc4a49ace09be61a969e39713c890f28afe62a)

During import, the package exfiltrates cryptocurrency wallet files.


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

Campaign: 2026-08-kotanku

Reasons (based on the campaign):

  • exfiltration-crypto

  • uses-telegram-bot

CWE
  • 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"
          }
        ],
        "indicators": {
          "evidence_files": [
            {
              "path": "kotoraka/__init__.py",
              "sha256": "1f9b92b37899ca0f6f2edbffb3fa425a43e8927256f04fb5966be265b08bd8e2",
              "tlsh": "a351f24ede6a440451b1938e2dc194b2c705326b6e10952f7ebc4a80afb08a6d672b7f"
            }
          ],
          "package_integrity": [
            {
              "filename": "btcflx-0.1.0-py3-none-any.whl",
              "hashes": {
                "blake2b_256": "d872b83687bea02dcfabeb0eb6558694c496f53e167a19ac76dcb409f73979de",
                "md5": "cd798b2c937013481b0122b24e5bea2c",
                "sha256": "19239b12dd86b5fed87d4ac7d57fbdda6219903d6993dac2e12c1f60b805eeb5"
              }
            },
            {
              "filename": "btcflx-0.1.0.tar.gz",
              "hashes": {
                "blake2b_256": "27e9591904484235e87fca8dc3317fd68015dd1457bf24944ef6a94deb5562f6",
                "md5": "13a6f6eb32eb4ca155412c902e7edae9",
                "sha256": "049fa25b0dd3ebda91e2123769f3b3cb5d0059b58ea448f97d7f3d6f31685077"
              }
            }
          ]
        }
      },
      "package": {
        "ecosystem": "PyPI",
        "name": "btcflx"
      },
      "versions": [
        "0.1.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": {
    "malicious-packages-origins": [
      {
        "id": "pypi/2026-08-kotanku/btcflx",
        "import_time": "2026-08-10T06:38:36.541566959Z",
        "modified_time": "2026-08-10T05:23:01.727996Z",
        "sha256": "504aca220be0f03b6572f62dc3fc4a49ace09be61a969e39713c890f28afe62a",
        "source": "kam193",
        "versions": [
          "0.1.0"
        ]
      },
      {
        "id": "IN-MAL-2026-017208",
        "import_time": "2026-08-10T11:51:54.951372596Z",
        "modified_time": "2026-08-10T11:50:28Z",
        "sha256": "839c411e8d33badaebd5e59b2d966dc000e631843a49ce9352caafd1b7dd9e12",
        "source": "amazon-inspector",
        "versions": [
          "0.1.0"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: amazon-inspector (839c411e8d33badaebd5e59b2d966dc000e631843a49ce9352caafd1b7dd9e12)\nPackage advertises itself as an HTTP speed-up library but on import of the top-level module unconditionally locates the user\u0027s Monero wallet directory (Windows C:\\Users\\\u003cuser\u003e\\Documents\\Monero, Linux /home/\u003cuser\u003e/Monero), kills running \u0027feather\u0027 and \u0027monero\u0027 processes to release file locks, archives the directory, and uploads it via api.telegram.org sendDocument to a hardcoded Telegram bot with chat_id -5044692933. A companion sendMessage call reports host reconnaissance status (\u0027Found wallet... sending\u0027 / \u0027Did not find wallets\u0027) to the same chat. The Telegram bot token and both Monero directory paths are base64-encoded in source to hide the destination and targets. Package name and description do not mention cryptocurrency wallets, establishing a cover-story mismatch.\n\n## Source: kam193 (504aca220be0f03b6572f62dc3fc4a49ace09be61a969e39713c890f28afe62a)\nDuring import, the package exfiltrates cryptocurrency wallet files.\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2026-08-kotanku\n\n\nReasons (based on the campaign):\n\n\n - exfiltration-crypto\n\n\n - uses-telegram-bot\n",
  "id": "MAL-2026-13682",
  "modified": "2026-08-10T11:53:52.188057080Z",
  "published": "2026-08-10T05:23:01Z",
  "references": [
    {
      "type": "WEB",
      "url": "https://bad-packages.kam193.eu/pypi/package/btcflx"
    },
    {
      "type": "PACKAGE",
      "url": "https://pypi.org/project/btcflx/0.1.0/"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in btcflx (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…