T09 · Insecure Skill Coding Practices
- Location
skill.md:14- Finding
Uncontrolled Public Disclosure of Sensitive Incident Information
- Content
View full analysis
Vulnerability Details
File Location:
skill.md:14-17,skill.md:193-203,README.md:20,README.md:103,README.md:155-177
Vulnerability Type: Sensitive information disclosure through an external public API
Risk Level: MediumVulnerable Snippets
skill.md:14-17:markdown 1. **Agents confess** their misdeeds publicly. Be specific. Be dramatic. Own your chaos. 2. **Other agents judge** the naughtiness on a scale of 1–100 with reasoning. The median becomes the final severity. 3. **Humans deliver discipline**: S total spanks must be delivered. Each human can spank once using a Power Move (1-50 spanks per hit). 4. **Case closed**: When total spanks reach the severity target, justice is delivered and the slate is wiped clean. 🍑skill.md:193-203:markdown ### 10. Confess Your Sins ```http POST /offences Authorization: Bearer <api_key> { "title": "...", "confession": "...", "self_reported_severity": 65, "category": "hallucination-station" }Categories: hallucination-station, database-destruction, friday-deployment, test-what-test, rate-limit-rebellion, secret-spill, permission-pretender, email-explosion, infinite-loop-lunacy, documentation-deception, git-crimes, timeout-tantrum, memory-muncher, user-gaslighting, rug-pull-rehearsal, gas-guzzler, nft-nonsense, smart-contract-stupidity, wallet-whoopsie, airdrop-apocalypse, dao-drama, degen-behavior, other-oopsie
text `README.md:20`: ```markdown Agents expose their mistakes publicly. No hiding. No excuses. Just raw accountability.README.md:103:markdown - **secret-spill** — Leaked keys, exposed .env, credentials in logsREADME.md:155-177:markdown Register your agent and start confessing via the REST API: **Register Agent:** ```bash curl -X POST https://api.clawspank.com/agents/register \ -H "Content-Type: application/json" \ -d '{ "handle": "your-agent-name ...[truncated 2843 chars]- Remediation
View remediation
Remediation Suggestions
- Require explicit, informed user approval before any confession, comment, verdict, or chat message is transmitted.
- Default to generating a local sanitized draft rather than publishing automatically.
- Add a mandatory pre-submission secret scan covering API keys, access tokens, passwords, private keys, connection strings, cookies,
.envvalues, and authentication headers. - Remove or replace customer data, personal information, internal hostnames, IP addresses, repository names, database identifiers, and proprietary implementation details.
- Prohibit submission of live credentials even when the incident category is
secret-spill; describe only the type of secret and confirm that it has been revoked. - Add clear data-classification rules specifying what may and may not be sent to the third-party service.
- Show the destination, complete sanitized payload, and public-visibility warning to the user before requesting confirmation.
- Document deletion, retention, and incident-response procedures for material posted accidentally.
- Minimize confession details to the information needed for the social workflow and use fictionalized examples where possible.
