Skill flagged — suspicious patterns detected

ClawHub Security flagged this skill as suspicious. Review the scan results before using.

TEXT2SQL

v1.0.0

Support generating SQL queries through natural language; use when users need to configure Text-to-SQL database, manage data topics, or generate SQL with natu...

0· 23·0 current·0 all-time
MIT-0
Download zip
LicenseMIT-0 · Free to use, modify, and redistribute. No attribution required.
Security Scan
VirusTotalVirusTotal
Suspicious
View report →
OpenClawOpenClaw
Suspicious
medium confidence
Purpose & Capability
Name/description match the included scripts: configuring DB, reading table structures, generating topic YAML, and calling a remote SQL-generation API. However, config_db asks for a separate --db-password but read_tables.py expects credentials embedded in db_url (mismatch). Requiring/using a remote API for SQL generation is consistent with the description but should be explicit about data sent remotely.
!
Instruction Scope
Runtime instructions and scripts read local database schema, sample row values (read_tables.py samples rows), generate local YAML/topic files, and then send the topic YAML + question to an external HTTP service by default (asksql.ucap.com.cn). The SKILL.md does not fully warn users that schema and possibly metadata will be transmitted off-host. The SKILL.md and scripts also disagree on the API path (/api/sql_for_skill/ vs /ask/api/sql_for_skill), and the Excel workflow text ('no parsing operation is needed') is inconsistent with read_tables.py which processes excel files.
Install Mechanism
No install spec — instruction-only plus included Python scripts. No external binary downloads. Dependencies are limited to common Python packages (pyyaml, sqlalchemy) which is proportionate.
!
Credentials
The skill requests no environment variables, but it does ask the user to provide database credentials which are written to an unencrypted local JSON file (config_db.py). Those credentials (or at least schema-derived YAML) are then sent to a remote service by default. There is no declared primary credential, and the presence of a separate --db-password parameter which is not clearly used by read_tables.py is inconsistent and confusing.
Persistence & Privilege
always is false and the skill does not request system-wide privileges. It writes configuration and output files under ./output (local persistence). That local storage of DB credentials in cleartext is a security concern but not a platform-privilege escalation.
What to consider before installing
This skill implements a Text→SQL flow but has a few red flags you should consider before installing or running it: - External network: By default the skill sends your topic YAML and question to https://asksql.ucap.com.cn (a third-party service) to generate SQL. Any schema/metadata you include (and potentially some derived info) will be transmitted off your machine. If your schema, table names, or examples are sensitive, do not upload them to an unfamiliar remote endpoint. Consider changing the --api-url to a trusted internal service or running the service locally if possible. - Credentials storage: config_db.py writes DB credentials to a local JSON file in cleartext (./output/text-to-sql-config.json). Treat that file as sensitive. Do not use production credentials; prefer a read-only user and rotate credentials after testing. Consider encrypting or avoiding persistent storage of passwords. - Implementation inconsistencies: The scripts and SKILL.md disagree on the API path and on how db passwords are supplied (separate --db-password vs credentials embedded in db_url). The Excel configuration description is inconsistent with script behavior. Expect you'll need to review and possibly patch scripts before use. - Data sampling: read_tables.py attempts to sample rows (ORDER BY RAND()) which can be heavy on large tables and may expose row-level data. Use sample-free options or run against a sanitized copy of the DB. Given these, do not run against production systems or supply high-privilege credentials until you verify the endpoint, review the code, and test in an isolated environment.

Like a lobster shell, security has layers — review code before you run it.

latestvk977czkden973qjk5mjk4z46vx84fbmm

License

MIT-0
Free to use, modify, and redistribute. No attribution required.

Comments