Back to skill

Security audit

Swipenode

Security checks for vulnerabilities and agentic risk

Overview

SwipeNode is a web-scraping skill that openly uses WAF-bypass/TLS spoofing and installs an unaudited external binary/MCP server, so it needs Review before installation.

Install only after reviewing the actual SwipeNode source you intend to build, pinning a trusted commit or release, and confirming which repository is canonical. Use it only on sites where you have permission to automate access, avoid passing secrets in headers unless required, and review any Claude Desktop MCP configuration changes before enabling them.

Vulnerability Patterns
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Findings (1)

T03 · Remote Payload Retrieval and Execution

Error
Location
SKILL.md:134
Finding
Unpinned Remote Source Retrieval and Execution<![CDATA[ ## Vulnerability Details **File Location**: `SKILL.md:134-141`; related conflicting installation instructions at `README.md:27-32` **Vulnerability Type**: Remote retrieval, compilation, and execution of mutable external source code **Risk Level**: High ### Vulnerable Code From `SKILL.md:134-141`: ```bash # Requires Go 1.24+ export PATH="/tmp/go/bin:$PATH" # or system Go git clone https://github.com/sirToby99/swipenode.git /tmp/swipenode-build cd /tmp/swipenode-build go build -o ~/.openclaw/workspace/skills/swipenode/swipenode . ``` Conflicting instructions from `README.md:27-32`: ```bash git clone https://github.com/Nefas11/swipenode.git cd swipenode go build -o swipenode . chmod +x swipenode ``` The package also instructs users to execute the resulting binary and register it as an MCP server: ```bash ~/.openclaw/workspace/skills/swipenode/swipenode extract --url <url> ~/.openclaw/workspace/skills/swipenode/swipenode install-mcp ``` ### Technical Analysis The installation process clones the mutable default branch of an external GitHub repository and immediately compiles it into a locally executable binary. It does not pin a reviewed commit, verify a cryptographic checksum, validate a release signature, or include the source code in the audited package. Consequently, the code ultimately executed can differ from the code present when the Skill documentation was reviewed. A repository compromise, malicious update, ownership transfer, or force-push could replace the effective payload without requiring any change to this Skill package. The source identity is also inconsistent: `SKILL.md` references `sirToby99/swipenode`, while `README.md` directs users to clone `Nefas11/swipenode`. This ambiguity increases the chance of retrieving an unintended or less trusted implementation. No executable source, dependency manifest, binary, checksum, or signature is included in the audited artifact. Therefore, the implementation's network behavior, handling o ...[truncated 1889 chars]
Remediation
<![CDATA[ ## Remediation Suggestions 1. Include the complete auditable source code in the Skill package rather than downloading mutable source during installation. 2. Select one canonical repository and make all repository URLs, credits, and installation instructions consistent. 3. Pin external retrieval to a specific reviewed commit hash or immutable signed release tag. 4. Publish a SHA-256 checksum for every distributed source archive and binary, and verify it before compilation or execution. 5. Sign releases and document signature verification using a trusted maintainer key. 6. Include dependency manifests and lock data so transitive Go dependencies can be audited and reproduced. 7. Prefer reproducible builds and publish build provenance or attestations linking binaries to reviewed source. 8. Require explicit user confirmation before `install-mcp` modifies Claude Desktop or other persistent configuration. 9. Document the exact files and configuration entries modified by MCP installation and provide an uninstall procedure. 10. Restrict outbound requests to explicitly authorized HTTP or HTTPS targets. Validate redirects and block loopback, private, link-local, and cloud metadata addresses by default unless the user deliberately authorizes internal-network access. 11. Warn users not to pass authentication headers or secrets unless required, and ensure logs and error messages redact sensitive header values. 12. Subject the actual source and compiled artifact to a separate security review before deployment because their behavior cannot be established from the documentation-only package. ]]>
Vulnerability Patterns
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The README prominently markets 'bypasses Cloudflare/Datadome via TLS fingerprint spoofing' without any warning about legal, policy, or abuse implications. In a skill intended for AI agents, this normalizes access-control evasion and makes misuse more likely, especially because agents may be directed to scrape sites that deliberately restrict automated access.

Missing User Warnings

Medium
Confidence
82% confidence
Finding
The README instructs users to run network-fetching and desktop configuration registration commands for agent integration without clearly warning that the tool will make outbound requests and modify local Claude Desktop MCP configuration. In an agent-skill context, that omission increases the chance of unreviewed network access and local system changes being enabled by users or agents who treat the skill as low risk.

Vague Triggers

Medium
Confidence
95% confidence
Finding
The trigger phrases are broad and generic, including terms like "scrape," "cloudflare," and "extract data," which can cause the skill to be invoked in contexts where the user did not specifically request this tool. In this skill’s context, that is more dangerous because it advertises WAF/TLS spoofing and scraping functionality, so accidental invocation could steer an agent toward unauthorized data extraction or protective-control bypass behavior.

Static analysis

No suspicious patterns detected.