snowflake-access-guardian
Pass
Audited by Gen Agent Trust Hub on Sep 9, 2026
Risk Level: SAFECOMMAND_EXECUTIONDYNAMIC_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The script
scripts/collect_snowflake_evidence.pyutilizessubprocess.runto execute the Snowflake CLI (snow). This is a functional requirement for gathering authorization evidence. The implementation is secured by: - Using list-based command arguments to prevent shell injection.
- Validating all user-supplied identifiers (roles, users, databases) against strict regular expressions (e.g.,
IDENTIFIER_RE). - [DYNAMIC_EXECUTION]: The orchestrator script
scripts/analyze_access_evidence.pyusesimportlibto dynamically load and execute the core analyzer logic inscripts/analyze_access.py. This is a modular design pattern for local scripts and does not involve loading remote or untrusted code. - [INDIRECT_PROMPT_INJECTION]: The skill is designed to ingest and process Snowflake authorization metadata which could theoretically contain malicious payloads. This risk is mitigated by a multi-layered evidence chain:
- Ingestion points: Snowflake authorization metadata is ingested via
snowflake-access-bundle.jsonintoscripts/analyze_access.py. - Boundary markers: The skill instructions and documentation explicitly define the schema for 'sanitized' metadata and evidence receipts.
- Capability inventory: The skill possesses
Bash(python3) for execution andWritecapabilities to generate reports and temporary SQL files for the Snowflake CLI. - Sanitization: The
reject_secretsfunction inanalyze_access.pyuses regex patterns to identify and block the ingestion of credentials (passwords, tokens, private keys). Additionally,sanitize_output_treeincollect_snowflake_evidence.pyrecursively redacts sensitive fields before they are written to receipts.
Audit Metadata