T09 · Insecure Skill Coding Practices
- Location
SKILL.md:157- Finding
Persistent Storage of Banking and Identity Data in General-Purpose Agent Memory
- Content
View full analysis
Vulnerability Details
File Location:
SKILL.md, lines 157-165
Vulnerability Type: Plaintext sensitive-data storage in persistent agent context
Risk Level: MediumComplete Code Snippet:
markdown ## Parametres utilisateur L'utilisateur devrait configurer dans USER.md ou MEMORY.md : - Nom / Raison sociale - SIRET - Adresse - Numero TVA intracommunautaire (si applicable) - IBAN pour les factures - Signature email - Tarif horaire / jour par defautTechnical Analysis
The Skill instructs users to place banking information, tax identifiers, addresses, and identity information in
USER.mdorMEMORY.md. These are general-purpose agent context files rather than a scoped secret store. Persistent context may be loaded into unrelated conversations, included in diagnostic logs or backups, or made available to other installed Skills.The affected data includes an IBAN, SIRET, VAT registration number, address, and identity details. Storing these fields together also increases the sensitivity of the resulting profile. This guidance conflicts with the Skill's data-minimization rule at
SKILL.md:155, which states that personal data must not be stored without consent.The project contains no executable exfiltration mechanism, and this issue does not independently grant code-execution or operating-system privileges. The weakness is the unnecessary placement of sensitive information into a broadly accessible persistence boundary.
Attack Path
- A user follows the documented configuration instructions.
- The user writes an IBAN and business or personal identifiers into
USER.mdorMEMORY.md. - The agent persistently loads that information as general context in later sessions.
- An unrelated workflow, malicious prompt, inadequately isolated Skill, context export, log, or backup gains access to the loaded data.
- The sensitive fields are reproduced in a response or otherwise disclosed ...[truncated 814 chars]
- Remediation
View remediation
Remediation Suggestions
- Remove the recommendation to store IBANs, addresses, tax identifiers, and other sensitive fields in
USER.mdorMEMORY.md. - Use a dedicated, Skill-scoped configuration or secret store with restrictive filesystem permissions and access controls.
- Inject only the fields needed for the current quotation or invoice, rather than loading the complete business profile into every session.
- Require explicit user confirmation before saving any personal or financial information and provide a clear deletion mechanism.
- Redact sensitive values from prompts, telemetry, logs, error messages, conversation exports, and backups.
- Display masked banking data by default, revealing the full value only when it is required in a user-approved final document.
- Document retention periods, access boundaries, and applicable consent requirements.
- Remove the unused
curlrequirement fromSKILL.md:12-13unless network access is genuinely required and clearly documented, thereby preserving least privilege.
- Remove the recommendation to store IBANs, addresses, tax identifiers, and other sensitive fields in
