T09 · Insecure Skill Coding Practices
- Location
SKILL.md:26- Finding
Unauthenticated HTTP Transport for Financial Market Data
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md:26,36-37; duplicate instructions ina-stock-technical-analysis/SKILL.md:26,36-37
Vulnerability Type: T09: Insecure Skill Coding Practices
Risk Level: MediumVulnerable code in
SKILL.md:text http://push2.eastmoney.com/api/qt/stock/get?secid=0.{代码}&fields=f43,f44,f45,f46,f47,f48,f57,f58,f60,f170,f171text http://push2.eastmoney.com/api/qt/stock/get?secid=1.000001&fields=f43,f57,f58,f60 http://push2.eastmoney.com/api/qt/stock/get?secid=0.399001&fields=f43,f57,f58,f60The same vulnerable endpoints appear at the corresponding lines in
a-stock-technical-analysis/SKILL.md.Technical Analysis
The Skill directs the Agent to retrieve stock and index information through plaintext HTTP. HTTP does not provide transport encryption, server authentication, or response-integrity protection. An attacker capable of observing or modifying network traffic—such as a malicious access point, compromised proxy, or hostile network intermediary—could intercept these requests and replace the returned market values.
The affected responses supply decision-relevant fields used to generate technical-analysis conclusions. Manipulating prices, daily highs and lows, previous closes, trading volumes, or index values could consequently corrupt trend comparisons, support and resistance levels, valuation commentary, and risk assessments.
No credentials or private user information are shown as being transmitted through these endpoints. The issue concerns the integrity and authenticity of public financial data rather than confidentiality or direct system compromise.
Attack Path
- A user invokes the Skill to analyze an A-share security.
- The Agent requests stock or index data from one of the documented
http://push2.eastmoney.comendpoints. - An attacker with a network interception position captures the plaintext HTTP request.
- The attacker returns a forged or modified API response containin ...[truncated 767 chars]
- Remediation
View remediation
Remediation Suggestions
- Replace every
http://push2.eastmoney.comURL with a verifiedhttps://endpoint supported by the provider. - Reject redirects that downgrade requests from HTTPS to HTTP.
- Treat browser-page and API content as untrusted input, and validate response structure, expected field types, stock identifiers, and reasonable numeric ranges before generating analysis.
- Cross-check decision-critical values against an independent HTTPS-protected source or the HTTPS Eastmoney browser snapshot.
- Validate interpolated stock codes with a strict allowlist pattern such as
^[0-9]{6}$before constructing URLs. - If secure transport or validation fails, stop using the affected values and explicitly report that trustworthy data is unavailable rather than producing conclusions from unverified input.
- Apply the same corrections to both duplicated Skill files to prevent the insecure instructions from remaining active in one copy.
- Replace every
