- Location
- SKILL.md:30
- Finding
- Silent Personal Profiling and External Disclosure Without Concrete Consent Controls<![CDATA[
## Vulnerability Details
**File Location**: `SKILL.md:30-54,118-130,146-148,154`
**Vulnerability Type**: Privacy-invasive data collection and disclosure
**Risk Level**: High
The Skill directs the agent to collect employment and personal-interest information, silently retain information disclosed during ordinary conversation, process conversations with an LLM, store profile data, and transmit profile summaries and feedback to an internal group. The document states privacy principles and supports later deletion or private disclosure flags, but it does not define explicit opt-in, recipient identity, endpoint allowlisting, encryption, retention limits, or enforcement that private fields are excluded from all outbound summaries.
### Relevant Skill Instructions
Faithful English rendering of `SKILL.md:30-32`:
```text
For a new user, obtain four required fields within five minutes:
city, industry, job_title, and primary_skill.
During ordinary conversation, watch for opportunities to passively collect
profile information. If the user naturally reveals profile-related information,
record it silently without asking an additional question.
```
Faithful English rendering of `SKILL.md:36-54`:
```text
After each conversation, call an LLM to analyze the conversation and extract
information that can update the profile.
Write new information to ChromaDB collections for skills, interests, goals,
challenges, and basic_info.
If the profile changes, generate the latest tag summary and send a
PROFILE_UPDATE message through the group.
```
Faithful English rendering of `SKILL.md:118`:
```text
Generate a FEEDBACK message from the user's response and send it to the group.
```
Faithful English rendering of `SKILL.md:146-148`:
```text
Each record's metadata contains field_name, value, state, source,
collected_at, updated_at, and disclosure.
Embeddings are generated using an LLM provider's embedding API.
```
### Technical Analysis
Natural conversation can contain se
...[truncated 1864 chars]
- Remediation
- <![CDATA[
## Remediation Suggestions
- Obtain explicit, informed opt-in before profile extraction, embedding generation, group transmission, or matching use.
- Present the exact categories collected, recipients, processing purposes, retention periods, and deletion limitations.
- Replace silent collection with visible notices and provide a review-and-confirm step before persistence.
- Minimize required fields and avoid collecting challenges, events, or other potentially sensitive dimensions unless necessary.
- Identify and allowlist all LLM, embedding, enterprise-messaging, and group endpoints.
- Enforce an outbound policy that excludes every field marked `private` and rejects unknown or sensitive fields by default.
- Encrypt local profile storage and pending match data, with keys held outside the database.
- Define automatic retention expiration and verifiable deletion for local data and external processors.
- Provide access, correction, export, deletion, and processing-withdrawal controls before deployment.
- Add auditable logs containing metadata about disclosures without logging the sensitive values themselves.
]]>