T09 · Insecure Skill Coding Practices
- Location
scripts/list-all-flows.sh:10- Finding
Arbitrary Command Execution Through Sourced Configuration File
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a simple Open-C3 flow-listing skill, but it asks for an API key and can expose or execute sensitive configuration if set up insecurely.
Review before installing. Use only a trusted Open-C3 endpoint, configure OPEN_C3_URL with HTTPS, use a least-privileged read-only APP_KEY if possible, keep config.env private with restrictive permissions, and do not use a config.env file supplied by an untrusted party without inspecting it.
scripts/list-all-flows.sh:10Arbitrary Command Execution Through Sourced Configuration File
scripts/list-all-flows.sh:24Open-C3 Credentials Can Be Transmitted Over Plaintext HTTP
The skill invokes shell commands via curl/jq but does not declare any tool restrictions such as permissions or allowed-tools. This creates an execution-scope ambiguity where an agent may run shell commands without an explicit least-privilege boundary, increasing the risk of unintended command execution or misuse of stored credentials like APP_KEY. In this case the documented behavior is simple API access, but the lack of declared scope still weakens enforcement and auditability.
The example output is entirely in Chinese, which suggests the skill may present results in a fixed language. The README does not mention any user-selectable language option or justify a Chinese-only locale, which can conflict with language/locale policy expectations.
The script emits all user-facing status and table labels in Chinese, such as '系统共有', '统计信息', and column headers. This imposes a specific language/locale on all users without opt-in or documented justification, which matches the language-policy violation criterion.