Back to skill

Security audit

企业工商异常经营信息查询 - 聚合数据

Security checks for vulnerabilities and agentic risk

Overview

This is a straightforward Juhe API lookup skill that discloses its third-party query behavior and API-key requirement, though users should handle the key carefully.

Install only if you are comfortable sending company names, registration numbers, or unified social credit codes to Juhe for lookup. Prefer a managed environment variable for the API key, avoid passing the key on the command line, and do not commit any .env file containing the key.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (4)

Lp3

Medium
Category
MCP Least Privilege
Confidence
88% confidence
Finding
The skill clearly relies on environment variables, local file access for `.env`, and outbound network requests to a third-party API, but the metadata does not explicitly declare corresponding permissions. This creates a transparency and governance gap: users or hosting systems may not understand that enterprise identifiers and API credentials will be read locally and transmitted externally.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The skill description says it queries juhe.cn in real time, but it does not clearly warn that enterprise names, registration numbers, or unified social credit codes entered by the user will be transmitted to that third-party provider. This can lead to unintended disclosure of sensitive business lookup activity and identifiers to an external service.

Credential Access

High
Category
Privilege Escalation
Content
# 方式一:环境变量(推荐,一次配置永久生效)
export JUHE_ENTERPRISE_ABNORMAL_KEY=你的 AppKey

# 方式二:.env 文件(在脚本目录创建)
echo "JUHE_ENTERPRISE_ABNORMAL_KEY=你的 AppKey" > scripts/.env

# 方式三:每次命令行传入
Confidence
91% confidence
Finding
The instructions recommend storing the API key in `scripts/.env`, a plaintext file within the project tree, and also show passing the key directly on the command line. Plaintext `.env` files are often accidentally committed or exposed, and command-line arguments may be visible in shell history, process listings, logs, or telemetry, leading to credential disclosure.

Credential Access

High
Category
Privilege Escalation
Content
export JUHE_ENTERPRISE_ABNORMAL_KEY=你的 AppKey

# 方式二:.env 文件(在脚本目录创建)
echo "JUHE_ENTERPRISE_ABNORMAL_KEY=你的 AppKey" > scripts/.env

# 方式三:每次命令行传入
python scripts/enterprise_abnormal.py --key 你的 AppKey --name 苏州瀚海知识产权代理有限公司
Confidence
94% confidence
Finding
The example explicitly writes the API key to `scripts/.env` and then demonstrates a `--key` command-line option, both of which increase the chance of credential leakage. In this skill's context, a leaked Juhe enterprise-data key could be abused for unauthorized billable queries, account quota exhaustion, and possible exposure of enterprise lookup activity tied to the account owner.

Static analysis

Detected: suspicious.exposed_secret_literal

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
scripts/enterprise_abnormal.py:16