T09 · Insecure Skill Coding Practices
- Location
scripts/convert.py:66- Finding
Incomplete Sensitive-Data Filtering Can Export Credentials
- Content
View full analysis
**Lead summary:** {etype} record from ontology graph.") md.append(f"\n**Type:** {etype}") for k, v in props.items(): md.append(f"- **{k}:** {v}") ``` ### Technical Analysis The sanitization routine examines only top-level property names. It does not recursively inspect nested dictionaries, arrays, or serialized objects. Consequently, a secret stored under a benign top-level key remains intact. For example, the following property is not removed: ```json { "details": { "token": "sensitive-value" } } ``` The filter also relies on a limited substring list. Sensitive fields such as `mnemonic`, `seed_phrase`, `authorization`, `bearer`, `session`, or `client_secret_value` may not be handled reliably. Values themselves are never inspected for recognizable credential patterns. After this incomplete filtering, Python converts arbitrary nested values to strings and writes them to generated Markdown files. The skill documentat ...[truncated 1343 chars]- Remediation
View remediation
