T09 · Insecure Skill Coding Practices
- Location
scripts/create_inbox.py:34- Finding
Mailbox credentials are generated using a non-cryptographic pseudorandom generator
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This skill does what it claims for disposable Mail.tm testing inboxes, but its outputs can contain mailbox tokens, passwords, message bodies, and OTPs that users should treat as sensitive.
Use this skill only for disposable testing inboxes, not for important personal or production accounts. Treat the generated token, password, saved JSON, message bodies, OTPs, terminal output, and CI logs as sensitive, and delete saved result files when finished.
scripts/create_inbox.py:34Mailbox credentials are generated using a non-cryptographic pseudorandom generator
scripts/e2e_otp.py:89Mailbox tokens, passwords, OTPs, and message contents are exposed through unsafe interfaces
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
## Notes
- Free temp domains can be blocked by some production services.
- Keep token private; treat it like mailbox access credentials.
- Prefer stable paid inbox providers for CI if reliability is critical.
The skill documents and invokes bundled scripts that perform network access to Mail.tm and can persist results to disk, but it declares no explicit tool scope such as allowed tools or permissions. This creates an authorization gap: an agent or platform may permit broader file-write and network behavior than reviewers or policy expect, increasing the risk of misuse or over-privileged execution.
This code posts the generated email address and password to a third-party service API and retrieves an authentication token, but the file contains no comment, docstring, or user-facing notice explaining that credentials are being sent over the network. For a code file, network transmission of account data should have some visible disclosure unless clearly documented as part of the skill's stated purpose, which is not evident in this file alone.
The script prints the mailbox password and bearer token in plaintext JSON to stdout. In agent, CI, or multi-user environments, stdout is often logged, captured, or exposed to downstream tools, which can let anyone with log access take over the disposable inbox, read OTPs, or impersonate the session.
The script emits the full inbox object, which includes the disposable email address, password, bearer token, and later full message contents including OTPs. It also optionally persists the same data to disk via --save, creating unnecessary exposure through stdout logs, CI artifacts, shell history workflows, or local files that other users or processes may access.
This code performs network requests to a third-party mail service and then prints full message details, including email body content and extracted OTPs, to stdout. Although the script name and arguments suggest inbox access, the file contains no user-facing warning, confirmation, or comment disclosing that sensitive mailbox contents and one-time codes will be retrieved and exposed in output.