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.