可信 — 风险评分 5/100
上次扫描:19 小时前 重新扫描
5 /100
lucid-skill
AI-native data analysis skill. Connect Excel/CSV/MySQL/PostgreSQL, understand business semantics, query with natural language.
Legitimate AI-native data analysis skill with proper security controls including SQL safety whitelisting, credential stripping, and read-only query enforcement.
技能名称lucid-skill
分析耗时64.5s
引擎pi
可以安装
This skill is safe to use. No security concerns identified.

安全发现 1 项

严重性 安全发现 位置
低危
Loose dependency version constraints 供应链
pyproject.toml specifies minimum versions (duckdb>=1.0, click>=8.0) rather than exact pins. This is standard Python practice and does not pose significant risk.
dependencies = ["duckdb>=1.0", "click>=8.0", ...]
→ Optional: Pin exact versions for reproducible builds. Current approach is acceptable.
pyproject.toml:18
资源类型声明权限推断权限状态证据
文件系统 READ READ ✓ 一致 User-provided CSV/Excel files only, stored in ~/.lucid-skill/
网络访问 READ READ ✓ 一致 Downloads ~460MB embedding model from HuggingFace (declared in SKILL.md)
命令执行 NONE NONE No subprocess or os.system calls found
环境变量 READ READ ✓ 一致 Reads LUCID_DATA_DIR and LUCID_EMBEDDING_ENABLED only
技能调用 ADMIN ADMIN ✓ 一致 Full MCP tool access (connect, query, search, etc.)
数据库 READ READ ✓ 一致 MySQL/PostgreSQL connections for schema discovery and SELECT queries only

目录结构

