Back to skill

Security audit

Global bulk business SMS and commercial marketing text messaging built for cross-border B2B outreach. Access full two-way reply features, one-click massdispatch, live task tracking and detailed delivery reports to monitor real-time SMS delivery status. Marketing, sales, operations and customer support teamsengage global audiences with seamless cross-border communication. Track full SMS campaign performance metrics to lift conversion rates and reactivate lapsedoverseas clients. Fully applicable for promotional blasts, logistics order notifications, B2B cold outreach and customer re-engagement. Perfectly matched forcross-border e-commerce operations, export business expansion and global overseas user management workflows.

Security checks across malware telemetry and agentic risk

Overview

The skill is a coherent UpKuaJing SMS client with expected API, credential, and local-file behavior, but users should treat SMS recipient data and the API key carefully.

Install only if you intend to use UpKuaJing for SMS. Send messages only to recipients you are allowed to contact, confirm any paid send before execution, keep ~/.upkuajing/.env private, and avoid putting phone numbers, message bodies, tokens, or other sensitive data into error reports or logs.

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
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
Findings (10)

Lp3

Medium
Category
MCP Least Privilege
Confidence
89% confidence
Finding
The skill clearly relies on sensitive capabilities including environment-variable access, reading and writing a local .env file, and making network requests, yet it does not declare corresponding permissions. This creates a transparency and governance gap: users and platforms cannot accurately evaluate what the skill will access or modify before use.

Description-Behavior Mismatch

Medium
Confidence
86% confidence
Finding
The script reports runtime exceptions to a platform endpoint and auto-attaches skill identity/version metadata, which is ancillary telemetry rather than core SMS functionality. While not overtly malicious, this creates an undisclosed outbound data flow that can expose operational details and potentially sensitive request metadata if misused or over-collected.

Context-Inappropriate Capability

Medium
Confidence
91% confidence
Finding
The code requires and transmits a free-form context field together with request identifiers and paths for platform-side tracking. Because context can easily contain stack traces, message content, credentials, PII, or other sensitive operational data, sending it off-box without sanitization creates a meaningful data-leak risk.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
This skill sends phone numbers and message content to a third-party SMS provider and retrieves delivery/task records, but it does not warn about consent, lawful basis, or privacy risks. In a bulk-SMS context, that omission is significant because the data involved is personal contact data and message content, and misuse can lead to privacy violations, spam, or regulatory exposure.

Missing User Warnings

Medium
Confidence
91% confidence
Finding
The API reference explicitly supports sending request parameters, response payloads, and exception context to a central error-reporting endpoint, but it does not warn users that these fields may contain personal data, message content, API inputs, or other sensitive operational details. In an SMS marketing/reply skill, these fields can easily include phone numbers, customer messages, delivery metadata, and auth-adjacent debugging data, so silent telemetry creates a real privacy and data-exposure risk even if the platform says sensitive fields are 'automatically masked.'

Missing User Warnings

Medium
Confidence
90% confidence
Finding
The logging helpers write full request parameters and full response bodies to local log files when enabled, which can include phone numbers, message content, API responses, and other sensitive business or personal data. In an SMS marketing tool, these logs may contain bulk recipient data and delivery/reply content, creating a confidentiality risk if the host is shared, compromised, or logs are retained insecurely.

Missing User Warnings

Medium
Confidence
93% confidence
Finding
The network call sends error-report payload data to an external API with no visible disclosure, consent, or filtering in this script. In an SMS skill context, exception data may include customer phone numbers, message content, campaign details, or authentication material, making silent telemetry more dangerous than in a less data-sensitive tool.

Missing User Warnings

Medium
Confidence
94% confidence
Finding
The code performs an outbound version-check request that includes the skill name without any visible user consent, opt-out, or disclosure in this module. Even though the transmitted field is limited, it creates a privacy/telemetry channel and can surprise users because the check is triggered automatically on first use each day.

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
81% confidence
Finding
The code writes a newly issued API key into a plaintext .env file without any visible permission hardening. On multi-user systems or misconfigured home directories, this can expose the credential to other local users or backup/sync processes, leading to unauthorized API use.

Unpinned Dependencies

Low
Category
Supply Chain
Content
httpx>=0.23.0
Confidence
94% confidence
Finding
The dependency is only lower-bounded (`httpx>=0.23.0`) and not pinned to a specific version or constrained range, which makes builds non-reproducible and exposes consumers to unexpected upstream changes. In a network-facing SMS tool, automatic installation of newer `httpx` releases could introduce breaking changes or a vulnerable/transitively compromised version into production without review.

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
scripts/sms_send.py:25

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
scripts/sms_task_list.py:28

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
scripts/sms_task_record_list.py:30

File appears to expose a hardcoded API secret or token.

Critical
Code
suspicious.exposed_secret_literal
Location
SKILL.md:118