T09 · Insecure Skill Coding Practices
- Location
assets/nc_data.json:4- Finding
Operational audit records distributed in a plaintext asset
- Content
View full analysis
Vulnerability Details
File Location:
assets/nc_data.json, lines 4–1349
Vulnerability Type: Plaintext sensitive-data exposure
Risk Level: MediumEvidence
The packaged JSON datastore contains 50 populated operational audit records. The following security-safe excerpt preserves representative identifiers while omitting the non-English descriptive content:
json { "non_conformances": [ { "id": "NC-20260629-001", "clause": "7.5.3", "category": "minor", "verification": { "status": "open", "verifier": "", "verified_at": "", "result": "" }, "audit_info": { "audit_date": "2026-06-26" }, "created_at": "2026-06-29T18:56:29.505142" } ] }The complete affected range additionally contains plaintext titles, detailed findings, evidence descriptions, department names, internal audit identifiers, equipment and project identifiers, internal system names, safety observations, and audit conclusions.
Technical Analysis
The Skill stores its working data inside a distributable project asset rather than in an external, access-controlled runtime data location. The asset is populated with operational records instead of an empty schema or clearly synthetic test fixtures.
No code execution is required to expose the information. Any party able to obtain the Skill package can directly parse or read the JSON file. Because the data documents internal process weaknesses and safety or quality findings, package distribution unintentionally expands access beyond the intended audit users.
The reviewed scripts do not transmit this information over a network, and no credentials or authentication secrets were found. The vulnerability is therefore a local disclosure caused by insecure packaging and data-storage practices, not active exfiltration.
Attack Path
- An attacker or unauthorized recipient obtains a copy of the Skill package.
- The recipient opens ...[truncated 1025 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove all operational audit records from the distributable Skill package.
- Ship
assets/nc_data.jsonas an empty schema, for example:
json { "non_conformances": [], "audit_ids": [] }- Store live audit data outside the Skill installation directory in a dedicated runtime data location.
- Restrict datastore permissions to the specific user or service account that operates the Skill.
- Separate production data from documentation, source code, demonstrations, and release artifacts.
- If examples are required, use explicitly synthetic records that do not reference real departments, systems, equipment, dates, projects, or findings.
- Add the live datastore path to source-control and package exclusion rules.
- Add a release-time sensitive-data scan that rejects populated audit datasets and other confidential operational records.
- Define retention, deletion, backup, and access-control requirements for audit records.
- Consider encryption at rest where the runtime threat model includes unauthorized filesystem access.
- Review previously distributed copies of the Skill and revoke access or remove exposed artifacts where feasible.
