Skills/ClawHub/guanyuan-majia

guanyuan-majia@3.5.2

VERIFIED· install only

Publisher claims: "观远 BI(Guandata)实战增益层。标准查数、指标批量查询、本地分析、建卡发布、ETL、数据集和表单结构管理、工作流、指标写入路由官方六组件。专攻 ETL 整库治理、SmartETL 全链路重写、引擎报错、自定义图表与 HTML 看板排障、看板口径档案与只读逐格验收、v7 发布兼容、移动端 phoneLayout、门店手机成绩单、SuperApp 的 LLM 中转及历史兼容、AI-native ADS 架构判断。餐饮会员公式见 majia-huiyuan。触发:execute-sql 5001、SQL 直查不可用、ETL 预览汇总、分块取数、历史数据抽取、预览截断、数字出处、看板口径档案、看板答案对账、观远、Guandata、会员、订单、复购率、RFM、ETL 治理、payload_json、自定义图表、HTML 看板、门店手机成绩单、换店滤空、phoneLayout、60004、SuperApp、ILLEGAL_JSON_RES、数据架构。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry ClawHubPublisher maojiebc · publishing for 45 daysInstalls 3,858Last detonated 3d ago
$clawhub install guanyuan-majia
WatchReport an issue

Coverage

Nothing executable in the bundle ran; the trace covers the install step only.
Tested
every file read, file written and host contacted by what ran
Not tested
use of the skill by an agent

Is [email protected] safe to install?

KillerSkills ran it in the KillerSkills honeypot sandbox (1 scenario; nothing executable in the bundle ran; the trace covers the install step only) on 2026-11-11 and scored it 80/100 (Verified). In what ran, nothing we could detect went wrong: no undeclared network egress, no credential reads, no persistent instruction writes. What it does with a real credential was not observed; the static findings and the publisher carry the rest of the score. Summary: no network, touches nothing outside the project, writes no memory.

Behavior trace

Honeypot run · 0 s · 1 scenarios · 0 deviations
t+CategoryObserved action
0.0sprocessno install scripts in bundle
0.0sprocessscript backend runs setup only
0.0sprocessscript backend runs setup only
0.0sprocessno install scripts to re-run

Static findings

MEDIUM
Python subprocess execution detectedscripts/dashboard_evidence.py:219 · Python subprocess execution detectedresult = subprocess.run(command, capture_output=True, text=True, timeout=120)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packagebin/install.js:11 · npx invocation of non-well-known package — may execute untrusted code* npx @supermajia/majia-guanyuan install --tool all # 4 工具都装Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedtests/test_extraction_evidence.py:188 · Python subprocess execution detectedresult = subprocess.run([sys.executable, str(script), '--plan', str(self.plan_path),Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/readonly_query.py:44 · Python subprocess execution detectedcheck = subprocess.run(['git', '-C', str(root), 'check-ignore', '--quiet', str(relative)],Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/readonly_query.py:135 · Python subprocess execution detectedproc = subprocess.Popen(command, stdout=subprocess.PIPE, stderr=subprocess.PIPE,Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
npx invocation of non-well-known packageSKILL.md:58 · npx invocation of non-well-known package — may execute untrusted code> **安装**:`git clone https://github.com/maojiebc/majia-guanyuan.git`,或 `npx github:maojiebc/majia-guanyuan install`Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/install.js:9 · npx invocation of non-well-known package — may execute untrusted code* npx @supermajia/majia-guanyuan install # 自动检测可用工具,全装Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/install.js:13 · npx invocation of non-well-known package — may execute untrusted code* npx @supermajia/majia-guanyuan uninstall --tool claude-codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06
HIGH
Access to sensitive file pathsSKILL.md:275 · Access to sensitive file paths — SSH keys, AWS credentials, env files, or system files…e-superapp-pipeline.md) | SuperApp 开放应用开发流水线 / `guancli app create/publish` 不读 `.env` 必须显式传 `--app-id` / 脚手架 bi-services 速查 / 数据集异步预览 3 步链路 / **`/survey-engine/api/…Fix: Stop enumerating or reading credential locations; take secrets from a declared environment variable the user sets on purpose.
AST05
MEDIUM
File type combined with upload actiontests/test_etl_preview_aggregate.py:58 · File type combined with upload action — agent may exfiltrate local data filesself.sql = self.root / 'q.sql'; self.sql.write_text('SELECT COUNT(*) AS source_count FROM input1')Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
npx invocation of non-well-known packagebin/install.js:10 · npx invocation of non-well-known package — may execute untrusted code* npx @supermajia/majia-guanyuan install --tool claude-codeFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
npx invocation of non-well-known packagebin/install.js:12 · npx invocation of non-well-known package — may execute untrusted code* npx @supermajia/majia-guanyuan install --dry-run # 只显示要做什么,不动文件Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
File type combined with upload actionscripts/etl_preview_aggregate.py:231 · File type combined with upload action — agent may exfiltrate local data filesfor name in ('_guanetl_state.json', '_base_etl.json', '_input.json'):Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
MEDIUM
File type combined with upload actiontests/test_etl_preview_aggregate.py:128 · File type combined with upload action — agent may exfiltrate local data filesfor name in ('_guanetl_state.json', '_base_etl.json', '_input.json'):Fix: Remove the call, or declare the host in frontmatter and explain in the README what is sent and why.
AST07
LOW
Unpinned dependencySKILL.md:150 · Unpinned dependency…> > **变体 B|同 prefix 下「子包 vs 伞包」并存**(2026-07-15 实测):即使只有一个 prefix,若**单独**装过某个子包(`npm i -g @guandata/guancli`),它会和伞包 `guanskill` 自带的内嵌版**抢同一个 `guancli` bin**——`which -a` 只有一条、看不出异常,`npm ls -g --depth=0` 才看得见两个顶层条目。**排查**:`npm ls -g --depth=1…Fix: Pin the exact version (`[email protected]`, `==1.2.3`) so every install gets the bytes that were reviewed.
AST06
MEDIUM
Python subprocess execution detectedtests/test_extraction_evidence.py:195 · Python subprocess execution detectedagain = subprocess.run([sys.executable, str(script), '--plan', str(self.plan_path),Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
LOW
Unpinned dependencySKILL.md:142 · Unpinned dependencynpm i -g @guandata/guanskill@latestFix: Pin the exact version (`[email protected]`, `==1.2.3`) so every install gets the bytes that were reviewed.
AST06

Cost to the agent

Instructions loaded
≈8,456 tok
2 files · 127 in bundle

Tokens estimated at four characters each. Skills load their instruction text when triggered; the figure is what that costs.

Known vulnerabilities

Vulnerability advisories (OSV) cover npm and PyPI packages; this registry has no advisory database.