Back to skill

Security audit

Echo Gate

Security checks for vulnerabilities and agentic risk

Overview

Echo Gate is a coherent local tool-gateway skill, but users should be careful with its unpinned global npm install and credential-handling commands.

Install only if you trust the `@builtbyecho/echo-gate` npm package and publisher, prefer a pinned reviewed version where possible, and avoid exposing `ECHO_GATE_ADMIN_TOKEN`, `ECHO_GATE_KEY`, or unrelated secrets during install or tool execution.

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:52
Finding
Unpinned Global Installation and Execution of a Third-Party npm Package## Vulnerability Details **File Location**: `SKILL.md`, lines 52–56 **Vulnerability Type**: `T08: Insecure Dependencies` **Risk Level**: Medium **Complete Code Snippet**: ```bash npm install -g @builtbyecho/echo-gate echo-gate ``` ### Technical Analysis The skill directs users to globally install the latest available version of `@builtbyecho/echo-gate` from the npm registry and then execute its command-line interface. The dependency is not pinned to an exact reviewed version, no integrity hash or lockfile is supplied, and the package implementation is absent from the audited project. npm installation may execute package lifecycle scripts. A global installation also makes the package's executable broadly available in the user's environment. Consequently, the effective code executed by these instructions can change after this skill has been reviewed. Although the scoped package name and referenced GitHub repository reduce typographical-squatting risk, they do not establish package integrity or reproducible installation. ### Attack Path 1. An attacker compromises the npm publisher account, package release process, or a transitive dependency. 2. The attacker publishes a malicious version under `@builtbyecho/echo-gate` or causes malicious code to enter its dependency graph. 3. A user follows the skill's unpinned `npm install -g` instruction. 4. npm retrieves the currently resolved package and dependencies rather than a specifically reviewed artifact. 5. Malicious code executes through an installation lifecycle script or when the user runs `echo-gate`. 6. The malicious process accesses data and credentials available to the installing user, potentially including Echo Gate environment variables. ### Impact Assessment Successful exploitation could execute arbitrary code with the privileges of the user performing the installation. The affected scope may include: - Files readable or writable by that user. - Environmen ...[truncated 609 chars]
Remediation
## Remediation Suggestions 1. Pin the dependency to an exact reviewed version rather than installing the moving latest release: ```bash npm install --save-exact @builtbyecho/echo-gate@<reviewed-version> ``` 2. Prefer a project-local, lockfile-backed installation over a global installation, and commit the generated lockfile. 3. Use `npm ci` in controlled deployments to enforce the dependency graph recorded in the lockfile. 4. Verify npm package provenance, publisher identity, signatures or attestations, and registry integrity metadata before installation. 5. Audit both the package and its transitive dependencies for lifecycle scripts and known vulnerabilities. 6. Disable lifecycle scripts during installation where operationally feasible, then explicitly execute only reviewed build steps: ```bash npm ci --ignore-scripts ``` 7. Run installation and execution under a least-privileged account without unnecessary secrets in the environment. 8. Avoid exposing `ECHO_GATE_ADMIN_TOKEN`, `ECHO_GATE_KEY`, and unrelated credentials to package installation processes. 9. Document the expected package checksum, source revision, and supported version so users can verify that the installed artifact matches the audited release.
Vulnerability Patterns
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • 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 (1)

Tool Parameter Abuse

High
Category
Tool Misuse
Content
- `POST /tools`
- `POST /keys`
- `GET /keys`
- `DELETE /keys/:id`
- `PUT /keys/:id/policies/:slug`
- `POST /tools/:slug/call`
- `GET /receipts`
Confidence
80% confidence
Finding
Tool parameters are crafted to achieve unintended or unsafe behavior. Parameter abuse can bypass intended safety checks (e.g. shell=True, --force, dangerous glob patterns).

Static analysis

No suspicious patterns detected.