streamlit-snowflake
Pass
Audited by Gen Agent Trust Hub on Sep 26, 2026
Risk Level: SAFECOMMAND_EXECUTIONINDIRECT_PROMPT_INJECTION
Full Analysis
- [COMMAND_EXECUTION]: The file
templates/streamlit_app.pyprovides a 'Run Custom Query' feature that accepts raw input from a Streamlitst.text_areaand executes it directly against the Snowflake database usingsession.sql(query). This allows any user of the deployed application to execute arbitrary SQL commands with the privileges of the application's owner or caller. - [INDIRECT_PROMPT_INJECTION]: The skill templates establish an attack surface by ingesting untrusted user input into database commands.
- Ingestion points: User inputs via
st.text_inputintemplates/pages/data_explorer.pyandst.text_areaintemplates/streamlit_app.pyare used to construct SQL queries. - Boundary markers: The templates do not implement boundary markers or instructions to prevent the execution of malicious commands embedded within the user input.
- Capability inventory: The application context has the capability to execute arbitrary SQL queries (
session.sql), which can be used to modify, delete, or exfiltrate data depending on the assigned Snowflake role. - Sanitization: While
templates/pages/data_explorer.pyincludes regex validation and identifier quoting logic, the primary entry pointtemplates/streamlit_app.pyprovides no sanitization for its custom query interface. - [DATA_EXPOSURE]: The GitHub Actions workflow defined in
references/ci-cd.mdimplements a pattern where theSNOWFLAKE_PRIVATE_KEYsecret is written to a temporary file at/tmp/rsa_key.p8. Although common in CI/CD environments, this practice leaves sensitive credentials on the runner's disk for the duration of the job.
Audit Metadata