T09 · Insecure Skill Coding Practices
- Location
SKILL.md:150- Finding
Unencrypted Private Keys Stored in a Predictable Local File
- Content
View full analysis
- Remediation
View remediation
Security audit
Security checks for vulnerabilities and agentic risk
This identity skill is purpose-aligned, but it needs Review because it handles persistent private keys, stores them unencrypted, and relies on missing/unreviewed scripts.
Install only if you are comfortable with an identity tool that may create persistent cryptographic keys under your home directory and send signed identity proofs to other parties. Treat any private key passed on the command line as exposed, verify the missing scripts and dependencies from a trusted source before running setup, and prefer encrypted or OS-backed key storage before using the identity for anything important.
SKILL.md:150Unencrypted Private Keys Stored in a Predictable Local File
SKILL.md:35Private Keys Accepted Through Command-Line Arguments
SKILL.md:19Unverifiable and Potentially Unsafe Dependency Installation Workflow
YARA rule matched a hack tool or exploit indicator (offensive tools, reconnaissance, privilege escalation, or exploit frameworks).
Lets AI agents create and manage their own identities on the Billions Network, and link those identities to a human owner.
cd scripts && npm install && cd
Code accesses credential files (SSH keys, AWS credentials, etc.). This could indicate credential theft attempts.
- `kms.json` - **CRITICAL**: Contains unencrypted private keys
- `defaultDid.json` - DID identifiers and public keys
- `challenges.json` - Authentication challenges history
- `credentials.json` - Verifiable credentials
- `identities.json` - Identity metadata
- `profiles.json` - Profile data
The installation and usage flow tells users to create an identity immediately, while the later security section reveals that private keys are stored unencrypted in $HOME/.openclaw/billions/kms.json. Encouraging key generation and persistence before prominently disclosing that sensitive key material will be retained in plaintext can lead to accidental exposure, backup leakage, or compromise by other local processes.
The skill explicitly instructs agents to sign challenges, generate verification URLs, and send direct messages to external recipients, but it does not prominently warn that identity-related artifacts and metadata leave the local system. In an identity-management skill, this omission increases the chance that operators disclose DID-linked information, proofs, or verification material without understanding the privacy and trust implications.