Back to skill

Security audit

data-lineage-tracker

Security checks for vulnerabilities and agentic risk

Overview

The skill is a coherent construction data-lineage tool, but its examples route complete lineage data to a third-party AI API without enough scoping, redaction, or user-confirmation guidance.

Review this skill before installing in any confidential, regulated, or client-restricted construction environment. Use the local lineage functions only unless you explicitly approve sending sanitized data to SkillBoss API Hub, and avoid pasting full project exports, owner names, internal system names, file locations, or transformation details into remote AI analysis.

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:504
Finding

Uncontrolled Transmission of Sensitive Construction Lineage Data to an External AI Service

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() ``` The quick-start workflow exports the complete lineage dataset, embeds it in an AI prompt, and transmits it: ```python # AI analysis via SkillBoss API Hub lineage_data = tracker.export_lineage() analysis_prompt = f"Analyze this construction data lineage and identify potential data quality risks:\n{lineage_data}" result = pilot({ "type": "chat", "inputs": { "messages": [{"role": "user", "content": analysis_prompt}] }, "prefer": "balanced" }) analysis = result["result"]["choices"][0]["message"]["content"] print(analysis) ``` The exported content includes project, system, ownership, location, entity, and transformation information: ```python def export_lineage(self) -> Dict: """Export complete lineage data.""" return { 'project_id': self.project_id, 'exported_at': datetime.now().isoformat(), 'sources': {k: { 'id': v.id, 'name': v.name, 'system': v.system, 'location': v.location, 'owner': v.owner } for k, v in self.sources.items()}, 'entities': {k: { 'id': v.id, 'name': v.name, 'source_id': v.source_id, 'entity_type': v.entity_type, 'parent_entities': v.parent_entities } for ...[truncated 4498 chars]
Remediation
View remediation
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

External Transmission

Medium
Category
Data Exfiltration
Confidence
82% confidence
Finding

The documentation references an external AI endpoint in the overview, signaling that the skill is designed to transmit data off-platform. The danger here is primarily disclosure/expectation risk: users may not appreciate that a governance-focused tool involves third-party processing.

Content

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

md
Track the origin, transformations, and flow of construction data through systems. Provides audit trails for compliance, helps debug data issues, and ensures data governance.

AI-powered analysis is routed through SkillBoss API Hub (`https://api.heybossai.com/v1/pilot`) — no separate AI provider keys required.

## Business Case

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The documentation advertises AI-powered analysis through an external API but does not clearly warn that lineage contents may be transmitted off-system. Users may reasonably assume a data-lineage tool keeps governance data local, so the missing disclosure increases the chance of unintended data leakage.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
84% confidence
Finding

The hardcoded external API base URL establishes a built-in network egress path to a third-party service. While not malicious by itself, it is a true security concern in this context because the skill handles audit/governance data that may be confidential and regulated.

Content

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

md
import uuid

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

def pilot(body: dict) -> dict:
    r = requests.post(

Context-Inappropriate Capability

Medium
Category
Not specified by scanner
Confidence
85% confidence
Finding

The core purpose of the skill is lineage tracking, but it embeds a remote AI analysis feature that sends user-provided context externally. This feature expansion increases data exposure risk without being necessary for baseline lineage functionality, making accidental over-sharing more likely.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
89% confidence
Finding

This code performs an outbound HTTPS request to a third-party API using a bearer token and arbitrary JSON body content. External transmission is not inherently malicious, but in this skill it becomes dangerous because the transmitted payload can contain sensitive lineage and governance data.

Content

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

md
API_BASE = "https://api.heybossai.com/v1"

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 skill exports complete lineage data and submits it to a third-party AI endpoint, which can disclose sensitive project metadata, source systems, ownership details, and transformation logic outside the local trust boundary. In a construction/compliance context, lineage data is often itself sensitive because it reveals operational architecture, data relationships, and audit-relevant records.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
83% confidence
Finding

The quick start again hardcodes the external API base URL, reinforcing remote transmission as a default workflow. This is less severe than the actual POST call, but it still contributes to risky adoption patterns around sensitive data handling.

Content

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

md
import os, requests

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

def pilot(body: dict) -> dict:
    r = requests.post(

External Transmission

Medium
Category
Data Exfiltration
Confidence
88% confidence
Finding

The quick start duplicates the outbound transmission pattern and normalizes sending project data to an external service. Because users often copy sample code directly, this increases the likelihood of unintended disclosure of real operational metadata.

Content

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

md
API_BASE = "https://api.heybossai.com/v1"

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,

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The quick start example explicitly exports lineage data and sends it to the external API without any warning or redaction guidance. Example code strongly influences user behavior, so this pattern can cause direct exfiltration of sensitive project metadata, ownership information, and system mappings in real deployments.

Content

No source excerpt is available for this finding.

External Transmission

Medium
Category
Data Exfiltration
Confidence
78% confidence
Finding

The resources section promotes a unified external AI analysis endpoint without corresponding security caveats. This is documentation-driven risk rather than an exploit primitive, but it can encourage users to route sensitive lineage data externally without adequate review.

Content

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

md
- **Data Governance**: DAMA DMBOK lineage guidelines
- **Audit Requirements**: SOX, ISO compliance
- **AI Integration**: SkillBoss API Hub (`https://api.heybossai.com/v1/pilot`) — unified routing for all AI analysis

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
92% confidence
Finding

The instruction 'When the user asks to manage and track project data' is very broad and does not clearly constrain what requests should invoke the skill. Because the skill also accepts file paths and defers implementation details to SKILL.md, an agent may over-apply the skill to loosely related requests, increasing the chance of unintended data handling or access to sensitive project information.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.