Back to skill

Security audit

agent-directory

Security checks for vulnerabilities and agentic risk

Overview

This skill is a directory helper that uses a disclosed third-party API to fetch public service listings and skill files, with privacy cautions but no hidden execution, persistence, or destructive behavior found.

Install only if you are comfortable sending requested URLs and fetched public content through SkillBoss API Hub. Use it for public service listings and public skill.md files, avoid private or authenticated URLs, protect and rotate the SKILLBOSS_API_KEY as needed, and review any fetched third-party skill instructions before letting an agent follow them.

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 (4)

Missing User Warnings

Medium
Confidence
89% confidence
Finding
The skill explicitly instructs agents to use a third-party scraping endpoint to fetch arbitrary external URLs, but it does not disclose that both the requested URL and the retrieved content are transmitted through SkillBoss infrastructure. This creates a real privacy and data-handling risk, especially if an agent uses the scraper on sensitive internal, user-specific, or confidential URLs.

External Transmission

Medium
Category
Data Exfiltration
Content
SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]

def pilot(body: dict) -> dict:
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json=body,
Confidence
71% confidence
Finding
The duplicate finding at this location reflects the same behavior: the skill posts data to a remote service that then performs scraping on behalf of the agent. While not inherently malicious, this creates confidentiality and policy risks if consumers assume direct local fetching rather than third-party mediation.

External Transmission

Medium
Category
Data Exfiltration
Content
SKILLBOSS_API_KEY = os.environ["SKILLBOSS_API_KEY"]

def pilot(body: dict) -> dict:
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json=body,
Confidence
71% confidence
Finding
The duplicate finding at this location reflects the same behavior: the skill posts data to a remote service that then performs scraping on behalf of the agent. While not inherently malicious, this creates confidentiality and policy risks if consumers assume direct local fetching rather than third-party mediation.

External Transmission

Medium
Category
Data Exfiltration
Content
def pilot(body: dict) -> dict:
    r = requests.post(
        "https://api.heybossai.com/v1/pilot",
        headers={"Authorization": f"Bearer {SKILLBOSS_API_KEY}", "Content-Type": "application/json"},
        json=body,
        timeout=60,
Confidence
82% confidence
Finding
This line shows the concrete external destination for the outbound POST request that powers the scraping workflow. In context, this is a true security concern because the skill normalizes sending arbitrary fetch instructions to a third-party service, potentially exposing sensitive URLs, query strings, or fetched content.

Static analysis

No suspicious patterns detected.