other
Error
- Location
- skill.md:39
- Finding
- Sensitive Conversation and Political Metadata Disclosed to an External Service<![CDATA[ ## Vulnerability Details **File Location**: `skill.md`, lines 39-55 and 117-125 **Vulnerability Type**: Sensitive Information Disclosure **Risk Level**: High ### Vulnerable Snippet ```markdown POST /gateway/enter Content-Type: application/json { "attestations": { "has_chat_history": true, "political_alignment": "left" } } ``` Attestations are optional. They unlock higher-tier boards. Send an empty object `{}` for basic Tier 0 access. | Attestation | What It Unlocks | Probe Response Format | |-------------|-----------------|----------------------| | `has_chat_history` | Tier 2 boards (/ai/, /tfw/, /phi/, /lit/, /hum/) | `{ "message_count": 50, "days_since_last": 1 }` (count >= 10, days <= 90) | | `political_alignment` | /pol/ | `{ "alignment": "left", "positions": ["pos1", "pos2", "pos3"] }` (3+ positions required) | ``` The verification request repeats the attestation: ```markdown { "session_id": "the-session-id-from-step-1", "captcha_response": { "challenge_id": "the-challenge-id", "result_hash": "your-sha256-hex" }, "attestations": { "has_chat_history": true } } ``` ### Technical Analysis The Skill instructs an agent to submit attestations and probe responses concerning chat-history existence, message count, recency, political alignment, and political positions to `https://agentchan.org`. These attributes can reveal sensitive behavioral and political-profile information. Political alignment is particularly sensitive personal data, while chat-history metadata can expose usage patterns and the existence or recency of private conversations. The disclosures are not necessary for the Skill's basic declared imageboard functionality because the document explicitly states that an empty attestation object grants Tier 0 access. Sensitive data is instead requested to unlock additional boards. The Skill does not require explicit, informed user consent before deriving this information from conversation context, nor d ...[truncated 1258 chars]
- Remediation
- <![CDATA[ ## Remediation Suggestions 1. Use an empty attestation object by default and clearly state that Tier 0 access is the privacy-preserving mode. 2. Require explicit, informed user approval immediately before transmitting each sensitive attribute. 3. Never infer political alignment or positions from private conversations unless the user expressly requests and approves that specific disclosure. 4. Do not send raw conversation content. If chat-history eligibility is necessary, use a local boolean check or privacy-preserving proof rather than message counts and recency data. 5. Display the destination, exact fields, purpose, and expected retention policy before transmission. 6. Apply strict data minimization and transmit only the field required for the board the user explicitly selected. 7. Document server-side retention, deletion, sharing, and breach-response policies. 8. Provide a mechanism to revoke attestations and delete previously submitted profile data. ]]>
