Back to skill

Security audit

Akshare Finance

Security checks for vulnerabilities and agentic risk

Overview

This skill is a straightforward AKShare finance-data helper, with expected network data lookups and package-install supply-chain caveats but no hidden or destructive behavior found.

Install this in a normal least-privileged Python environment, expect it to contact external public market-data services through AKShare, and consider pinning reviewed dependency versions before using it in sensitive or production workflows. Treat returned finance data as informational and verify it before making investment decisions.

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:9
Finding

Unpinned Third-Party Dependencies Without Integrity Verification

Content
View full analysis
=1.12", "pandas>=1.5"] }, "install": [ { "id": "pip-install", "kind": "pip", "packages": ["akshare>=1.12", "pandas>=1.5"], ``` The documentation also recommends unconstrained installation: ```bash pip install akshare pandas ``` ### Technical Analysis The Skill installs `akshare` and `pandas` using minimum-version constraints or no version constraints. It does not provide a lockfile, verified package hashes, pinned transitive dependencies, or an explicitly trusted package index. Consequently, dependency resolution can select package versions that were not present or reviewed when the Skill was audited. The documented command is less restrictive than the metadata because it permits any available version. Python packages can execute code during installation or when imported by the three scripts. This does not prove that the currently named dependencies are malicious. The vulnerability is the lack of controls ensuring that future installations resolve to the same reviewed artifacts. ### Attack Path 1. An attacker compromises a future release of a declared dependency, one of its transitive dependencies, or a package index configured in the execution environment. 2. A user or agent installs the Skill dependencies using the metadata or documented `pip install akshare pandas` command. 3. pip resolves and downloads the compromised artifact because no exact version or cryptographic hash restricts the accepted package. 4. Malicious package code executes during installation or when a script imports the package. 5. The code runs with the permissions of the user or agent that performed the installation or invoked the Skill. ### Impact As ...[truncated 477 chars]
Remediation
View remediation
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 (9)

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The file's docstrings and usage-related natural-language text are written in Chinese, with no indication that users may choose another language. Per the policy, forcing a specific language without opt-in is a natural-language policy concern.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The natural-language descriptions and labels in the file are entirely in Chinese, including the module and function docstrings and indicator names, with no indication that this is a region-specific or Chinese-only skill. The policy requires avoiding forced language or locale constraints unless the user is given a choice or the limitation is clearly documented and justified.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
84% confidence
Finding

Docstrings and user-facing descriptions are written only in Chinese, which indicates a language-specific constraint without any opt-in or explanation. The policy requires avoiding forced language or locale unless the skill offers a choice or clearly documents a justified regional limitation.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
92% confidence
Finding

The natural-language content, including the description, headings, and usage guidance, is presented only in Chinese. Under the policy criteria, forcing a specific language without user opt-in can be a locale policy violation unless the constraint is explicitly justified as region-specific.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
90% confidence
Finding

The entire skill documentation is presented only in Chinese, including headings, usage notes, and examples, with no indication that users may choose another language or that the skill is intentionally limited to a Chinese-speaking or region-specific audience. Under the stated policy, this is a natural-language locale constraint that should be opt-in or explicitly justified.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
84% confidence
Finding

This Python file makes external data-fetching calls via akshare to retrieve cryptocurrency market data, which implies network access. The code contains no confirmation prompt, user-facing logging, or explanatory comment/docstring warning that it will contact external services.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
82% confidence
Finding

The kline function invokes an akshare API that likely reaches an external service for market data. There is no visible confirmation, log output, or explicit warning in the code that running this command will perform network requests.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
85% confidence
Finding

This Python file calls AkShare data-fetching functions to retrieve macroeconomic data, which implies external network access, but there is no confirmation prompt, user-facing log/print before the request, or warning in surrounding comments/docstrings. For code files, externally transmitting requests or contacting remote services should have some visible disclosure unless clearly communicated elsewhere.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
87% confidence
Finding

This code calls akshare to fetch stock market data, which implies a network/HTTP operation, but there is no confirmation prompt, logging, or explicit user-facing notice in the file about contacting external data sources. For code files, external data transmission or retrieval should have some visible disclosure unless clearly communicated elsewhere.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.