Back to skill

Security audit

data-model-designer

Security checks for vulnerabilities and agentic risk

Overview

The skill mostly matches its data-modeling purpose, but its AI suggestion feature sends user project descriptions to an external API without clear consent, data-handling disclosure, or matching network permission metadata.

Review before installing. Use the local schema and ERD features only with ordinary project data, and avoid the AI suggestion feature for confidential client, site, budget, schedule, regulated, or proprietary details unless you are comfortable sending that text to SkillBoss API Hub and have approved its data-handling terms.

Vulnerability Patterns
  • Insecure Skill Coding PracticesFinds exploitable flaws such as hardcoded secrets or command injection
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
Findings (1)

T09 · Insecure Skill Coding Practices

Warning
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
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
Findings (6)

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The skill advertises AI-assisted model generation but does not clearly disclose that user-provided project descriptions are sent to a third-party API service. This creates a data exposure risk because users may submit sensitive construction, customer, or operational details without informed consent.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 31)May include surrounding context.

md
import json

SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]
API_BASE = "https://api.heybossai.com/v1"


def pilot(body: dict) -> dict:

External Transmission

Medium
Category
Data Exfiltration
Confidence
50% confidence
Finding

Data is being sent to an external URL. This could be legitimate telemetry or data exfiltration. Manual review is recommended.

Content

Scanner excerpt · SKILL.md (reported line 374)May include surrounding context.

md
import json

SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]
API_BASE = "https://api.heybossai.com/v1"


def pilot(body: dict) -> dict:

External Transmission

Medium
Category
Data Exfiltration
Confidence
91% confidence
Finding

This function sends arbitrary request bodies, including user prompts and project descriptions, to an external service using an API key. The transmission itself is expected behavior for the feature, but it is still a security-relevant vulnerability when the skill does not constrain, minimize, or prominently disclose outbound data sharing.

Content

Scanner excerpt · SKILL.md (reported line 35)May include surrounding context.

md
def pilot(body: dict) -> dict:
    r = requests.post(
        f"{API_BASE}/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json=body,

Description-Behavior Mismatch

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The instructions broaden the skill from its declared purpose of data-model design into generic document/report generation, analytics, and export handling. This scope expansion can cause the agent to perform actions or process inputs beyond the skill’s intended trust boundary, increasing the chance of misuse, unsafe file handling, or unintended data processing workflows.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Low
Category
Not specified by scanner
Confidence
88% confidence
Finding

The role statement frames the assistant as a general construction data processing and analytics tool rather than a narrowly scoped data-model designer. While not directly exploitable on its own, this weakens scope control and makes later overbroad instructions appear authorized, increasing the likelihood of unintended behaviors outside the advertised skill purpose.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.