Back to skill

Security audit

Sun-Panel Navigation

Security checks for vulnerabilities and agentic risk

Overview

The skill appears to manage a user-configured Sun-Panel instance as advertised, but users should treat its plaintext credential file carefully.

Install only if you trust the Sun-Panel host you configure. Use HTTPS when available, consider a limited-permission account, set restrictive permissions on the config file, and delete or rotate the stored password if you stop using the skill.

Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • 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
Findings (4)

Missing User Warnings

Medium
Confidence
95% confidence
Finding
The skill explicitly instructs collecting and storing the user's Sun-Panel password in a local plaintext config file, but does not warn about credential sensitivity, file permissions, or safer alternatives. This creates avoidable exposure of credentials to other local users, backups, logs, or unrelated tools that may read the file.

Missing User Warnings

Medium
Confidence
88% confidence
Finding
The skill provides authenticated API calls that can create groups and add or edit bookmarks, but it does not require an explicit confirmation step before performing state-changing actions. In an agent context, missing a confirmation boundary increases the chance of unintended or coerced modifications to the user's Sun-Panel instance.

External Transmission

Medium
Category
Data Exfiltration
Content
SUN_PANEL_PASSWORD=$(jq -r '.password' "$CONFIG_FILE")

# 登录
RESPONSE=$(curl -s -X POST "$SUN_PANEL_URL/api/login" \
  -H "Content-Type: application/json" \
  -d "{\"username\":\"$SUN_PANEL_USERNAME\",\"password\":\"$SUN_PANEL_PASSWORD\"}")
Confidence
91% confidence
Finding
This sends stored credentials to a user-configured external endpoint via curl to obtain a token. In context this is expected functionality, but it is still security-sensitive because the endpoint is arbitrary, may be plain HTTP, and the skill does not validate transport security or warn that credentials are being transmitted off-process to a remote service.

External Transmission

Medium
Category
Data Exfiltration
Content
SUN_PANEL_PASSWORD=$(jq -r '.password' "$CONFIG_FILE")

# Step 3: 登录获取 Token
RESPONSE=$(curl -s -X POST "$SUN_PANEL_URL/api/login" \
  -H "Content-Type: application/json" \
  -d "{\"username\":\"$SUN_PANEL_USERNAME\",\"password\":\"$SUN_PANEL_PASSWORD\"}")
Confidence
91% confidence
Finding
This is a second instance of the login flow that transmits username and password to the configured Sun-Panel server. As with the earlier login example, the danger comes from sending secrets to an arbitrary configured host without mandatory HTTPS, endpoint trust checks, or user warning.

Static analysis

No suspicious patterns detected.