T09 · Insecure Skill Coding Practices
- Location
lib/client.js:5- Finding
Unvalidated Custom API Endpoint May Expose Credentials and User Content
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is mostly a LiblibAI image-generation client, but it can send credentials and user content to an unvalidated custom API endpoint.
Review this skill before installing. Use only the official LiblibAI endpoint unless you fully trust and control the alternative endpoint, avoid uploading sensitive images or confidential prompts, and consider rotating LiblibAI keys if they were ever used with an unknown mirror.
lib/client.js:5Unvalidated Custom API Endpoint May Expose Credentials and User Content
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
Referenced artifact was not completely inspected
./bin/cli.js text2img -p "anime portrait, 1girl, colorful hair, detailed eyes" -W 768 -H 1024 -s 30 -c 8
The README advertises file upload and remote image-generation features but does not clearly warn that user prompts and uploaded local files are sent to an external third-party service. In a skill context, users may assume operations are local or confined to OpenClaw, which creates a real privacy and data-handling risk if sensitive images, prompts, or metadata are transmitted off-host.
The skill explicitly supports uploading local images and submitting prompts to the LiblibAI cloud service, but the documentation does not clearly warn that local file contents, prompt text, and potentially generated outputs are transmitted to a third-party API. This creates a real privacy and data-handling risk because users may unknowingly send sensitive local images, proprietary prompts, or confidential project material off-device.
This code presents user-facing comments, help text, status messages, and errors entirely in Chinese, with no option to select another language or indication that the tool is intentionally limited to a Chinese-speaking region or audience. That creates a natural-language locale policy concern because the skill effectively forces a specific language without user opt-in.
The skill documentation is presented entirely in Chinese, including usage instructions and parameter explanations, with no indication that other languages are supported or that Chinese is required for a region-specific reason. This can violate language/locale policy when users are not given a choice or informed of the constraint.
The dependency uses a caret range, which allows newer compatible versions to be installed over time instead of an exact reviewed version. This creates supply-chain risk because future upstream releases could introduce malicious code or breaking behavior without any change to this repository.
"license": "MIT",
"type": "commonjs",
"dependencies": {
"commander": "^14.0.3",
"liblibai": "^0.0.11"
}
}
The liblibai dependency is also specified with a caret range, so installs may resolve to different future versions than the one originally tested. For a skill that interfaces with an external image-generation library, this increases supply-chain exposure because compromised or unsafe upstream updates could be pulled in automatically.
"type": "commonjs",
"dependencies": {
"commander": "^14.0.3",
"liblibai": "^0.0.11"
}
}