Back to skill

Security audit

股票历史行情查询 - Stock Historical Data Query - 极速数据

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward stock-market data lookup tool that uses a declared JisuAPI key and fixed HTTPS API calls, with no evidence of hidden persistence, destructive behavior, or unrelated data access.

Before installing, users should understand that their JisuAPI app key and stock lookup parameters will be sent to JisuAPI over HTTPS. Use a scoped/rotatable API key where possible and avoid entering sensitive information beyond stock codes and date ranges.

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
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (7)

Tp2

High
Category
MCP Tool Poisoning
Confidence
85% confidence
Finding
Mixing characters from multiple Unicode scripts in a single identifier is a common technique to create visually ambiguous tool names.

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill requires access to an environment variable containing an API key and performs network-backed data retrieval, but it does not explicitly declare a restrictive tool scope such as permissions or allowed-tools. This creates unnecessary ambiguity about what runtime capabilities the skill may use, weakening least-privilege controls and making accidental overreach or future abuse harder to contain.

Vague Triggers

Medium
Confidence
92% confidence
Finding
The activation text uses broad language such as 'or similar historical quote questions,' which can cause the agent to invoke the skill for loosely related requests without clear boundaries. Over-broad activation increases the chance of unintended network calls, unnecessary API-key use, and misrouting user requests to a third-party service when another skill or no external call would be more appropriate.

External Transmission

Medium
Category
Data Exfiltration
Content
import requests


BASE_URL = "https://api.jisuapi.com/stockhistory"


def _call_api(path: str, appkey: str, params: dict = None):
Confidence
87% confidence
Finding
The skill transmits user-supplied stock query parameters and an API credential to a third-party external service over the network. While this is expected for the skill's purpose, any external transmission introduces dependency on third-party trust, possible logging of request contents by the provider, and risk of credential misuse if the destination or transport assumptions change.

Natural-Language Policy Violations

Low
Confidence
92% confidence
Finding
The module docstring includes Chinese-language documentation for the API description, while the rest of the file is otherwise usable in a general context and does not indicate that the skill is region- or language-specific. This creates a natural-language locale constraint without explicit user opt-in or a documented justification.

Description-Behavior Mismatch

Low
Confidence
91% confidence
Finding
The manifest description centers on querying historical daily price data by code and time range for K-line/trend analysis. However, the implementation also provides `/stockhistory/list` to enumerate stocks and `/stockhistory/detail` to fetch single-stock detail fields such as latest price, change rate, volume, and P/E, which extend beyond the stated historical-range query behavior.

Context-Inappropriate Capability

Low
Confidence
72% confidence
Finding
The skill reads an API key from the process environment to authenticate outbound requests. While common operationally, the manifest describes only a user-facing stock-history query function and does not mention credential access as part of the skill's scope.

Static analysis

No suspicious patterns detected.