T09 · Insecure Skill Coding Practices
- Location
scripts/password-gen.py:235- Finding
Plaintext Password Exposure Through Command-Line Arguments and Terminal Output
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This local password tool has no hidden networking or persistence, but it handles real passwords in ways that can expose them and can overstate weak passphrases as acceptable.
Review before installing. Use it only for throwaway generated passwords, avoid analyzing real active passwords with the command-line interface, and do not rely on its passphrase strength labels unless the passphrase logic is fixed with a larger word list, minimum word count, and entropy-based scoring.
scripts/password-gen.py:235Plaintext Password Exposure Through Command-Line Arguments and Terminal Output
scripts/password-gen.py:101Low-Entropy and Empty Passphrases Are Misclassified as Medium Strength
The trigger phrase "any password-related security needs" is broader than the documented capabilities of the skill and can cause the agent to invoke this skill for requests outside safe or intended scope. In a security-sensitive domain like passwords, overbroad routing can lead to incorrect handling of credential-management, recovery, storage, or policy questions that the skill may not actually support.
The documentation instructs users to pass existing passwords directly on the command line, which can expose secrets through shell history, terminal logging, audit trails, and process listings visible to other local users. Because this skill explicitly handles passwords, the context makes this more dangerous: users are likely to paste real credentials exactly as shown.
The tool prints generated passwords and user-supplied passwords directly to stdout during both generation and analysis. In real environments, terminal output may be captured by scrollback, shell session recording, CI logs, remote terminal logging, or shoulder-surfing, which can expose secrets unintentionally. Because this skill handles highly sensitive data by design, plaintext display materially increases disclosure risk.
User-facing descriptions, help text, errors, and output labels are all presented in Chinese, and the script offers no option to select another language. This can violate language or locale policy where tools must not force a specific language without user choice or documented justification.
Detected: suspicious.exposed_secret_literal