T09 · Insecure Skill Coding Practices
- Location
src/audit.js:341- Finding
Secret leakage audit skips nested and nonstandard configuration locations
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This is a local OpenClaw config auditing tool, but its sanitizer is advertised for sharing while using incomplete redaction rules that can leave secrets behind.
Install only if you treat it as a local heuristic audit aid. Do not assume its sanitize command makes a config safe to share; manually review sanitized output and avoid sharing live OpenClaw configs that may contain tokens, gateway credentials, cookies, or private keys.
src/audit.js:341Secret leakage audit skips nested and nonstandard configuration locations
src/sanitize.js:11Sanitizer can preserve common credentials in output represented as safe to share
The skill description says it performs security auditing, but the documented behavior also includes sanitization/redaction and direct access to ~/.openclaw/openclaw.json, which are materially different capabilities. This mismatch can mislead users and orchestrators into granting or invoking broader file access than expected, especially because OpenClaw configs may contain tokens, secrets, and sensitive topology data.
The skill description says it performs security auditing, but the documented behavior also includes sanitization/redaction and direct access to ~/.openclaw/openclaw.json, which are materially different capabilities. This mismatch can mislead users and orchestrators into granting or invoking broader file access than expected, especially because OpenClaw configs may contain tokens, secrets, and sensitive topology data.
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
{ pattern: /\b[0-9]+:[A-Za-z0-9_-]{35,}\b/, type: 'Telegram bot token' },
{ pattern: /0x[a-fA-F0-9]{64}/i, type: 'Private key (hex 256-bit)' },
{ pattern: /xai-[a-zA-Z0-9]{20,}/i, type: 'xAI API key' },
{ pattern: /ghp_[a-zA-Z0-9]{36,}/i, type: 'GitHub personal access token' },
{ pattern: /gho_[a-zA-Z0-9]{36,}/i, type: 'GitHub OAuth token' },
{ pattern: /glpat-[a-zA-Z0-9_-]{20,}/i, type: 'GitLab personal access token' },
{ pattern: /AKIA[0-9A-Z]{16}/i, type: 'AWS access key' },
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
{ pattern: /\b[0-9]+:[A-Za-z0-9_-]{35,}\b/, type: 'Telegram bot token' },
{ pattern: /0x[a-fA-F0-9]{64}/i, type: 'Private key (hex 256-bit)' },
{ pattern: /xai-[a-zA-Z0-9]{20,}/i, type: 'xAI API key' },
{ pattern: /ghp_[a-zA-Z0-9]{36,}/i, type: 'GitHub personal access token' },
{ pattern: /gho_[a-zA-Z0-9]{36,}/i, type: 'GitHub OAuth token' },
{ pattern: /glpat-[a-zA-Z0-9_-]{20,}/i, type: 'GitLab personal access token' },
{ pattern: /AKIA[0-9A-Z]{16}/i, type: 'AWS access key' },
The skill instructs the agent to read a live user configuration file and references environment-capable execution, but it declares no explicit tool scope or permissions boundary. In a security-audit context this increases the chance of unnecessary access to sensitive local data such as secrets in config files or environment variables without clear user-visible limitation.
Detected: suspicious.dangerous_exec