Back to skill

Security audit

stock watch

Security checks for vulnerabilities and agentic risk

Overview

This skill coherently provides stock quote lookup and a local Markdown watchlist, with no evidence of hidden execution, credential access, or unrelated data handling.

Install this if you want stock quote lookup and a Markdown watchlist; keep the watchlist file in your project directory, review commands that rewrite or remove watchlist rows, and avoid pointing --file at unrelated Markdown documents or broad allowed roots.

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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (6)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding

The skill advertises capabilities that include network access, file reads/writes, environment use, and MCP interactions, but it does not declare any explicit tool scope or permission boundaries in the manifest. This weakens least-privilege controls and makes it harder for a host or reviewer to constrain what the skill may access, increasing the blast radius if the script is modified, misused, or prompted into operating on unintended files or roots.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The instruction says to summarize results to the user '用中文', which imposes a specific language policy on responses. The file does not indicate that Chinese is optional or contingent on user preference beyond some trigger examples, so this is a natural-language locale policy violation.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

This code creates parent directories and writes a Markdown file, potentially overwriting an existing watchlist when --force is used, but it does not emit any user-facing notice or confirmation before performing the write. Although the script's purpose includes managing a watchlist, these file modifications are safety-relevant and are only indirectly implied by command names.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The sync command saves a transformed version of the watchlist back to disk, changing user data in place, but there is no confirmation prompt, log message, comment, or other explicit disclosure near the operation. Users may not realize the command mutates the file rather than only displaying normalized results.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

This command persists a new or updated row to the watchlist file, but the code provides no user-visible notice before writing. While modification is part of the command's purpose, there is still no explicit runtime disclosure of the exact file being changed.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The remove command deletes a row from the in-memory watchlist and immediately writes the updated document back to disk, but there is no confirmation prompt or pre-write disclosure. This is a destructive modification of user data, even though limited in scope.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.