T09 · Insecure Skill Coding Practices
- Location
scripts/classifier.py:183- Finding
Unredacted Exception Data Exposed Through Logs and Action Messages
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
The skill is a small error-classification helper with no evidence of credential access, network activity, persistence, or hidden behavior, though it can echo raw exception text into messages and logs.
Reasonable to install for local error classification. Use caution when integrating it with APIs or production systems: raw exception strings may include tokens, headers, URLs, or private paths, so add redaction before forwarding messages to users, models, logs, or telemetry.
scripts/classifier.py:183Unredacted Exception Data Exposed Through Logs and Action Messages
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
# ---- PERMANENT(永久错误)----
def test_permission_denied_is_permanent(self):
error = Exception("Permission denied: /etc/shadow")
self.assertEqual(self.classifier.classify(error), ErrorType.PERMANENT)
def test_403_is_permanent(self):
Without declared permissions the skill's intent is opaque and cannot be validated.
The manifest description and main skill content are written entirely in Chinese and present the skill behavior in that language without offering an alternative language or stating that the skill is region-specific. This can violate a language/locale policy when users are not explicitly given a choice.
This code file contains natural-language documentation and operational messages entirely in Chinese, including the module docstring and later user-facing action messages. Under the stated policy, forcing a specific language without user opt-in is a locale-policy violation unless the constraint is explicitly justified, which is not present here.
This markdown file is written entirely in Chinese and does not indicate that the user may choose another language or that the content is intentionally restricted to a Chinese-speaking or region-specific audience. Under the policy rule for natural-language violations, forcing a specific language without opt-in is a reportable issue.
The module docstring and comments are written primarily in Chinese, which imposes a specific language for maintainers or users reading skill internals. The policy calls for flagging language or locale constraints when the skill does not offer a language choice or document a justified region-specific need.
This Python file contains natural-language documentation entirely in Chinese, including the top-level docstring and many test descriptions, with no indication that the skill supports other languages or that Chinese is a required locale. Under the policy rule for language/locale constraints, this constitutes a forced language choice without user opt-in or documented justification.