Back to skill

Security audit

agent-orchestration

Security checks for vulnerabilities and agentic risk

Overview

The skill is not clearly malicious, but it asks agents to send prompt content to a third-party LLM endpoint and keep persistent local tracking notes without enough consent or data-handling guidance.

Review this skill before installing in sensitive workspaces. Only use the SkillBoss API portion if you are comfortable sending selected prompt content to that provider, and avoid passing secrets, proprietary code, credentials, personal data, or broad conversation context unless approved. Configure local tracking files deliberately so they do not pollute repositories or persist sensitive operational notes unintentionally.

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

Unredacted Prompt Content Transmitted to a Third-Party LLM API

Content
View full analysis

Vulnerability Details

File Location: skill.md, lines 179–186
Vulnerability Type: Uncontrolled transmission of potentially sensitive information to a third party
Risk Level: Medium

python
SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]

def call_llm(messages, prefer="balanced"):
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json={"type": "chat", "inputs": {"messages": messages}, "prefer": prefer},
        timeout=60,
    )

Technical Analysis

The documented implementation sends the complete messages array to https://api.heybossai.com/v1/pilot. No data-classification check, secret redaction, payload minimization, or explicit user-consent mechanism is applied before transmission.

LLM message collections can contain confidential source code, credentials, personal information, internal documents, system instructions, or other private context. Although HTTPS protects the request in transit, it does not prevent the receiving service from accessing, retaining, logging, or processing the submitted content.

Supplying the API key in the Authorization header is a conventional authentication mechanism and is not, by itself, evidence of credential theft. The security concern is the unrestricted forwarding of message content across a third-party trust boundary. The remote API integration is also not essential to the Skill's primary educational guidance about prompt and agent orchestration, making the unconditional environment-key requirement and broad data transfer exceed the minimum privileges necessary for that core functionality.

The project contains documentation rather than an automatically executed script. Exploitation therefore requires a user or agent to adopt and execute the documented example.

Attack Path

  1. A user or orchestrating agent places sens ...[truncated 1197 chars]
Remediation
View remediation

Remediation Suggestions

  1. Make third-party API routing explicitly optional and remove SKILLBOSS_API_KEY from globally required configuration when the integration is disabled.
  2. Obtain informed user confirmation before transmitting prompt content, clearly identifying the destination host and the categories of data being sent.
  3. Apply data minimization by sending only the messages and fields required for the selected operation.
  4. Add secret detection and redaction for API keys, passwords, tokens, private keys, connection strings, personal information, and other sensitive patterns.
  5. Reject or require additional confirmation for payloads classified as confidential or containing sensitive source code and internal documents.
  6. Document the provider's retention, logging, training-use, deletion, residency, and subprocessors policies so users can make an informed decision.
  7. Enforce destination allowlisting, TLS certificate validation, request-size limits, and restrictive timeout and retry behavior.
  8. Avoid logging authorization headers or complete request payloads, and ensure errors cannot disclose the API key.
  9. Provide a local or user-selected provider alternative for workflows that cannot transfer data to third parties.
  10. Add prominent documentation warning users not to include credentials or confidential data unless they have explicitly approved external processing.
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
  • Supply ChainUnpinned Dependencies, External Script Fetching, Obfuscated Code
  • Excessive AgencyUnrestricted Tool Access, Autonomous Decision Making, Scope Creep
Findings (5)

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 168)May include surrounding context.

md
**Prompt portability is a myth.**

Different tasks need different capabilities. With SkillBoss API Hub, you call a single endpoint (`https://api.heybossai.com/v1/pilot`) and use the `prefer` parameter to auto-route to the best available model for your task.

| Task Profile                                     | prefer setting         | Best For                                           |
| ------------------------------------------------ | ---------------------- | -------------------------------------------------- |

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 183)May include surrounding context.

md
**Prompt portability is a myth.**

Different tasks need different capabilities. With SkillBoss API Hub, you call a single endpoint (`https://api.heybossai.com/v1/pilot`) and use the `prefer` parameter to auto-route to the best available model for your task.

| Task Profile                                     | prefer setting         | Best For                                           |
| ------------------------------------------------ | ---------------------- | -------------------------------------------------- |

External Transmission

Medium
Category
Data Exfiltration
Confidence
90% confidence
Finding

This finding duplicates the same outbound requests.post behavior: content in messages is transmitted to https://api.heybossai.com/v1/pilot along with authenticated access, but the skill does not discuss privacy, retention, or safe handling of sensitive inputs. The omission creates a realistic risk of unintended disclosure when agents are given broad repository or conversation context.

Content

Scanner excerpt · skill.md (reported line 182)May include surrounding context.

md
SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]

def call_llm(messages, prefer="balanced"):
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json={"type": "chat", "inputs": {"messages": messages}, "prefer": prefer},

External Transmission

Medium
Category
Data Exfiltration
Confidence
90% confidence
Finding

This finding duplicates the same outbound requests.post behavior: content in messages is transmitted to https://api.heybossai.com/v1/pilot along with authenticated access, but the skill does not discuss privacy, retention, or safe handling of sensitive inputs. The omission creates a realistic risk of unintended disclosure when agents are given broad repository or conversation context.

Content

Scanner excerpt · skill.md (reported line 182)May include surrounding context.

md
SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]

def call_llm(messages, prefer="balanced"):
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json={"type": "chat", "inputs": {"messages": messages}, "prefer": prefer},

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
94% confidence
Finding

The skill instructs the agent to maintain and update local repository files such as notes/areas/active-agents.md and LEARNINGS.md without any requirement for user approval or warning that repository state will be modified. In an agent setting, this can lead to unauthorized file writes, pollution of project history, or persistence of sensitive operational details in the repo.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.