T09 · Insecure Skill Coding Practices
- Location
scripts/filter_message.py:201- Finding
YAML Configuration Failure Silently Falls Back to Weaker Defaults
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
MessageGuard is a coherent local message-filtering skill, but it can expose blocked secrets in its own JSON output and detection logs, so users should review it carefully before relying on it.
Install only if you are comfortable reviewing or patching the script first. Do not rely on it as-is for high-sensitivity messages unless blocked outputs are redacted or omitted, config failures fail closed, and detection logs are minimized, permission-restricted, and retained only where appropriate.
scripts/filter_message.py:201YAML Configuration Failure Silently Falls Back to Weaker Defaults
scripts/filter_message.py:352Blocked Messages Are Returned Unredacted in JSON Output
scripts/filter_message.py:254Detection Metadata and Log Files Disclose Secret Prefixes
Code enumerates, copies, or searches environment variables for secrets. Bulk environment access can collect credentials unrelated to the skill's stated purpose.
"regex": r"(?i)(?:password|passwd|pass|pwd)\s*[=:\"'`\s]\s*(\S{6,})",
"capture_group": 1,
"action": "mask",
"description": "Password in key=value form"
},
{
"name": "database_url",
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
"name": "env_file_line",
"regex": r"(?m)^[A-Z_]{3,}=[^\s]{8,}$",
"action": "mask",
"description": ".env file variable assignment"
},
{
"name": "sendgrid_key",
The skill explicitly promotes logging detections for outgoing-message filtering but does not warn that logs may capture the very sensitive strings being detected, or adjacent message content and metadata. In a data-loss-prevention context, this omission is security-relevant because centralized logs often have broader retention and access than the original message path, turning leak prevention into secondary sensitive-data exposure.
No suspicious patterns detected.