Back to skill

Security audit

查询公司海关贸易产品列表数据 — 获取产品名称的贸易次数、金额、数量和关联HS编码,用于产品组合分析。支持全球 220 多个国家和地区的海关数据。帮助外贸团队查看公司的具体贸易产品清单、量化各产品的交易规模和数量、关联分析 HS 编码——是产品维度市场分析和竞品追踪的核心数据来源。

Security checks across malware telemetry and agentic risk

Overview

The skill is a paid customs-data API helper with disclosed credential and billing flows, though users should be aware it stores API keys locally in plaintext and performs an automatic version check.

Install only if you are comfortable using a paid UpKuajing API service, storing UPKUAJING_API_KEY in a local plaintext dotfile, and allowing the helper to create API keys, show account information, retrieve pricing, and create recharge payment links when you ask it to. Confirm charges carefully before running queries.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • 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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
Findings (10)

Lp3

Medium
Category
MCP Least Privilege
Confidence
90% confidence
Finding
The skill declares no explicit permissions, yet its documented behavior includes reading environment variables, accessing local files such as ~/.upkuajing/.env, writing credentials, and making network requests. This creates a transparency and least-privilege problem: users and platforms cannot accurately assess what capabilities the skill will exercise before use.

Tp4

High
Category
MCP Tool Poisoning
Confidence
96% confidence
Finding
The stated purpose is product-list lookup, but the skill also performs sensitive account-management functions: creating API keys, reading/writing ~/.upkuajing/.env, fetching account info, creating recharge orders, querying pricing, and version-check networking. This broadens the trust boundary and can lead users to authorize credential handling and billable/payment-related actions they did not expect from a data-query skill.

Description-Behavior Mismatch

High
Confidence
95% confidence
Finding
The script includes authentication, account lookup, pricing, and recharge-order functionality that is outside the declared skill purpose of querying customs product lists. This scope expansion increases attack surface and can enable unintended account or billing operations from a skill users would reasonably expect to be read-only.

Context-Inappropriate Capability

Medium
Confidence
92% confidence
Finding
This code performs an outbound HTTP POST to a version-check endpoint that is unrelated to the skill’s declared customs product-query functionality. Even if intended for updates, it creates undisclosed network behavior, can leak skill usage metadata, and expands the attack surface through dependency on a remote service.

Context-Inappropriate Capability

Medium
Confidence
88% confidence
Finding
The module creates and writes a persistent cache file under the user’s home directory to track update checks, which is not necessary for the stated customs data query purpose. Unexpected local persistence can expose user activity metadata, bypass expectations of stateless execution, and create side effects that are hard to audit in restricted environments.

Credential Access

High
Category
Privilege Escalation
Content
### **API密钥未设置**
首先检查 `~/.upkuajing/.env` 文件中是否有 UPKUAJING_API_KEY;
如果未设置,请让用户选择:
1. 用户已有密钥:用户提供(手动添加到 ~/.upkuajing/.env 文件)
2. 用户没有密钥:通过界面申请(`auth.py --new_key`),新密钥会自动保存到 ~/.upkuajing/.env
等待用户选择;
Confidence
95% confidence
Finding
.env

Credential Access

High
Category
Privilege Escalation
Content
首先检查 `~/.upkuajing/.env` 文件中是否有 UPKUAJING_API_KEY;
如果未设置,请让用户选择:
1. 用户已有密钥:用户提供(手动添加到 ~/.upkuajing/.env 文件)
2. 用户没有密钥:通过界面申请(`auth.py --new_key`),新密钥会自动保存到 ~/.upkuajing/.env
等待用户选择;

### **账户充值**
Confidence
95% confidence
Finding
.env

Credential Access

High
Category
Privilege Escalation
Content
"envFilePath": str(env_file)
        }

    # 保存到 .env 文件
    try:
        with open(env_file, 'w', encoding='utf-8') as f:
            f.write(f"{API_KEY_ENV}={api_key}\n")
Confidence
93% confidence
Finding
.env

Credential Access

High
Category
Privilege Escalation
Content
except IOError as e:
        return {
            "success": False,
            "message": f"API密钥申请成功,但保存到 .env 文件失败:{str(e)}。\n请手动设置环境变量 {API_KEY_ENV}。",
            "envFilePath": str(env_file)
        }
Confidence
86% confidence
Finding
.env

Unpinned Dependencies

Low
Category
Supply Chain
Content
httpx>=0.23.0
Confidence
93% confidence
Finding
httpx>=0.23.0

VirusTotal

65/65 vendors flagged this skill as clean.

View on VirusTotal

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/common.py:196