Back to skill

Security audit

Websocket Tester

Security checks for vulnerabilities and agentic risk

Overview

The skill is a WebSocket testing guide, but its ready-to-run examples include unsafe command construction and an under-scoped load test that users should review before installing.

Install only if you are comfortable reviewing and adapting the command examples. Pin or preinstall trusted tooling instead of using unpinned npx, pass host values as validated data rather than interpolating them into code, and run load tests only against systems you own or are explicitly authorized to test, preferably starting in staging with lower concurrency.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • 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
Findings (2)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:20
Finding

Unpinned Third-Party Package Download and Execution via npx

Content
View full analysis
&1 & WSCAT_PID=$! sleep 3 kill $WSCAT_PID 2>/dev/null ``` ### Technical Analysis The documented command invokes `wscat` through `npx` without specifying an exact package version, integrity information, lockfile, or trusted installation source. If the package is not already available locally, `npx` may retrieve the currently resolved version from the configured package registry and immediately execute it. Consequently, the code that runs can differ from the version originally reviewed. This creates exposure to upstream package compromise, registry or configuration manipulation, unexpected package updates, and malicious local package resolution. Package lifecycle scripts or the package's runtime code execute under the account that invokes the command. Although the package name does not appear to be a typographical imitation, the unpinned download-and-execute workflow removes reproducibility and weakens supply-chain controls. ### Attack Path 1. A user or Agent follows the Skill's connection-testing instructions. 2. The system does not have a trusted, locally locked copy of `wscat`. 3. `npx` resolves the unpinned package using the active npm registry and local npm configuration. 4. An attacker compromises the upstream package, influences the configured registry, or otherwise causes a malicious package version to be resolved. 5. `npx` downloads and executes that code without a separate review step. 6. The malicious package executes with the filesystem, network, environment-variable, and process privileges of the invoking user. ### Impact Assessment Successful exploitation would permit arbitrary code execution with the privileges of the user running the Skill. Potential consequences include: - Reading or modify ...[truncated 447 chars]
Remediation
View remediation
-c "wss://$HOST/ws" ``` - Prefer declaring the package in a committed `package.json` and lockfile, installing with `npm ci`, and invoking the locked local binary: ```bash npm ci --ignore-scripts ./node_modules/.bin/wscat -c "wss://$HOST/ws" ``` - Review whether disabling lifecycle scripts is compatible with the selected package before using `--ignore-scripts`. - Configure npm to use an approved registry and verify package provenance. - Use lockfile integrity hashes and dependency-scanning controls. - Avoid automatically downloading and executing dependencies during routine endpoint testing. - Document the reviewed package version and update it through a controlled security-review process. ]]>

T09 · Insecure Skill Coding Practices

Error
Location
SKILL.md:26
Finding

Arbitrary Python Code Injection Through HOST Interpolation

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (2)

Rp1

Medium
Category
MCP Rug Pull
Confidence
90% confidence
Finding

The skill invokes npx wscat without pinning a specific version, which causes execution of whatever package version the registry serves at runtime. If the package or one of its dependencies is compromised, users could execute untrusted code on their system simply by following the skill instructions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The load-test section provides ready-to-run guidance for 100 concurrent WebSocket connections over 60 seconds without any warning about authorization, environment scope, or service disruption. In a testing skill, this materially increases the chance a user will aim high-volume traffic at production or third-party systems, potentially causing denial of service or violating acceptable-use boundaries.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.