Back to skill

Security audit

虾皮红利类指数投资分析

Security checks for vulnerabilities and agentic risk

Overview

The skill’s market-analysis purpose is coherent, but it asks users to run mutable npm code while handling an API token and gives concrete investment actions that need careful review.

Review this skill before installing. Prefer a pinned, reviewed `daxiapi-cli` version, avoid pasting API tokens directly into shell commands, verify where the CLI stores credentials, and treat all investment output as informational rather than personalized financial advice.

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

Mutable npm Package Is Downloaded and Executed Without Integrity Verification

Content
View full analysis
``` Concrete examples also execute the same mutable package: ```bash npx daxiapi-cli@latest dividend score -c 2.H30269 ``` ```bash npx daxiapi-cli@latest dividend score -c 1.000922 ``` ### Technical Analysis The `npx` command can download a package from the configured npm registry and execute its code immediately. The `@latest` distribution tag is mutable: the package version resolved when the Skill runs may differ from the version that existed when the Skill was reviewed. The project does not include a pinned package version, lockfile, package integrity hash, signature-verification procedure, or vendored and reviewed implementation. The code ultimately executed by these instructions is therefore outside the immutable audit boundary. This creates a supply-chain risk. If the package publisher account, npm package, transitive dependency, or configured package registry is compromised, a future package release could execute arbitrary JavaScript during package installation or CLI startup. The project itself contains no evidence that the current package is malicious; the vulnerability is the unsafe dependency retrieval and execution mechanism. ### Attack Path 1. An attacker co ...[truncated 1483 chars]
Remediation
View remediation
``` 2. Prefer installing the reviewed package as a declared local dependency and commit the corresponding lockfile. Use deterministic installation, such as: ```bash npm ci --ignore-scripts ``` Only use `--ignore-scripts` if the package does not legitimately require lifecycle scripts. 3. Verify package integrity using the lockfile integrity value or a separately trusted checksum before execution. 4. Document the expected npm registry and package publisher. Reject package resolution through untrusted mirrors or user-controlled registry configuration where practical. 5. Review the pinned package and its transitive dependencies, including lifecycle scripts, before approving version updates. 6. Run the CLI with least privilege in a restricted environment. Limit filesystem access, environment variables, and outbound network destinations to those required for the API operation. 7. Ensure `config get token` masks the credential rather than printing the complete token. Prefer an environment variable or operating-system credential store over plaintext configuration. 8. Introduce a controlled dependency-update process so version changes are reviewed, tested, and audited before the pinned version is updated. ]]>
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (18)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill gives concrete buy/sell, add-position, and even position-sizing guidance early in the document without an upfront user-facing risk warning. In financial contexts this can mislead users into treating the output as deterministic or suitable advice, increasing the chance of harmful decisions before they reach the later disclaimer requirement.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The skill instructs use of npx ...@latest, which fetches and executes the newest package version at runtime rather than a fixed, reviewed version. This creates a supply-chain execution risk: if the package is compromised or a breaking/malicious release is published, users may run untrusted code when following the skill.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
95% confidence
Finding

The skill tells users to place YOUR_TOKEN_FROM_DAXIAPI directly on the command line, which can expose secrets through shell history, process listings, terminal logging, or recorded transcripts. This is especially risky in shared systems or agent environments where command invocations may be persisted for debugging.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

This setup step again relies on npx ...@latest, causing dynamic retrieval and execution of whatever package version is current at the time. In a skill that users may copy-paste directly, that materially increases the chance of supply-chain compromise being propagated to end users.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding

The data-fetch command uses an unpinned npx invocation, so a user analyzing market data may execute arbitrary newly published package code. Because the command is part of normal operation rather than just setup, the exposure may recur each time the skill is used.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The file title and the entire report template are written as a required Chinese-language format, and the instructions use mandatory language such as '必须遵守' without indicating that another language may be used if the user prefers. This creates a natural-language locale constraint with no opt-in or documented justification.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
70% confidence
Finding

npx commands without a version suffix (e.g. @1.0.0) create a rug-pull risk if the upstream server is compromised and publishes a malicious update.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation shows authentication token handling commands, including a command that retrieves and displays the token, without any warning about credential sensitivity, shell history exposure, shoulder surfing, logging, or safe storage. In a skill that encourages CLI use, this increases the chance users will expose bearer tokens in terminals, screenshots, shared sessions, or command history, enabling unauthorized API access.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
89% confidence
Finding

The document gives explicit timing and portfolio-action guidance such as '可开始分批布局', '少量布局', '控制仓位', and '减仓或清仓' without an accompanying disclaimer that the content is informational and not personalized financial advice. In a skill specifically designed to analyze dividend index investment opportunities and timing, these prescriptive recommendations can materially influence user financial decisions and create compliance, suitability, and user-harm risk.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The CLI configuration instructions tell users to pass the token directly on the command line without warning that shells may retain command history and that the CLI may persist credentials in local config files. This can expose the API token to other local users, backup systems, terminal logs, or malware harvesting shell history and dotfiles.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The document instructs users to run a package via npx using the moving tag @latest, which is effectively unpinned remote code execution from the npm registry. If the package is compromised, typosquatted, or a malicious update is published, users could execute attacker-controlled code while handling API credentials.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

This command again uses npx with @latest, causing users to download and execute the newest published CLI code at runtime. In a token-management workflow, this increases risk because the executed code may read, persist, or exfiltrate sensitive API tokens if the package or dependency chain is compromised.

Content

No source excerpt is available for this finding.

Rp1

Medium
Category
MCP Rug Pull
Confidence
94% confidence
Finding

The verification step still executes the latest CLI package dynamically, so even the validation process can trigger untrusted code execution. Because this skill centers on configuring an API token, the surrounding context makes the issue more dangerous: the user's secret is likely already present in environment variables or local config when the command runs.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
81% confidence
Finding

The entire skill reference is written only in Chinese, and there is no indication that language choice is optional or that the document is intended exclusively for a Chinese-speaking or region-specific audience. Under the policy rule, forcing a specific language without user opt-in can be a natural-language policy violation.

Content

No source excerpt is available for this finding.