Back to skill

Security audit

Comprehensive overseas corporate data and business intelligence lookup built exclusively for global B2B practitioners. Run worldwide company and contact searchqueries tailored to cross-border exporters.Locate international enterprises and validate full business credentials: corporate emails, business phone lines andemployee job titles. Filter high-intent export sales leads and qualified prospects for global trade teams. Spot purchasing decision-makers, source reliablesuppliers and accelerate client acquisition for exporters, trading firms, sourcing agents and internal sales teams. All core features are accessible through oneunified search query.Optimized for B2B global prospecting, supplier development and export-focused sales lead generation workflows.

Security checks across malware telemetry and agentic risk

Overview

The skill appears purpose-aligned, but it retrieves paid personal/business contact data and stores credentials/results locally with limited privacy, retention, and safety guidance.

Review this before installing if you handle regulated data or share machines. Use a dedicated UpKuaJing API key, restrict file permissions on ~/.upkuajing/.env, avoid broad contact searches unless you have a lawful business purpose, and delete task_data results when no longer needed.

SkillSpector

By NVIDIA
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
Findings (15)

Lp3

Medium
Category
MCP Least Privilege
Confidence
93% confidence
Finding
The skill declares no explicit permissions while instructing use of environment variables, reads and writes `~/.upkuajing/.env`, and performs networked API actions. This mismatch reduces transparency and weakens policy enforcement because users and platforms are not clearly informed that the skill can access credentials, local files, and external services.

Context-Inappropriate Capability

Medium
Confidence
87% confidence
Finding
The module performs an outbound HTTP request to a remote version-check API and stores persistent cache data under the user's home directory, which is unrelated to the skill's advertised lead-search functionality. While the transmitted data is limited to the skill name and the behavior appears intended for update checking rather than abuse, it still expands the skill's data-flow and persistence footprint without clear user consent or necessity for core operation.

Vague Triggers

Medium
Confidence
88% confidence
Finding
The trigger phrases are broad enough to match ordinary business queries such as finding companies, people, or verifying contacts, increasing the chance the skill is invoked unexpectedly. Because the skill can retrieve paid data and personal/business contact details, accidental activation can cause unintended data access, privacy issues, or charges.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The description advertises access to verified emails, phone numbers, and WhatsApp profiles without a clear upfront privacy warning or acceptable-use boundary. That makes sensitive personal-contact retrieval appear routine and may encourage collection or enrichment of personal data without adequate notice or lawful-basis checks.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The documentation explicitly exposes access to employee contact information (`person_contact_show`) and the broader skill description emphasizes verified emails, phone numbers, and WhatsApp profiles for lead generation, but it provides no privacy, consent, acceptable-use, or jurisdictional compliance guidance. In this context, the omission materially increases the risk of misuse for scraping, unsolicited outreach, doxxing, or processing personal data in violation of laws such as GDPR/CCPA and anti-spam regimes.

Missing User Warnings

Medium
Confidence
92% confidence
Finding
The request logging helper writes full API request parameters to local log files when logging is enabled. In this skill’s context, request bodies may include company/person search terms, verified contact details, or other sensitive business intelligence, so persisting them without redaction or explicit user-facing notice creates a privacy and data-handling risk.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The response logging helper stores full remote API responses locally, including any returned business records or verified contact information. Because this skill is specifically designed to retrieve professional contact data, local persistence of raw responses can expose personal data and commercial intelligence to other local users, backups, or later unintended processing.

Missing User Warnings

Low
Confidence
90% confidence
Finding
The script persists company search results to a task result file via append_result_data() and later exposes the file location with get_task_result_file(), but provides no user-facing notice, retention policy, or access-control indication. In this skill’s context, the stored data may include business contact details and verified emails/phone numbers, so silent local persistence increases privacy, compliance, and unauthorized access risk if result files are shared across users or retained longer than expected.

Missing User Warnings

Medium
Confidence
95% confidence
Finding
This script requests and outputs personally identifying contact data (emails, phone numbers, social profiles, WhatsApp) with no consent check, purpose limitation, jurisdictional compliance guardrail, or even a user-facing privacy warning. In the context of a lead-generation skill explicitly designed to obtain verified business contacts at scale, this materially increases the risk of privacy violations, unlawful scraping/resale, and misuse for spam or targeted phishing.

Missing User Warnings

Low
Confidence
89% confidence
Finding
This script sends person identifiers to an external API endpoint that returns detailed contact information, but it provides no user-facing notice, consent prompt, or data-handling warning. In the context of a lead-generation skill processing professional contacts across borders, silent transmission of identifiers can create privacy, compliance, and misuse risks, especially where users may not realize personal data is being queried or disclosed to a third-party platform.

Missing User Warnings

Low
Confidence
91% confidence
Finding
The code sends the skill name to a remote API during version checking without any visible disclosure to the user that a network transmission is occurring. Even though the payload is small and not highly sensitive by itself, undisclosed outbound communication is a privacy and transparency issue and can surprise users in environments that expect least-privilege behavior.

Credential Access

High
Category
Privilege Escalation
Content
### **API Key Not Set**
First check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;
If UPKUAJING_API_KEY is not set, prompt the user to choose:
1. User has one: User provides it (manually add to ~/.upkuajing/.env file)
2. User doesn't have one: You can apply using the interface (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env
Wait for user selection;
Confidence
95% confidence
Finding
.env

Credential Access

High
Category
Privilege Escalation
Content
First check if the `~/.upkuajing/.env` file has UPKUAJING_API_KEY;
If UPKUAJING_API_KEY is not set, prompt the user to choose:
1. User has one: User provides it (manually add to ~/.upkuajing/.env file)
2. User doesn't have one: You can apply using the interface (`auth.py --new_key`), the new key will be automatically saved to ~/.upkuajing/.env
Wait for user selection;

### **Account Top-up**
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
88% confidence
Finding
.env

Unpinned Dependencies

Low
Category
Supply Chain
Content
httpx>=0.23.0
Confidence
95% 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:197

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:87