T09 · Insecure Skill Coding Practices
- Location
references/commands.md:305- Finding
Secret seed and decryption key are exposed through standard output
- Content
View full analysis
] ``` Outputs encryption key (public), decryption key (secret), signer public key, and seed. ``` From `references/json-output.md:87-95`: ```markdown ## `ika dwallet generate-keypair --json` ```json { "type": "keypair", "encryption_key": "hex...", "decryption_key": "hex...", "signer_public_key": "hex...", "seed": "hex..." } ``` ``` ### Technical Analysis The documented `generate-keypair` behavior returns the secret decryption key and derivation seed through standard output, including in machine-readable JSON. Standard output is not an appropriate secret-delivery channel because it is commonly retained by: - Agent conversation and tool-call transcripts - CI/CD job logs - Terminal recording and observability systems - Shell redirection and debugging infrastructure - Automation that collects JSON command results - Clipboard or support-ticket workflows The seed is especially sensitive because the documentation states that encryption keys are deterministically derived from seed material. Disclosure may therefore allow reconstruction of the associated encryption identity. Disclosure of the decryption key directly compromises data protected for that identity. This behavior exceeds the minimum output necessary for ordinary automation. Public keys and a reference to securely stored secret material would normally be sufficient. ### Attack Path 1. A user or Agent runs `ika dwallet generate-keypair --json`. 2. The CLI writes the plaintext seed and d ...[truncated 1013 chars]- Remediation
View remediation
