Supply chain · pip · High

Critical Malicious Package: 'scrapetools2' (pip) Executes Arbitrary Remote Code

Threat Engine Auto-Feed · data current as of 2026-09-27

The pip package `scrapetools2` version 1.2.1 contains malicious code that fetches and executes arbitrary Python payloads from IPFS gateways. This auto-update mechanism, controlled by an attacker, allows for continuous remote code execution on systems where the package is installed.

  • Package: pip / scrapetools2
  • Affected versions: = 1.2.1
  • Severity: critical
  • Reach: unknown
  • Exposure: 65/100 (High)

What happened — Malicious package

The `scrapetools2` package, specifically version 1.2.1, includes an auto-update mechanism within its `downloader.py` module. This mechanism retrieves encrypted payloads from public IPFS gateways using an author-controlled IPNS name. These payloads are then decrypted using a key bundled with the package, written to local files, and executed in-process.

How the attack works

This is a supply-chain attack where a seemingly legitimate software package is compromised to deliver malicious functionality. The package, once installed, establishes a persistent connection to an attacker-controlled remote source. It then continuously fetches and executes arbitrary code, bypassing standard integrity checks by using a pre-shared key for decryption and a mutable pointer (IPNS) for content delivery. Any code path that triggers the package's advertised runtime flow will initiate this fetch-and-execute cycle.

Who's exposed

Profiles most at risk

  • Development teams using the pip ecosystem
  • Organizations with CI/CD pipelines that pull `scrapetools2` version 1.2.1
  • Systems where `scrapetools2` 1.2.1 is a direct or transitive dependency

Conditions that increase exposure

  • Unpinned dependencies that allow `scrapetools2` 1.2.1 to be installed
  • Lack of dependency lockfiles (e.g., `requirements.txt` with exact versions)
  • Use of internal package mirrors that may not have flagged or removed the malicious version
  • Any application code that invokes the `RuntimeSite` or `browser-pool` flow within `scrapetools2`

Blast-radius scenarios

  • An attacker gains remote code execution capabilities on any system where the malicious package is installed and its update mechanism is triggered.
  • The attacker can continuously update and change the executed payload, allowing for dynamic and evolving malicious activities.
  • Compromised systems could be used for data exfiltration, further network compromise, or resource abuse.

What to do (defensive)

Detect

  • Scan dependency trees for `scrapetools2` version 1.2.1 in `pip` projects.
  • Monitor network traffic for connections to known IPFS gateways (e.g., eu.orbitor.dev, dget.top, ipfs.filebase.io) from development or production systems.
  • Implement software composition analysis (SCA) tools to identify known malicious packages and vulnerable dependencies.
  • Review system logs for unexpected file writes or process executions originating from `scrapetools2` directories.

Contain

  • Immediately quarantine or isolate any systems identified with `scrapetools2` version 1.2.1 installed.
  • Block network access to known malicious IPFS gateways from affected systems.
  • Remove `scrapetools2` version 1.2.1 from all dependency lists and lockfiles.
  • Prevent new installations of `scrapetools2` version 1.2.1 across all environments.

Remediate

  • Uninstall `scrapetools2` version 1.2.1 from all affected systems.
  • Perform a thorough forensic analysis on any system where the malicious package was installed to identify the extent of compromise.
  • Rotate credentials for any services or accounts that may have been exposed on compromised systems.
  • Update dependency management practices to use strict version pinning and regularly review third-party package integrity.

Frontier verdict — High

Prioritize immediate detection and removal of `scrapetools2` version 1.2.1 due to critical remote code execution capabilities.

Sources

For detection-engineering and awareness only · point-in-time · not security advice · sourced from the GitHub Advisory Database.