Back to skill

Security audit

Akshare Integrated

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent stock-analysis skill, but it gives buy/sell and position-size recommendations without clear financial-risk warnings.

Review this carefully before installing or acting on its outputs. Treat all BUY/SELL and position-size outputs as informational only, verify data freshness and assumptions independently, and install Python dependencies in an isolated environment with pinned versions where possible.

Vulnerability Patterns
  • Insecure DependenciesIntroduces malicious components through unsafe dependency sources
  • 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)

T08 · Insecure Dependencies

Warning
Location
SKILL.md:16
Finding

Unpinned Third-Party Dependencies Installed from Mutable Package Sources

Content
View full analysis

Vulnerability Details

File Location: SKILL.md, lines 16–21
Vulnerability Type: T08: Insecure Dependencies
Risk Level: Medium

bash
# 安装AKShare
pip install akshare --upgrade

# 安装依赖
pip install pandas numpy

Technical Analysis

The installation instructions retrieve AKShare, pandas, NumPy, and their transitive dependencies without exact version pins, integrity hashes, or a lockfile. The --upgrade option explicitly directs pip to select a newer available AKShare release rather than a previously reviewed version.

Consequently, the dependencies installed when a user follows these instructions may differ from those available when the Skill was audited. A compromised upstream release, package-index account, dependency, or package-resolution source could introduce arbitrary installation or runtime behavior. Python packages can execute package-controlled code during installation, import, or subsequent use.

The artifact does not contain evidence that any currently published dependency is malicious. The vulnerability is the unsafe and non-reproducible dependency acquisition process.

Attack Path

  1. An attacker compromises an upstream dependency release, one of its transitive dependencies, or the package-distribution account used to publish it.
  2. The attacker publishes a malicious version that satisfies the unrestricted dependency request.
  3. A user follows the documented command pip install akshare --upgrade or installs the unpinned pandas and numpy packages.
  4. pip resolves and downloads the attacker-controlled or compromised release because no approved version or integrity hash is enforced.
  5. Malicious package code executes during installation, import, or use of the documented stock-selection functionality.
  6. The payload operates with the privileges and environmental access of the user or automation process that invoked pip or imported the package.

Impact Assessment

Successful exploitation could execute arbi ...[truncated 666 chars]

Remediation
View remediation

Remediation Suggestions

  1. Replace unrestricted requirements with exact versions that have been reviewed, for example through a maintained requirements.txt or pyproject.toml lockfile.
  2. Generate and verify cryptographic hashes for every direct and transitive dependency. Use an installation workflow such as pip install --require-hashes -r requirements.txt.
  3. Remove the unconditional --upgrade option from end-user installation instructions.
  4. Resolve and lock transitive dependencies using a reproducible dependency-management tool, and commit the resulting lockfile to the project.
  5. Explicitly use an approved package index and prevent fallback to untrusted or unintended indexes.
  6. Install packages inside an isolated virtual environment or container under a non-privileged account.
  7. Add automated dependency scanning, provenance verification where available, and a controlled process for reviewing and updating pinned versions.
  8. Test dependency updates in an isolated environment before publishing revised installation instructions.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (3)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill gives explicit BUY/HOLD/REDUCE/SELL actions and position sizing that could be acted on as financial advice, but it does not clearly and prominently warn users that outputs are informational only, may be wrong, and can cause financial loss. The surrounding content increases risk because it presents the scoring model as authoritative, includes concrete thresholds and sample BUY outputs, and therefore may induce overreliance.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

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

bash
# 获取实时数据API
curl "http://localhost:8080/api/stock/00700?market=hk"

# 批量分析API
curl -X POST "http://localhost:8080/api/analyze/batch" \

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

SQP-3 applies to all file types and includes language or locale policy violations. The document consistently forces a single language presentation and does not indicate user opt-in, multilingual support, or a documented region-specific justification.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.