Back to skill

Security audit

Etl Generator

Security checks for vulnerabilities and agentic risk

Overview

This is a coherent ETL SQL generator, but users should review its generated overwrite SQL before running it on real data.

Install only if you want a Chinese-language ETL SQL generator. Provide explicit DDL or a clearly authorized table, review generated schema lookups, and manually validate any INSERT OVERWRITE SQL against staging or limited partitions before production execution.

Vulnerability Patterns
  • Skill Instruction HijackingAlters the agent's session goals or safety constraints when the skill loads
  • Agent Memory PoisoningWrites attacker-controlled rules into memory that affect later sessions
  • Remote Payload Retrieval and ExecutionFetches external code whose behavior can change after review
  • Embedded Malicious CodeShips malicious scripts inside the skill and executes them locally
  • Unauthorized Access and Privilege EscalationObtains permissions beyond the task's legitimate needs
Vulnerability Patterns
  • Data ExfiltrationExternal Transmission, Env Variable Harvesting, File System Enumeration
  • Trigger AbuseOverly Broad Trigger, Shadow Command Trigger, Keyword Baiting Trigger
  • MCP Least PrivilegeUnderdeclared Capability, Wildcard Permission, Missing Permission Declaration
  • MCP Tool PoisoningHidden Instructions, Unicode Deception, Parameter Description Injection
  • Prompt InjectionInstruction Override, Hidden Instructions, Exfiltration Commands
Findings (11)

Vague Triggers

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

The invocation language is broad and conversational, which can cause the skill to activate for underspecified requests and generate SQL based on incomplete or ambiguous user input. In a data-platform context, this increases the risk of unintended schema inference, unsafe query generation, or use against tables the user did not clearly authorize.

Content

No source excerpt is available for this finding.

Undeclared Tool Scope

Medium
Category
MCP Least Privilege
Confidence
92% confidence
Finding

The skill documents command-line and Python usage that reads local files (for example, passing a DDL file path to etl_generator.py), but it declares no explicit tool scope or permissions boundary. In an agent environment, undocumented file-read capability can cause overbroad access assumptions and make it easier for the skill to be used on unintended local files or sensitive workspace content.

Content

No source excerpt is available for this finding.

Missing User Warnings

Medium
Category
Not specified by scanner
Confidence
90% confidence
Finding

The generated SQL uses INSERT OVERWRITE TABLE ... PARTITION(ds), which is a destructive write pattern for target partitions, yet the documentation does not warn users about the data-loss risk. In ETL environments, a user may execute generated SQL against production tables and unintentionally replace valid partition data due to bad predicates, malformed source data, or template mistakes.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
88% confidence
Finding

Lines L187-L194 state that the skill '自动生成以下检查 SQL', implying the script generates data quality check SQL as part of its behavior. However, all concrete usage examples and output examples in this file show only target-table DDL and ETL SQL, with no quality-check SQL generation or callable/API surface for it, creating a direct documentation-to-behavior contradiction.

Content

No source excerpt is available for this finding.

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
86% confidence
Finding

Lines L197-L214 say the skill will '自动生成字段映射文档' and provide a sample mapping block, but the earlier import/usage examples only mention parse_table_ddl, generate_target_table_ddl, and generate_etl_sql, and the output example contains no emitted mapping document. This is an active mismatch between claimed behavior in the documentation and the observable described behavior of the code interface.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

This code file contains natural-language strings and comments that present the skill as Chinese-only, beginning with the module docstring and continuing through user-facing console output. The policy requires avoiding forced language or locale constraints unless the user is given an opt-in choice or the restriction is clearly justified as region-specific.

Content

No source excerpt is available for this finding.

Skill Enumeration

Medium
Category
Agent Snooping
Confidence
80% confidence
Finding

Skill enumerates or reads other installed skills. Access to other skills' SKILL.md files or the skills directory reveals prompt instructions, capabilities, and secrets that should be invisible to peer skills.

Content

Scanner excerpt · etl_generator.py (reported line 6)May include surrounding context.

python
ETL 流程生成器 - 大数据专家版 (v2.0)
根据源表 DDL 生成标准化 ETL 加工 SQL

技能位置:~/.openclaw/workspace/skills/etl-generator/SKILL.md
"""

import re

Intent-Code Divergence

Medium
Category
Not specified by scanner
Confidence
97% confidence
Finding

The field-mapping documentation states that transformations like TRIM/UPPER and CASE normalization are applied, but the generated ETL SQL does not implement them. This can mislead operators into believing data has been normalized when it has not, causing downstream controls, analytics, or compliance checks to rely on false assumptions.

Content

No source excerpt is available for this finding.

Missing User Warnings

Low
Category
Not specified by scanner
Confidence
80% confidence
Finding

The README states the skill may query source table structures when only a table name is provided, but it does not warn about least-privilege access, authorization checks, or the sensitivity of schema metadata. Schema details can reveal internal system names, business domains, and sensitive field design, which may aid reconnaissance even if no row data is exposed.

Content

No source excerpt is available for this finding.

Natural-Language Policy Violations

Low
Category
Not specified by scanner
Confidence
77% confidence
Finding

The skill metadata and all user-facing instructions are presented exclusively in Chinese, and the role/usage text does not indicate that language is selectable or that the skill is intentionally limited to a Chinese-speaking audience. Under the policy, forcing a specific language without opt-in can be a natural-language policy issue unless the locale restriction is explicit and justified.

Content

No source excerpt is available for this finding.

Description-Behavior Mismatch

Low
Category
Not specified by scanner
Confidence
91% confidence
Finding

The manifest description limits the skill to generating standardized ETL processing SQL from source DDL. In addition to target-table DDL and ETL SQL generation, the code produces separate data quality check SQL and a mapping documentation block, which are additional deliverables not reflected in the stated description.

Content

No source excerpt is available for this finding.

Static analysis

No suspicious patterns detected.