mal-2025-3436
Vulnerability from ossf_malicious_packages
Published
2025-03-30 15:18
Modified
2025-12-11 09:27
Summary
Malicious code in bitcoinlib-dev (PyPI)
Details

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

Source: kam193 (a198ee5e2df9c67dcbd24ed19a8fec5d462bbb3c0eb474cf00cd299e75074ef5)

It overwrites the 'clw' command from legit bitconinlib package and attempts to exfiltrate its database on the usage.

As a context, it appears to be created to lure users seeking for help with the bitconinlib package: https://github.com/1200wd/bitcoinlib/issues/455#issuecomment-2764513104


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

Campaign: 2025-03-bitcoinlibdbfix

Reasons (based on the campaign):

  • files-exfiltration

  • crypto-related

  • action-hidden-in-lib-usage

  • exfiltration-crypto


{
  "affected": [
    {
      "package": {
        "ecosystem": "PyPI",
        "name": "bitcoinlib-dev",
        "purl": "pkg:pypi/bitcoinlib-dev"
      },
      "versions": [
        "0.4.16",
        "0.4.17",
        "0.4.18",
        "0.4.19",
        "0.4.20",
        "0.4.21"
      ]
    }
  ],
  "aliases": [
    "SNYK-PYTHON-BITCOINLIBDEV-9667327"
  ],
  "credits": [
    {
      "contact": [
        "https://github.com/kam193",
        "https://bad-packages.kam193.eu/"
      ],
      "name": "Kamil Ma\u0144kowski (kam193)"
    },
    {
      "contact": [
        "https://github.com/kam193",
        "https://bad-packages.kam193.eu/"
      ],
      "name": "Kamil Ma\u0144kowski (kam193)",
      "type": "REPORTER"
    },
    {
      "contact": [
        "https://www.reversinglabs.com"
      ],
      "name": "ReversingLabs",
      "type": "FINDER"
    }
  ],
  "database_specific": {
    "iocs": {
      "urls": [
        "https://5fde88fde64f4682c2fc1e10e6c.vercel.app/api/send",
        "https://discord.com/api/webhooks/1329712636807610379/eU6AZ5oBM_12FIkwvtiasyjywx7WYW7wzuWJwWU3u2kadKko7QKpXcl3Kd0fJspPhM4w"
      ]
    },
    "malicious-packages-origins": [
      {
        "id": "RLMA-2025-02495",
        "import_time": "2025-04-25T09:36:45.210811176Z",
        "modified_time": "2025-04-23T16:06:16Z",
        "sha256": "60f9219187ef9ed45dfc3b7c27f27c66f0a32769437a28f83827bad54e7bd624",
        "source": "reversing-labs",
        "versions": [
          "0.4.16",
          "0.4.17",
          "0.4.18",
          "0.4.19",
          "0.4.20",
          "0.4.21"
        ]
      },
      {
        "id": "pypi/2025-03-bitcoinlibdbfix/bitcoinlib-dev",
        "import_time": "2025-12-02T22:30:54.992636288Z",
        "modified_time": "2025-03-30T15:18:14Z",
        "ranges": [
          {
            "events": [
              {
                "introduced": "0"
              }
            ],
            "type": "ECOSYSTEM"
          }
        ],
        "sha256": "76ff9fe5768d125b1c73e1502902291a8882bfc28b2b333dde6e10b21b372b95",
        "source": "kam193"
      },
      {
        "id": "pypi/2025-03-bitcoinlibdbfix/bitcoinlib-dev",
        "import_time": "2025-12-02T23:07:18.025049824Z",
        "modified_time": "2025-03-30T15:18:14Z",
        "ranges": [
          {
            "events": [
              {
                "introduced": "0"
              }
            ],
            "type": "ECOSYSTEM"
          }
        ],
        "sha256": "a198ee5e2df9c67dcbd24ed19a8fec5d462bbb3c0eb474cf00cd299e75074ef5",
        "source": "kam193"
      },
      {
        "id": "pypi/2025-03-bitcoinlibdbfix/bitcoinlib-dev",
        "import_time": "2025-12-10T21:38:57.318887515Z",
        "modified_time": "2025-03-30T15:18:14Z",
        "sha256": "cab20eb85be911dd4de0c38b292bb096aa60beb2cf67c9c2920b8b1ffbbfb2a2",
        "source": "kam193",
        "versions": [
          "0.4.16",
          "0.4.17",
          "0.4.18",
          "0.4.19",
          "0.4.20",
          "0.4.21"
        ]
      }
    ]
  },
  "details": "\n---\n_-= Per source details. Do not edit below this line.=-_\n\n## Source: kam193 (a198ee5e2df9c67dcbd24ed19a8fec5d462bbb3c0eb474cf00cd299e75074ef5)\nIt overwrites the \u0027clw\u0027 command from legit bitconinlib package and attempts to exfiltrate its database on the usage.\n\nAs a context, it appears to be created to lure users seeking for help with the bitconinlib package: https://github.com/1200wd/bitcoinlib/issues/455#issuecomment-2764513104\n\n\n---\n\nCategory: MALICIOUS - The campaign has clearly malicious intent, like infostealers.\n\n\nCampaign: 2025-03-bitcoinlibdbfix\n\n\nReasons (based on the campaign):\n\n\n - files-exfiltration\n\n\n - crypto-related\n\n\n - action-hidden-in-lib-usage\n\n\n - exfiltration-crypto\n",
  "id": "MAL-2025-3436",
  "modified": "2025-12-11T09:27:52Z",
  "published": "2025-03-30T15:18:14Z",
  "references": [
    {
      "type": "ARTICLE",
      "url": "https://www.reversinglabs.com/blog/malicious-python-packages-target-popular-bitcoin-library"
    },
    {
      "type": "ADVISORY",
      "url": "https://security.snyk.io/vuln/SNYK-PYTHON-BITCOINLIBDEV-9667327"
    },
    {
      "type": "WEB",
      "url": "https://github.com/1200wd/bitcoinlib/issues/455#issuecomment-2764513104"
    },
    {
      "type": "WEB",
      "url": "https://bad-packages.kam193.eu/pypi/package/bitcoinlib-dev"
    }
  ],
  "schema_version": "1.7.4",
  "summary": "Malicious code in bitcoinlib-dev (PyPI)"
}


Log in or create an account to share your comment.




Tags
Taxonomy of the tags.


Loading…

Loading…

Loading…

Sightings

Author Source Type Date

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…