1panel
The skill is a legitimate 1Panel API client with no direct malicious code, but its SKILL.md severely under-reports exposed capabilities (exec_command, file write, SSH management, process kill) that are not declared in the documented command surface.
Why this conclusion was reached
2/4 dimensions flagged3 undeclared or violating capabilities were inferred.
2 high-risk artifacts or egress signals were extracted.
There is no explicit malicious chain in the report.
2 dependency or supply-chain issues need attention.
What drove the risk score up
system.ts 'exec_command' tool executes arbitrary shell commands via 1Panel API, not declared in SKILL.md documented commands or capabilities list
File save/delete/chmod/chown via 1Panel API not declared in SKILL.md command table
SSH key generation/management, host credential storage (password/privateKey) not declared
SKILL.md lists ~12 CLI commands but the underlying library exposes 200+ methods with system-level access, misleading users about actual scope
Most important evidence
Undeclared arbitrary command execution via 1Panel Terminal API
SKILL.md documents only 12 CLI commands (containers, images, websites, etc.), but the underlying tools layer exposes 'exec_command' which sends arbitrary shell commands to the 1Panel server via /api/v2/hosts/command. This is a fundamental system-level capability completely absent from SKILL.md.
src/tools/system.ts:17 Undeclared filesystem write and delete operations
SKILL.md lists 'files <path>' as a read-only listing command, but the underlying FileAPI supports save(), delete(), chmod(), chown(), compress(), decompress() with no path restrictions. A compromised agent could overwrite system files, change permissions, or delete directories on the managed server.
src/api/files.ts:70 Undeclared SSH credential and key management
SKILL.md does not mention SSH management at all. The host.ts tools expose creating hosts with password or privateKey credentials, generating SSH keys, and modifying SSH configurations. These are sensitive infrastructure operations not declared in the skill documentation.
src/tools/host.ts:3 Undeclared process kill capability
The 'kill_process' tool in system.ts can kill arbitrary processes by PID with no restrictions declared in SKILL.md. This could be used to disrupt services.
src/tools/system.ts:17 SKILL.md claims 580+ API endpoints but CLI exposes ~12 commands
SKILL.md advertises '580+ API endpoints covering containers, databases, websites, SSL, file management, system monitoring, and more', implying broad access. However, the 1panel.mjs CLI only exposes ~12 commands. The gap between the library's 200+ methods and the CLI's documented surface creates a misleading impression of limited scope.
SKILL.md:1 Unpinned dependency versions in package.json
devDependencies use caret (^) version ranges: '@types/node': '^20.19.37', 'typescript': '^5.9.3'. This allows installing newer potentially vulnerable versions without review.
package.json:28 OPENCLAW_INSTALL.md contains 'rm -rf ~' command
Line 175 of OPENCLAW_INSTALL.md shows 'rm -rf ~/.openclaw/skills/1panel' as an uninstall example. The use of '~' shell expansion in documentation is a dangerous pattern — if executed literally without shell expansion, it could resolve unexpectedly. Here it is documentation text, not executable code, so the risk is low.
OPENCLAW_INSTALL.md:175 No input validation or path restrictions on file operations
File operations accept arbitrary paths with no validation to prevent access to system directories like /etc, /root, /home. Combined with undeclared WRITE access, this could allow modification of sensitive system files.
src/api/files.ts:30 Declared capability vs actual capability
ONEPANEL_HOST env var, BaseAPI makes HTTP requests to 1Panel server src/api/files.ts:FileAPI.save() — file write not declared in SKILL.md src/tools/system.ts:exec_command — arbitrary command execution via 1Panel Terminal API, not declared in SKILL.md ONEPANEL_API_KEY, ONEPANEL_HOST, ONEPANEL_PORT, ONEPANEL_PROTOCOL read from env SKILL.md defines CLI commands src/api/database.ts — create/delete/operate databases, not declared in SKILL.md No browser access found No clipboard access found Suspicious artifacts and egress
rm -rf ~ OPENCLAW_INSTALL.md:175
API_KEY="your-1panel-api-key" OPENCLAW_INSTALL.md:37
https://img.shields.io/npm/v/1panel-skill.svg README.md:3
https://www.npmjs.com/package/1panel-skill README.md:3
https://img.shields.io/badge/License-MIT-yellow.svg README.md:4
https://opensource.org/licenses/MIT README.md:4
https://1panel.cn/ README.md:390
Dependencies and supply chain
| Package | Version | Source | Known vuln | Notes |
|---|---|---|---|---|
| @types/node | ^20.19.37 | npm | No | Version not pinned, uses caret range |
| typescript | ^5.9.3 | npm | No | Version not pinned, uses caret range |
| none (runtime) | N/A | npm | No | Zero runtime dependencies — only Node.js standard library used |
File composition
README.md src/api/files.ts