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_queryfunction andadaptermethods 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 withadapter.create_schema(), and dropping relations withadapter.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,valuesin the pivot macro) and variable lookups viavar()orenv_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