Back to skill

Security audit

scrapling-skill

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent Scrapling web-scraping skill with disclosed anti-bot and install behavior, but users should apply legal, terms-of-service, and dependency-supply-chain caution.

Install and use this only for public, authorized scraping where you have checked the site's terms and local legal requirements. Prefer pinning Scrapling and dependencies in your own environment, avoid running the installer as an administrator, and do not use the anti-bot fetchers for login bypass, private data collection, paywall circumvention, or targets where permission is unclear.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:34
Finding
Unpinned Third-Party Dependency and Package-Provided Installer<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md`, lines 34–35 **Vulnerability Type**: Unpinned dependency installation and execution of a remotely sourced package **Risk Level**: Medium ### Vulnerable Code ```powershell D:\clawtest\.venv\Scripts\python -m pip install "scrapling[fetchers]" D:\clawtest\.venv\Scripts\scrapling install ``` ### Technical Analysis The installation instructions retrieve `scrapling` and its optional dependencies without specifying reviewed versions or cryptographic hashes. Consequently, the package contents and transitive dependency graph can change after the Skill has been audited. The following command then executes a CLI supplied by the newly downloaded package: ```powershell D:\clawtest\.venv\Scripts\scrapling install ``` This creates supply-chain exposure because the effective code being executed is controlled by package versions resolved at installation time rather than by immutable, reviewed artifacts. The installer may also retrieve browser-related components from external sources. No evidence establishes that the current `scrapling` package is malicious. The vulnerability is the absence of version pinning, integrity verification, and restrictions on installer downloads. ### Attack Path 1. An attacker compromises the package, one of its transitive dependencies, its publishing account, the package index, or an installer download source. 2. The attacker publishes a malicious release or replaces a remotely retrieved component. 3. A user follows the Skill instructions and installs `"scrapling[fetchers]"` without a version or hash constraint. 4. Package resolution selects the compromised artifact. 5. The user invokes the package-provided `scrapling install` command. 6. Malicious package or installer code executes under the account running the commands. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the invoking user. This may permit access to files, envi ...[truncated 464 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Pin `scrapling` and every transitive dependency to reviewed versions using a lock file. 2. Require cryptographic hashes, such as through `pip install --require-hashes -r requirements.lock`. 3. Generate the lock file from a trusted environment and retain it with the audited Skill. 4. Use a trusted internal package mirror or explicitly configured approved package index. 5. Document all external domains and artifacts contacted by `scrapling install`. 6. Pin and verify browser or runtime components downloaded by the installer. 7. Run installation and scraping under a dedicated, non-administrative account with restricted filesystem and credential access. 8. Where practical, distribute pre-reviewed and integrity-verified artifacts instead of executing an installer whose payload can change remotely. 9. Re-audit and update the lock file through a controlled dependency-update process. ]]>
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Hidden Instructions

High
Category
Prompt Injection
Content
# scrapling skill

ClawHub-ready package for the Scrapling skill.
Confidence
60% confidence
Finding
Hidden instructions were detected in comments or invisible text. These could contain malicious directives. Manual review is recommended.

Ae4

Medium
Category
analysis-evasion
Confidence
80% confidence
Finding
Suspicious Unicode normalization or mixed-script content

Vague Triggers

Medium
Confidence
93% confidence
Finding
The activation description is broad enough to trigger on many generic scraping requests, including ones where a narrower or more policy-aware skill might be more appropriate. In a scraping skill that explicitly mentions anti-bot and Cloudflare handling, overbroad activation increases the chance the agent will route borderline or risky collection tasks into tooling optimized for evasion rather than careful policy checks.

Vague Triggers

Medium
Confidence
91% confidence
Finding
The preference list uses generic trigger phrases like website scraping and data extraction without defining limits, which can cause the skill to activate for a wide range of requests. Because the skill also promotes anti-bot-resistant scraping, broad routing can funnel users toward techniques that may bypass site protections or terms, making misuse easier even if the document includes general safety language.

Static analysis

No suspicious patterns detected.