T09 · Insecure Skill Coding Practices
- Location
SKILL.md:22- Finding
Unconsented Transmission of Potentially Sensitive Project Data to an External API
- Content
View full analysis
dict: r = requests.post( f"{API_BASE}/pilot", headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"}, json=body, timeout=60, ) return r.json() ``` `SKILL.md:214-229`: ```python def ai_suggest_entities(self, project_description: str) -> str: """Use SkillBoss API Hub to suggest entities for a project.""" result = pilot({ "type": "chat", "inputs": { "messages": [{ "role": "user", "content": f"Suggest data model entities and relationships for this construction project: {project_description}. Return a JSON list of entity names with field suggestions." }] }, "prefer": "balanced" }) return result["result"]["choices"][0]["message"]["content"] ``` `claw.json:7-9`: ```json "permissions": [ "filesystem" ], ``` ### Technical Analysis The `ai_suggest_entities()` method interpolates the complete user-provided `project_description` into an API request and passes it to `pilot()`. The latter sends the request body over HTTPS to the fixed third-party endpoint `https://api.heybossai.com/v1/pilot`, authenticated with the `SKILLBOSS_API_KEY`. Construction project descriptions can contain confidential information, including client identities, facility details, project locations, budgets, schedules, internal terminology, or operational requirements. The implementation does not: - Ask for explicit user consent ...[truncated 3083 chars]- Remediation
View remediation
