dbt-macros

Pass

Audited by Gen Agent Trust Hub on Jul 31, 2026

Risk Level: SAFECOMMAND_EXECUTIONPROMPT_INJECTION
Full Analysis
  • [COMMAND_EXECUTION]: The skill documents the use of the run_query function and adapter methods to execute dynamically generated SQL and DDL commands on a connected data warehouse.
  • Evidence: Multiple examples demonstrate executing queries via run_query(query), creating schemas with adapter.create_schema(), and dropping relations with adapter.drop_relation().
  • [PROMPT_INJECTION]: The skill demonstrates macro patterns that ingest arguments and variables which are then interpolated into SQL strings, creating a surface for indirect prompt injection if those inputs are sourced from untrusted data.
  • Ingestion points: Macro arguments (e.g., column_name, table_name, values in the pivot macro) and variable lookups via var() or env_var().
  • Boundary markers: Mostly absent in the code examples, although the skill instructions recommend wrapping query calls in {% if execute %} guards.
  • Capability inventory: Includes the ability to run arbitrary SQL (run_query), modify schema structures (adapter.create_schema), and delete objects (adapter.drop_relation, adapter.truncate_staging).
  • Sanitization: The examples use basic Jinja filters like | trim, | lower, and | replace, but do not demonstrate rigorous SQL injection sanitization for all interpolated inputs.
  • [SAFE]: The skill correctly identifies and references documentation and resources from well-known services and organizations, including dbt Labs (docs.getdbt.com) and the official dbt-utils GitHub repository.
Audit Metadata
Risk Level
SAFE
Analyzed
Jul 31, 2026, 09:00 PM