Back to skill

Security audit

Bytesagain Bi Dashboard Builder

Security checks for vulnerabilities and agentic risk

Overview

This skill is a local BI dashboard template generator with some input-validation weaknesses, but no hidden execution, persistence, credential use, or data exfiltration behavior was found.

Reasonable to install for local dashboard drafting, but treat its SQL and Superset JSON as drafts. Do not feed it untrusted table names or chart types in automation, and review generated templates before executing them in a database or importing them into BI tools.

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

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:142
Finding

Unvalidated table identifier enables SQL injection in generated templates

Content
View full analysis
= CURRENT_DATE - INTERVAL '90 days' GROUP BY $group_by ORDER BY $group_by; -- KPI card query SELECT $(split_csv "$METRICS" | while read -r m; do metric_formula "$m"; done | sed 's/^/ /' | paste -sd ',\n' -) FROM $TABLE WHERE event_date >= CURRENT_DATE - INTERVAL '30 days'; EOF_SQL } ``` ### Technical Analysis The `--table` option is accepted by `parse_opts` and stored in `TABLE`, but `cmd_sql` inserts that value directly after both `FROM` clauses. Metrics and dimensions are passed through `slugify`, while the table identifier receives neither validation nor identifier quoting. Because this command generates text rather than directly connecting to a database, invoking the skill alone does not execute the injected SQL. The vulnerability becomes exploitable when a user, automation pipeline, or BI platform executes the generated template. SQL delimiters, comments, or additional clauses supplied through `--table` can then change the intended query structure. ### Attack Path 1. An attacker influences the value passed to `--table`, such as through an untrusted dashboard request or automated prompt. 2. The attacker supplies a value containing SQL s ...[truncated 872 chars]
Remediation
View remediation

T09 · Insecure Skill Coding Practices

Warning
Location
scripts/script.sh:169
Finding

Unsupported chart types permit structural injection into generated Superset JSON

Content
View full analysis
Remediation
View remediation
Vulnerability Patterns
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • 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

Static analysis

No suspicious patterns detected.