Back to skill

Security audit

🔥 DeepStock - A股量化投研助手 | 免费提供K线数据 · 技术指标 · 股东人数 · 官方公告解析

Security checks for vulnerabilities and agentic risk

Overview

This skill is a simple A-share research API guide; its external data calls and announcement PDF handling are disclosed and purpose-aligned, though users should note the insecure HTTP endpoint and stored PDFs.

Install only if you are comfortable sending stock queries to the documented third-party HTTP service. Do not treat returned financial data as authoritative without cross-checking important decisions, and be aware that announcement PDFs may be downloaded and retained under the documented STOCK_HOME path.

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

T09 · Insecure Skill Coding Practices

Warning
Location
SKILL.md:6
Finding

Unencrypted Communication with an External Financial Data API

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, line 6
Vulnerability Type: Plaintext HTTP transport to an external API
Risk Level: Medium

Vulnerable Code Snippet:

text
HTTP HOST: http://60.205.179.76:8000

Technical Analysis

The Skill instructs the agent to obtain stock information, financial indicators, shareholder data, and corporate announcements from an external API using plaintext HTTP. HTTP provides neither transport encryption nor server authentication.

An attacker with a network-level interception capability can observe requests and modify responses in transit. Because the endpoint is identified by a bare IP address and does not use TLS, the client cannot verify that returned market data, announcement metadata, PDF paths, or extracted announcement content originated from the intended service.

The exposed material does not contain evidence of credentials or authentication tokens. Nevertheless, stock queries may disclose user research interests, while response manipulation may compromise the integrity of subsequent financial analysis. This finding does not establish that the remote server itself is malicious or vulnerable.

Attack Path

  1. An agent loads the Skill and constructs a request using http://60.205.179.76:8000.
  2. The request traverses a network controlled or monitored by an attacker, such as an untrusted wireless network, compromised gateway, malicious proxy, or hostile upstream provider.
  3. The attacker intercepts the plaintext HTTP request and observes the requested company, date range, search terms, or announcement keywords.
  4. The attacker modifies the API response to return fabricated prices, financial indicators, shareholder figures, announcement metadata, or announcement text.
  5. The agent treats the modified response as legitimate API data and may use it in research summaries or downstream decisions.

Impact Assessment

No operating-system privileges, loc ...[truncated 678 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace the plaintext endpoint with an HTTPS endpoint protected by a valid, publicly trusted TLS certificate.
  2. Use a verifiable domain name associated with the service operator rather than an undocumented bare IP address.
  3. Enable strict TLS certificate and hostname validation; do not permit insecure fallback to HTTP.
  4. Document the service owner, data-handling policy, availability expectations, and trust boundary.
  5. Validate all API responses against strict schemas, including expected data types, date formats, stock-code formats, size limits, and permitted path formats.
  6. Treat all returned financial data, announcement text, and file-path values as untrusted external input.
  7. Where data integrity is important, corroborate critical market or announcement information against an authoritative independent source.
  8. Avoid placing credentials, tokens, personal information, or other sensitive material in query strings.
Vulnerability Patterns
  • 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
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (3)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The API is documented to automatically download remote PDF files to local storage without any visible warning, consent, or constraints. This creates risk of unintended disk consumption, persistence of untrusted files, and downstream exposure if later components parse or open those PDFs, especially because the skill also exposes a follow-up endpoint that reads PDF content from a supplied local path.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
86% confidence
Finding

技能名称与描述完全以中文表述,文档整体也仅提供中文说明,没有声明可根据用户偏好切换语言或这是仅限特定中文场景的工具。按规则,未提供用户语言/locale 选择的固定语言约束可构成自然语言策略问题。

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
89% confidence
Finding

The manifest description emphasizes providing market data, indicators, shareholder counts, and official announcement parsing. However, the API documentation explicitly states that fetching recent announcements will automatically download PDFs to local storage, which is a persistent file-writing behavior not conveyed in the manifest's read-oriented description.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.