Back to skill

Security audit

港股卖空数据

Security checks for vulnerabilities and agentic risk

Overview

This skill fetches public Hong Kong short-selling market data and can save local CSV history files, with no evidence of hidden execution, credential access, exfiltration, or destructive behavior.

Before installing, expect the skill to contact HKEX and ETNet and to create or update local CSV files when history-saving functions or collection scripts are used. The main caution is reliability and disclosure: some documented examples may need import-path fixes, and persistence should be understood as local market-data caching.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • 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 (5)

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
87% confidence
Finding

The skill documents clear network-dependent functionality by retrieving data from HKEX and ETNet, but it does not declare any explicit tool scope or allowed network permissions. This creates a least-privilege and transparency problem: an agent or runtime may permit broader network access than users expect, and future changes to the skill could reuse that undeclared access to contact unintended endpoints.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The manifest description promises data from both HKEX and ETNet and includes historical retrieval. In the implementation, only two HKEX URLs are fetched, and get_history merely reads previously saved local CSV files rather than retrieving historical data from an external source such as ETNet.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The manifest describes a skill for getting Hong Kong stock short selling data from HKEX and ETNet, which implies retrieval of daily and historical data. This file goes beyond retrieval by implementing a local database builder that accumulates data over time and writes it to disk, introducing stateful storage behavior not reflected in the stated purpose.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The HistoricalDatabase class does more than fetch HKEX/ETNet data: it loads prior records, merges new data, de-duplicates them, and saves the result to a local CSV file. That is a broader data management capability than the manifest's concise description of obtaining short-selling data from external sources.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

This Python file performs filesystem writes via to_csv, persisting fetched stock data under the user's home directory. While the code's purpose is data retrieval/storage, there is no explicit user-facing warning in save_today or near the default data directory about creating and updating local files.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.