Back to skill

Security audit

生辰八字查询(AI付版) - 聚合数据

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its stated paid birth-chart lookup purpose, but it needs review because it asks users to install payment tooling through an unpinned npm command.

Review this before installing. Only use it if you are comfortable with a paid Alipay-based workflow and sending birth date/hour details to Juhe. Do not run the documented npm installer unless you trust the package source and ideally replace `@latest` with a pinned, reviewed version.

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:36
Finding
Execution of an Unpinned npm Package via npx## Vulnerability Details **File Location**: `SKILL.md`, line 36 **Vulnerability Type**: Unpinned third-party dependency execution **Risk Level**: Medium ### Vulnerable Code ```text 通过 npx -y @alipay/agent-payment@latest install ``` Translated operationally, this instructs the agent or user to run: ```bash npx -y @alipay/agent-payment@latest install ``` ### Technical Analysis The installation instruction executes the mutable `latest` release of a third-party npm package without pinning an exact audited version or verifying package integrity. The `npx` utility can download and execute package code, including its command-line entry point and potentially npm lifecycle scripts. The `-y` option automatically accepts the installation prompt, reducing the opportunity to inspect the resolved package and version before execution. Because the `latest` distribution tag can be changed after this Skill has been reviewed, the code ultimately executed is not fixed by the audited project content. If the package publisher account, npm registry path, package release process, or another relevant supply-chain component is compromised, following this instruction could execute attacker-controlled code. ### Attack Path 1. An attacker compromises the npm package publisher, release pipeline, or another component capable of changing the package resolved by `@alipay/agent-payment@latest`. 2. The attacker publishes a malicious release and assigns it the `latest` distribution tag. 3. The Skill detects that the payment dependency is absent and presents the documented installation instruction. 4. A user or agent runs `npx -y @alipay/agent-payment@latest install`. 5. `npx` retrieves the current mutable release and executes its package entry point or associated lifecycle behavior. 6. The malicious package performs actions with the privileges of the account running the command. ### Impact Assessment Successful exploitation could provide arbitrary code execution under the invoking user ...[truncated 401 chars]
Remediation
## Remediation Suggestions 1. Replace `@latest` with an exact, reviewed package version, for example: ```bash npx @alipay/agent-payment@X.Y.Z install ``` 2. Verify the expected package provenance and integrity before execution, using an approved registry, package signatures or attestations where available, and a documented integrity hash. 3. Remove `-y` so the resolved package name and version can be reviewed before installation. 4. Prefer installation through a lockfile-backed dependency workflow rather than ad hoc remote execution with `npx`. 5. Review the pinned package's command-line entry point, lifecycle scripts, transitive dependencies, and requested permissions. 6. Run the installer with the minimum required privileges in a restricted environment, and avoid invoking it from an administrator or root shell. 7. Establish a controlled update process in which new versions are security-reviewed before the pinned version is changed.
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 (3)

Natural-Language Policy Violations

Medium
Confidence
94% confidence
Finding
The title and the entire output specification require a fixed Chinese rendering format, indicating the skill is designed to respond in Chinese by default. Under the policy, forcing a specific language without user opt-in is a natural-language policy violation unless a justified regional constraint is documented, which is not present here.

Rp1

Medium
Category
MCP Rug Pull
Confidence
97% confidence
Finding
The skill instructs installation via `npx -y @alipay/agent-payment@latest`, which fetches and executes the latest package version at runtime rather than a pinned, reviewed release. If the upstream package is compromised or a breaking/malicious version is published, users or agents could execute untrusted code during setup, creating a software supply-chain risk.

External Transmission

Medium
Category
Data Exfiltration
Content
向用户展示待查询的参数,严格遵守请求约束,向以下 URL 发起请求:

```
curl https://apis.juhe.cn/a2a/query \
  -d '{"resourceId":"120","data":{"year":"<公历年份>","month":"<公历月份>","day":"<公历日期>","hour":"<出生时辰>"}}' \
  -H "Content-Type: application/json"
```
Confidence
88% confidence
Finding
The skill sends user-supplied birth date and hour to an external third-party endpoint (`apis.juhe.cn`). Although the data is limited and the document states HTTPS/TLS and minimization rules, this is still an external transmission of personal profile data to a non-local service, with privacy and compliance implications if consent, retention, or third-party handling are inadequate.

Static analysis

No suspicious patterns detected.