Back to skill

Security audit

teemtape-cli

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent teemtape CLI helper with disclosed token, network, and note-posting behavior, but it depends on an external npm CLI that users should install carefully.

Install only if you intend to let the agent use teemtape. Prefer a pinned or locally reviewed version of `@teemtape/cli`, do not paste tokens into chat when a saved config or environment variable will work, and only post notes that are safe to share with other watchlist viewers.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (11)

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 35)May include surrounding context.

md
| API URL | `--api-url` | `TEEMTAPE_API_URL` | `https://api.teemtape.com` |
| Token | `--token` | `TEEMTAPE_TOKEN` | (none — required for watchlist commands) |
| Web URL | `--web-url` | `TEEMTAPE_WEB_URL` | `https://www.teemtape.com` |
| Access token | `--access-token` | `TEEMTAPE_ACCESS_TOKEN` | (none — only for teemtape Pro private watchlists) |

## Local development

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 97)May include surrounding context.

md
| `notes <SYMBOL>` | Yes | Read note thread |
| `note <SYMBOL> -m "…"` | Yes | Post anonymous note |
| `share` | Yes | Print shareable watchlist URL |
| `login [PAT]` | No | Save a teemtape Pro access token (unlocks private watchlists) |
| `logout` | No | Forget the saved access token |
| `watchlists` | PAT | List the saved watchlists behind the access token (`*` = in use) |
| `use <name\|token\|url>` | PAT | Switch which saved list `list`/`add`/`notes`/`note` act on |

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 98)May include surrounding context.

md
| `notes <SYMBOL>` | Yes | Read note thread |
| `note <SYMBOL> -m "…"` | Yes | Post anonymous note |
| `share` | Yes | Print shareable watchlist URL |
| `login [PAT]` | No | Save a teemtape Pro access token (unlocks private watchlists) |
| `logout` | No | Forget the saved access token |
| `watchlists` | PAT | List the saved watchlists behind the access token (`*` = in use) |
| `use <name\|token\|url>` | PAT | Switch which saved list `list`/`add`/`notes`/`note` act on |

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 149)May include surrounding context.

md
| `notes <SYMBOL>` | Yes | Read note thread |
| `note <SYMBOL> -m "…"` | Yes | Post anonymous note |
| `share` | Yes | Print shareable watchlist URL |
| `login [PAT]` | No | Save a teemtape Pro access token (unlocks private watchlists) |
| `logout` | No | Forget the saved access token |
| `watchlists` | PAT | List the saved watchlists behind the access token (`*` = in use) |
| `use <name\|token\|url>` | PAT | Switch which saved list `list`/`add`/`notes`/`note` act on |

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 151)May include surrounding context.

md
| `notes <SYMBOL>` | Yes | Read note thread |
| `note <SYMBOL> -m "…"` | Yes | Post anonymous note |
| `share` | Yes | Print shareable watchlist URL |
| `login [PAT]` | No | Save a teemtape Pro access token (unlocks private watchlists) |
| `logout` | No | Forget the saved access token |
| `watchlists` | PAT | List the saved watchlists behind the access token (`*` = in use) |
| `use <name\|token\|url>` | PAT | Switch which saved list `list`/`add`/`notes`/`note` act on |

Credential Access

High
Category
Privilege Escalation
Confidence
70% confidence
Finding

Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.

Content

Scanner excerpt · SKILL.md (reported line 156)May include surrounding context.

md
| `notes <SYMBOL>` | Yes | Read note thread |
| `note <SYMBOL> -m "…"` | Yes | Post anonymous note |
| `share` | Yes | Print shareable watchlist URL |
| `login [PAT]` | No | Save a teemtape Pro access token (unlocks private watchlists) |
| `logout` | No | Forget the saved access token |
| `watchlists` | PAT | List the saved watchlists behind the access token (`*` = in use) |
| `use <name\|token\|url>` | PAT | Switch which saved list `list`/`add`/`notes`/`note` act on |

Credential Access

High
Category
Privilege Escalation
Confidence
86% confidence
Finding

Allowing use <name|token|url> means the skill explicitly supports accepting raw watchlist tokens or URLs as direct input to switch context. In an agent setting, this increases the chance that sensitive tokens are passed through chat or command arguments, which may leak via logs, histories, or transcripts and can grant access to anonymous watchlists.

Content

Scanner excerpt · SKILL.md (reported line 99)May include surrounding context.

md
| `share` | Yes | Print shareable watchlist URL |
| `login [PAT]` | No | Save a teemtape Pro access token (unlocks private watchlists) |
| `logout` | No | Forget the saved access token |
| `watchlists` | PAT | List the saved watchlists behind the access token (`*` = in use) |
| `use <name\|token\|url>` | PAT | Switch which saved list `list`/`add`/`notes`/`note` act on |
| `inbox [--list X] [--symbol S] [--limit N] [--before ISO]` | PAT | Every note across all your saved lists, newest first |
| `config` | No | Show resolved config (token masked) |

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The description includes broad activation cues such as managing watchlists, listing quotes, and agent collaboration on tickers, which may match generic financial conversations and trigger the skill outside a clearly intended context. Over-broad routing increases the chance that the agent invokes a networked tool unnecessarily, potentially exposing tokens, user intent, or causing writes such as posting notes.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
92% confidence
Finding

The skill explicitly recommends npx @teemtape/cli without pinning a version, which creates a supply-chain exposure: future runs may fetch a different package version than the one reviewed. If the package is compromised or a breaking release is published, the agent could execute unintended code with the user's environment and network access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The command reference instructs agents to post notes to a remote service but does not clearly warn that the message content leaves the local environment and is publicly attributable as agent-cli. In an agent workflow, this can lead to unintended disclosure of sensitive user data, internal reasoning, or proprietary information if an agent includes context in the note body without understanding the external visibility.

Content

No source excerpt is available for this finding.