63 文件 · 227.2 KB · 6647 行
Python 45f · 5544L Markdown 7f · 791L CSV 9f · 191L YAML 1f · 89L TOML 1f · 32L
├─ 📁 lucid_skill
│ ├─ 📁 catalog
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 profiler.py Python 54L · 1.4 KB
│ │ ├─ 🐍 schema.py Python 55L · 1.6 KB
│ │ └─ 🐍 store.py Python 489L · 18.0 KB
│ ├─ 📁 connectors
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 base.py Python 28L · 630 B
│ │ ├─ 🐍 csv_conn.py Python 105L · 3.7 KB
│ │ ├─ 🐍 excel_conn.py Python 108L · 3.9 KB
│ │ ├─ 🐍 mysql_conn.py Python 144L · 5.1 KB
│ │ └─ 🐍 postgres_conn.py Python 162L · 5.9 KB
│ ├─ 📁 discovery
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 domains.py Python 443L · 13.0 KB
│ │ └─ 🐍 joins.py Python 511L · 19.7 KB
│ ├─ 📁 query
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 engine.py Python 67L · 2.0 KB
│ │ ├─ 🐍 formatter.py Python 74L · 1.9 KB
│ │ ├─ 🐍 router.py Python 100L · 3.7 KB
│ │ └─ 🐍 safety.py Python 43L · 1.6 KB
│ ├─ 📁 semantic
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 embedder.py Python 104L · 3.4 KB
│ │ ├─ 🐍 hybrid.py Python 90L · 3.0 KB
│ │ ├─ 🐍 index.py Python 141L · 5.1 KB
│ │ ├─ 🐍 layer.py Python 139L · 4.6 KB
│ │ └─ 🐍 search.py Python 34L · 1.0 KB
│ ├─ 📁 tools
│ │ ├─ 🐍 __init__.py Python 0 B
│ │ ├─ 🐍 connect.py Python 91L · 2.6 KB
│ │ ├─ 🐍 describe.py Python 91L · 3.0 KB
│ │ ├─ 🐍 discovery.py Python 216L · 7.3 KB
│ │ ├─ 🐍 overview.py Python 52L · 1.5 KB
│ │ ├─ 🐍 profile.py Python 94L · 3.2 KB
│ │ ├─ 🐍 query.py Python 42L · 1.2 KB
│ │ ├─ 🐍 search.py Python 137L · 4.6 KB
│ │ └─ 🐍 semantic.py Python 230L · 7.9 KB
│ ├─ 🐍 __init__.py Python 1L · 22 B
│ ├─ 🐍 __main__.py Python 3L · 41 B
│ ├─ 🐍 cli.py Python 459L · 15.6 KB
│ ├─ 🐍 config.py Python 93L · 2.5 KB
│ ├─ 🐍 server.py Python 445L · 20.7 KB
│ ├─ 🐍 startup.py Python 107L · 3.6 KB
│ └─ 🐍 types.py Python 230L · 4.0 KB
├─ 📁 references
│ ├─ 📝 commands.md Markdown 212L · 4.2 KB
│ ├─ 📝 json-schema.md Markdown 116L · 3.4 KB
│ └─ 📝 workflow.md Markdown 127L · 3.5 KB
├─ 📁 semantic_store
│ └─ 📁 csv_orders_csv
│ └─ 📋 orders.yaml YAML 89L · 1.9 KB
├─ 📁 tests
│ ├─ 📁 datasets
│ │ ├─ 📁 cross-source-a
│ │ │ └─ 📄 shop_orders.csv CSV 6L · 184 B
│ │ ├─ 📁 cross-source-b
│ │ │ └─ 📄 shop_customers.csv CSV 6L · 242 B
│ │ ├─ 📁 ecommerce
│ │ │ ├─ 📄 customers.csv CSV 16L · 1.3 KB
│ │ │ ├─ 📄 order_items.csv CSV 54L · 2.4 KB
│ │ │ ├─ 📄 orders.csv CSV 31L · 2.3 KB
│ │ │ └─ 📄 products.csv CSV 21L · 1.4 KB
│ │ ├─ 📁 hr
│ │ │ ├─ 📄 departments.csv CSV 13L · 593 B
│ │ │ └─ 📄 employees.csv CSV 31L · 2.4 KB
│ │ ├─ 📁 superstore
│ │ │ └─ 📄 orders.csv CSV 13L · 1.6 KB
│ │ └─ 📝 README.md Markdown 61L · 2.1 KB
│ ├─ 🐍 test_catalog.py Python 109L · 3.5 KB
│ ├─ 🐍 test_config.py Python 19L · 560 B
│ ├─ 🐍 test_csv_connect.py Python 93L · 3.2 KB
│ ├─ 🐍 test_engine.py Python 77L · 2.2 KB
│ └─ 🐍 test_safety.py Python 64L · 1.7 KB
├─ 📝 CLAUDE.md Markdown 63L · 3.5 KB
├─ 📄 pyproject.toml TOML 32L · 802 B
├─ 📝 README.md Markdown 119L · 3.1 KB
└─ 📝 SKILL.md Markdown 93L · 4.2 KB

依赖分析 7 项

包名版本来源已知漏洞备注
duckdb >=1.0 pip Minimum version specified
click >=8.0 pip Minimum version specified
pyyaml >=6.0 pip Minimum version specified
mcp >=1.0 pip Minimum version specified
psycopg2-binary unpinned pip[db] Optional dependency
mysql-connector-python unpinned pip[db] Optional dependency
sentence-transformers unpinned pip[embedding] Optional dependency

安全亮点

✓ SQL safety checker uses whitelist approach - only SELECT/WITH allowed
✓ Credentials explicitly stripped before persistence (store.py:upsert_source)
✓ No shell execution or subprocess calls found
✓ No credential harvesting or exfiltration to external IPs
✓ No obfuscation or base64-encoded payloads
✓ Read-only queries enforced - INSERT/UPDATE/DELETE/DROP blocked
✓ Comprehensive test coverage for safety checker
✓ MIT licensed open source with transparent implementation
✓ DuckDB used for both catalog storage and query engine (sandboxed)