← Back to Skills Marketplace
tiagohubnerdataplatform

SnowflakeDataEngineer

cross-platform ⚠ suspicious
524
Downloads
0
Stars
0
Active Installs
1
Versions
Install in OpenClaw
/install snowflake
Description
Execute read-only Snowflake SELECT queries with forbidden keyword blocking, row limits, timeouts, and structured JSON results.
Usage Guidance
Key things to consider before installing or running this skill: - Declared vs actual requirements: The registry metadata claims no required credentials, but the code expects Snowflake credentials (user, account, warehouse, database, schema, role, and possibly a private key path). Do not provide these until you confirm how the skill will be hosted and how secrets are supplied. - dotenv risk: app/config.py calls load_dotenv(), so the skill will read a .env file from its working directory and populate environment variables. If you run this agent in an environment with a .env containing unrelated secrets, the skill could pick those up. Run the skill in an isolated environment or remove/override load_dotenv() if you cannot guarantee .env contents. - Authentication and metadata mismatch: skill.yaml lists authentication: none while the service needs Snowflake credentials; confirm whether your platform will inject credentials, and if so ensure least-privilege (a Snowflake role with strictly read-only permissions). Require explicit declaration of needed env vars before trusting the skill. - Validate the validator: The SQL validator is regex-based and appends a LIMIT if missing. Regex checks are brittle — consider stronger protections (reject multiple statements, disallow statement separators, use a SQL parser, or enforce LIMIT server-side). Also ensure ALTER SESSION and other session-level settings are acceptable in your environment. - Dependency & deployment: requirements.txt lists third-party packages (including the Snowflake connector). Ensure dependencies are installed from trusted sources and run the service in a sandbox/container with limited network/file access. - Testing: Before giving production credentials, run the service with test-only credentials in an isolated environment to confirm behavior and logging. Review logs and network activity to ensure there are no unexpected outbound endpoints. If you need, I can list concrete hardening changes (explicit env declarations in skill metadata, remove load_dotenv or restrict to a named file, stricter SQL parsing, and explicit error handling) or produce a checklist for secure deployment.
Capability Analysis
Type: OpenClaw Skill Name: snowflake Version: 1.0.0 The skill is classified as suspicious due to a vulnerability in `app/validator.py`. While the skill aims to enforce 'SELECT-only' queries and blocks common DDL/DML keywords, it fails to include 'UNION' in its `FORBIDDEN_KEYWORDS` list. This omission could allow an attacker to craft `UNION` queries to potentially access data from different tables or schemas within the Snowflake environment, bypassing the intended narrow scope, assuming the underlying Snowflake role has such permissions. This is a significant flaw in the security enforcement logic, but there is no evidence of intentional malicious behavior like data exfiltration to external endpoints or backdoor installation.
Capability Assessment
Purpose & Capability
The skill's stated purpose (read-only SELECT execution) matches the code's behavior in broad strokes, but the package requires Snowflake connection parameters (SNOWFLAKE_USER, ACCOUNT, WAREHOUSE, DATABASE, SCHEMA, ROLE, private key path) as seen in app/config.py — yet the registry metadata lists no required env vars or primary credential. The skill therefore implicitly requires secrets/credentials that are not declared in the metadata.
Instruction Scope
SKILL.md and skill.yaml indicate a simple HTTP entrypoint to execute validated SELECT queries. However, the code loads environment variables with python-dotenv (load_dotenv()), which will read a .env file from the environment and populate credentials automatically. This can cause the skill to pick up any secrets present in a local .env file. The validator enforces SELECT-only and blocks explicit DDL/DML keywords, but validation is pattern-based (case-normalized regex) and does not comprehensively parse SQL; there are potential edge cases (complex statements, unusual tokenization) that merit review.
Install Mechanism
There is no install spec, but a requirements.txt lists fastapi, uvicorn, snowflake-connector-python, python-dotenv, and pydantic. The absence of an install step in the registry metadata is an operational mismatch: dependencies are required for the code to run, but the platform metadata doesn't declare how or when they will be installed. The packages themselves are from common PyPI projects (traceable) but will need to be installed in the runtime.
Credentials
The code expects multiple Snowflake-related environment variables (including a private key path) which are sensitive credentials. The registry metadata did not declare these as required env vars or a primary credential, so the skill is asking for broad environment access without documenting it. Also, the use of python-dotenv means a local .env file (potentially containing other secrets) will be loaded automatically, increasing the risk of accidental exposure.
Persistence & Privilege
The skill is not configured as always:true and does not request system-wide persistence or modify other skills' configuration. It runs as an HTTP service entrypoint at localhost:8000/execute, which is a standard deployment pattern and does not itself grant elevated platform privileges.
How to Use
  1. Make sure OpenClaw is installed (local or Docker)
  2. Run the install command in chat: /install snowflake
  3. After installation, invoke the skill by name or use /snowflake
  4. Provide required inputs per the skill's parameter spec and get structured output
Version History
v1.0.0
First Version
Metadata
Slug snowflake
Version 1.0.0
License
All-time Installs 0
Active Installs 0
Total Versions 1
Frequently Asked Questions

What is SnowflakeDataEngineer?

Execute read-only Snowflake SELECT queries with forbidden keyword blocking, row limits, timeouts, and structured JSON results. It is an AI Agent Skill for Claude Code / OpenClaw, with 524 downloads so far.

How do I install SnowflakeDataEngineer?

Run "/install snowflake" in the OpenClaw or Claude Code chat to install it in one step — no extra setup required.

Is SnowflakeDataEngineer free?

Yes, SnowflakeDataEngineer is completely free (open-source). You can download, install and use it at no cost.

Which platforms does SnowflakeDataEngineer support?

SnowflakeDataEngineer is cross-platform and runs anywhere OpenClaw / Claude Code is available (cross-platform).

Who created SnowflakeDataEngineer?

It is built and maintained by tiagohubnerdataplatform (@tiagohubnerdataplatform); the current version is v1.0.0.

💬 Comments