Back to skill

Security audit

上市公司财务报告分析

Security checks for vulnerabilities and agentic risk

Overview

The skill is a simple stock-report lookup guide, but it tells users to send an API key over unencrypted HTTP.

Review before installing or using. The skill does not appear to contain executable or hidden behavior, but you should not send a real API key using the documented HTTP URLs. Only use it if the provider supports HTTPS for the API and returned report pages, and rotate any key that may already have been used over plaintext HTTP.

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

Error
Location
SKILL.md:27
Finding

API Credential Transmitted Over Unencrypted HTTP

Content
View full analysis

Vulnerability Details

File Location: SKILL.md:27-28, with additional insecure HTTP examples at SKILL.md:53, SKILL.md:63-64, and SKILL.md:70-71
Vulnerability Type: Plaintext transmission of sensitive credentials
Risk Level: High

Vulnerable Code

text
GET http://api.beawan.com/beawanSkill/api/skill/report
Header: X-API-KEY: <your-api-key>

The returned report URL is also documented as plaintext HTTP:

json
{
  "code": 0,
  "data": {
    "url": "http://api.beawan.com/industry/html/load?name=jm43RF6Yb*K8GjWoO9VbDYxmHGa5rwppT97kMmM4mgM="
  }
}

The usage examples reinforce the insecure transport:

text
GET http://api.beawan.com/beawanSkill/api/skill/report?comCode=000001&year=2024&type=年报
X-API-KEY: sk-your-api-key-here
text
GET http://api.beawan.com/beawanSkill/api/skill/report?comCode=600519&year=2024&type=中报
X-API-KEY: sk-your-api-key-here

Technical Analysis

The Skill instructs clients to send an API credential in the X-API-KEY header over plaintext HTTP. HTTP provides neither transport encryption nor server integrity protection. An attacker able to observe or modify network traffic—such as a malicious Wi-Fi operator, compromised router, proxy, ISP-level intermediary, or adjacent network attacker—can capture the API key, inspect requested company and report parameters, or modify the server response.

The report URL returned by the service also uses HTTP. Consequently, even if the initial API endpoint were corrected independently, report content could still be intercepted, replaced, or redirected while in transit.

Attack Path

  1. A user configures the Skill with a valid API key.
  2. The Agent follows the documented example and sends a request to the HTTP endpoint with the key in the X-API-KEY header.
  3. An attacker positioned on the network intercepts the unencrypted request and obtains the API key.
  4. The ...[truncated 998 chars]
Remediation
View remediation

Remediation Suggestions

  1. Replace every API and report URL with an authenticated HTTPS endpoint.
  2. Configure the server to reject requests carrying credentials over HTTP rather than relying solely on redirects, because the credential is already exposed before an HTTP redirect is received.
  3. Enable HTTP Strict Transport Security after validating HTTPS deployment.
  4. Use modern TLS configuration, valid certificates, and certificate verification in all clients.
  5. Ensure redirects never forward the X-API-KEY header to a different origin.
  6. Update every documentation example to use https://api.beawan.com/....
  7. Rotate API keys that may previously have been transmitted using the documented HTTP endpoint.
  8. Apply least-privilege scopes, expiration, revocation, usage quotas, and anomaly monitoring to API keys to limit the consequences of future disclosure.
  9. Ensure report pages and all embedded resources are served exclusively through HTTPS to prevent content tampering or mixed-content exposure.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Missing User Warnings

High
Category
Not specified by scanner
Confidence
99% confidence
Finding

The documentation instructs clients to transmit an API key in an HTTP header over plain HTTP, which exposes the credential to interception by anyone on the network path. Because the same documentation also uses plain HTTP in examples, users are likely to follow the insecure pattern and leak reusable secrets.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This endpoint documentation shows external transmission to a third-party service over plain HTTP. In this context, the request includes an API key, so the external transmission is not merely informational traffic but a credential-bearing request vulnerable to interception or tampering.

Content

Scanner excerpt · SKILL.md (reported line 27)May include surrounding context.

查询报告地址

text
GET http://api.beawan.com/beawanSkill/api/skill/report
Header: X-API-KEY: <your-api-key>

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

The instructions require that the type parameter be passed as specific Chinese strings such as 中报 and 年报, and explicitly prohibit other encodings or representations. This imposes a language-specific requirement without stating that the skill is intentionally limited to a Chinese locale or offering an opt-in choice.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
84% confidence
Finding

The returned report URL is also plain HTTP, which makes downstream access to the report vulnerable to man-in-the-middle tampering, content injection, or traffic observation. Even if no credential is in this specific URL, users may be directed to untrusted or modified content because the transport is unauthenticated.

Content

Scanner excerpt · SKILL.md (reported line 53)May include surrounding context.

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This example repeats the insecure pattern of sending requests to a plain HTTP endpoint while supplying an API key header. Example code in documentation materially increases risk because users commonly copy it directly into production workflows, spreading credential exposure.

Content

Scanner excerpt · SKILL.md (reported line 63)May include surrounding context.

查询平安银行 2024 年年报:

text
GET http://api.beawan.com/beawanSkill/api/skill/report?comCode=000001&year=2024&type=年报
X-API-KEY: sk-your-api-key-here

External Transmission

Medium
Category
Data Exfiltration
Confidence
97% confidence
Finding

This second usage example again instructs clients to send an API key over unencrypted HTTP, reinforcing an insecure integration pattern. Repetition across examples makes exploitation more likely because it normalizes unsafe credential handling and broadens the number of affected consumers.

Content

Scanner excerpt · SKILL.md (reported line 70)May include surrounding context.

查询贵州茅台 2024 年中报:

text
GET http://api.beawan.com/beawanSkill/api/skill/report?comCode=600519&year=2024&type=中报
X-API-KEY: sk-your-api-key-here