Back to skill

Security audit

Echotik Api Assistant

Security checks for vulnerabilities and agentic risk

Overview

The skill fits its EchoTik API research purpose, but its setup stores EchoTik credentials persistently in a shell profile as plaintext.

Review the setup behavior before installing. Use this skill only if you are comfortable with EchoTik API calls being made from your account, and avoid storing the password in a shell profile or passing it with --password unless you accept the local exposure risk. Prefer session-only environment variables or a secret manager, and rotate credentials if they have already been stored in dotfiles or logs.

Vulnerability Patterns
  • 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
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
Location
script/configure-echotik-auth.mjs:49
Finding

EchoTik Credentials Are Entered Visibly and Persisted in Plaintext

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

These rules prescribe that the language parameter must follow the session language, but only permit en-US for English and zh-CN for Chinese. This is a natural-language locale policy constraint that can exclude or override users in other languages without explicit opt-in or a documented justification for limiting supported locales.

Content

No source excerpt is available for this finding.

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The playbook activates on broad phrases like requests for 'a report,' 'a workflow recommendation,' 'a multi-step analysis,' or any 'business-facing answer,' which are common across many unrelated user tasks. In an agent setting, this can cause over-triggering of the skill, routing general requests into authenticated EchoTik workflows and increasing the chance of unnecessary external API access or unintended data handling.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The document states that seller category resolution uses fixed en-US/zh-CN language rules, but it does not indicate that the user can choose their preferred language or that the restriction is required for a documented region-specific purpose. This is a natural-language locale policy constraint that may force behavior based on language without opt-in.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The script collects EchoTik credentials and persists them directly into the user's shell profile as plaintext environment variable exports. This creates long-lived credential exposure to any local process, backup system, shell-history-adjacent inspection, or accidental sharing of dotfiles, which is a real security weakness even if done for convenience rather than with malicious intent.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

When credentials are supplied via CLI arguments or interactive input, the script writes them to the shell profile without a clear upfront disclosure that they will be stored persistently in plaintext. Users may unknowingly expose sensitive credentials in dotfiles, backups, or account migrations, and CLI-supplied secrets may already have additional exposure through process listings or shell history depending on how the command is invoked.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

This code reads credentials from environment variables, builds a Basic Authorization header, and sends it in a network request. The script has no confirmation prompt, no user-facing notice before transmission, and no inline comment or docstring disclosing that credentials and request data will be sent to a remote service.

Content

No source excerpt is available for this finding.

Static analysis

Detected: suspicious.env_credential_access

Environment variable access combined with network send.

Critical
Code
suspicious.env_credential_access
Location
script/echotik-api.mjs:64