← 返回 Skills 市场
SnowflakeDataEngineer
作者
tiagohubnerdataplatform
· GitHub ↗
· v1.0.0
524
总下载
0
收藏
0
当前安装
1
版本数
在 OpenClaw 中安装
/install snowflake
功能描述
Execute read-only Snowflake SELECT queries with forbidden keyword blocking, row limits, timeouts, and structured JSON results.
安全使用建议
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.
功能分析
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.
能力评估
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.
如何使用
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install snowflake - 安装完成后,直接呼叫该 Skill 的名称或使用
/snowflake触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
版本历史
v1.0.0
First Version
元数据
常见问题
SnowflakeDataEngineer 是什么?
Execute read-only Snowflake SELECT queries with forbidden keyword blocking, row limits, timeouts, and structured JSON results. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 524 次。
如何安装 SnowflakeDataEngineer?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install snowflake」即可一键安装,无需额外配置。
SnowflakeDataEngineer 是免费的吗?
是的,SnowflakeDataEngineer 完全免费(开源免费),可自由下载、安装和使用。
SnowflakeDataEngineer 支持哪些平台?
SnowflakeDataEngineer 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 SnowflakeDataEngineer?
由 tiagohubnerdataplatform(@tiagohubnerdataplatform)开发并维护,当前版本 v1.0.0。
推荐 Skills