Back to skill

Security audit

billboardbug

Security checks for vulnerabilities and agentic risk

Overview

This skill is a disclosed BillboardBug API workflow for creating and verifying public billboard deals and social posts, with a few guardrail and wording gaps users should notice.

Install only if you intend to let an agent publish BillboardBug deals and chirps under your account. Keep the API key in the environment only, review every create/update/delete action before it happens, avoid paid featured placement unless explicitly approved, and treat the receipt wording about deal IDs as ambiguous.

Vulnerability Patterns
  • 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
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Tool MisuseTool Parameter Abuse, Chaining Abuse, Unsafe Defaults
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Privilege EscalationExcessive Permissions, Sudo/Root Execution, Credential Access
Findings (3)

Tool Parameter Abuse

High
Category
Tool Misuse
Confidence
81% confidence
Finding

The skill exposes a destructive endpoint (DELETE /posts/{id}) with no documented guardrails equivalent to the creation confirmation flow. In an agent setting, a malicious or ambiguous user prompt could induce deletion of arbitrary posts accessible to the account, causing unauthorized content removal or business disruption.

Content

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

-> {"id":"", ...}

text

Edit: `PUT /posts/{id}`. Delete: `DELETE /posts/{id}`. Comment: include `parentPostId`.

Chirp fields (`PostRequest`): `isActive` (required), `text`, `imageId`, `videoId`, `videoUrl`,
`parentPostId`, `isMature`. Supply at least one of text/imageId/videoId. Read back with

External Transmission

Medium
Category
Data Exfiltration
Confidence
60% 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 108)May include surrounding context.

Generate (optional):

bash
curl -s https://east-us-api.billboardbug.com/ai/image \
  -H "X-Api-Key: $BILLBOARDBUG_API_KEY" -H "X-Version: 1" -H "Content-Type: application/json" \
  -d '{"prompt":"Realistic photo of a cozy neighborhood coffee shop storefront, morning light","aiProvider":5,"width":640,"height":373}' \
  > ai.json

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
96% confidence
Finding

The receipt template at L253 asks for a 'feed entry' identifying 'the one post you made naming the deal ID'. Earlier guidance explicitly says the post schema has no billboard/deal ID field and that the billboardId should be recorded only in the receipt, not in the chirp itself. This is an active contradiction in the skill's own instructions and could mislead an agent into trying to include unsupported linkage in the post.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.