Back to skill

Security audit

Ultimate Flashcards / Podcasts Tutor

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent EchoDecks API integration, but users should understand it uses an API key to access and change their EchoDecks account data and spend credits.

Install only if you intend to let the agent use your EchoDecks account. Treat ECHODECKS_API_KEY like a password, avoid sending sensitive study text unless you are comfortable sharing it with EchoDecks, and confirm before running generation or review commands that spend credits or change account state.

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 (2)

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/echodecks_client.py:23
Finding

Unencoded User-Controlled Values in API Query Strings

Content
View full analysis
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Note
Location
scripts/echodecks_client.py:34
Finding

HTTP Requests Lack Connection and Read Timeouts

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

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The skill clearly states it integrates with an external API and exposes tools that retrieve user profile data, deck contents, study statistics, review activity, and study links, but it does not explicitly warn users that their account and study data will be transmitted to a third-party service. This creates a real transparency and privacy-risk issue because users may invoke tools without understanding the external data flow or account-scope access.

Content

No source excerpt is available for this finding.

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
82% confidence
Finding

No manifest is available, so there is no declared purpose that would justify sensitive environment-variable access. This script explicitly reads ECHODECKS_API_KEY from process environment to authenticate remote API calls, which is a privileged capability beyond a clearly stated local-only function.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
91% confidence
Finding

The client sends user-supplied fields such as topic, text, deck metadata, and study actions to a third-party API together with an API credential, but provides no user-facing disclosure, confirmation, or scoping of what data will leave the environment. In an agent skill context, this is risky because users may not realize their content and authenticated account actions are being transmitted externally.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/echodecks_client.py (reported line 37)May include surrounding context.

python
if method == "GET":
            response = requests.get(url, headers=headers)
        elif method == "POST":
            response = requests.post(url, headers=headers, json=data)
        elif method == "PUT":
            response = requests.put(url, headers=headers, json=data)
        elif method == "DELETE":

External Transmission

Medium
Category
Data Exfiltration
Confidence
80% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · scripts/echodecks_client.py (reported line 39)May include surrounding context.

python
elif method == "POST":
            response = requests.post(url, headers=headers, json=data)
        elif method == "PUT":
            response = requests.put(url, headers=headers, json=data)
        elif method == "DELETE":
            response = requests.delete(url, headers=headers)
        else:

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

The markdown file tells users to generate an API key and export it as an environment variable, but it does not include any caution about keeping the key secret or avoiding exposure in shared shells, logs, or screenshots. Because this involves handling credentials, the skill description should provide a basic user-facing warning about sensitive data.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill notes that some actions cost credits, but it does not adequately warn that generating cards or podcasts causes irreversible account-side consumption of paid or limited credits on an external service. This can lead to unintended spend or depletion of a user's account resources if invoked casually or automatically by an agent.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.