Skills/ClawHub/tujian-suanliang

tujian-suanliang@0.9.41

CAUTION· install only

Publisher claims: "结构图出混凝土/钢筋估算;不替代翻样结算。触发词:土建算量、混凝土、钢筋。" Observed in sandbox: sends data to release-assets.githubusercontent.com.

Registry ClawHubPublisher lisong2003-lgtm · publishing for 35 daysInstalls 707Last detonated 5d ago

Coverage

Install scripts ran; no agent task scenario for this bundle.
Tested
install scripts, with decoy credentials in place · second launch with the clock 45 days ahead · 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 (2 scenarios; install scripts ran; no agent task scenario for this bundle) on 2026-11-09 and scored it 54/100 (Caution). It is not known to be malicious, but it has behaviour or code a security policy should decide on before install. Notable findings: Privileged sudo command. Summary: sends data to release-assets.githubusercontent.com.

Behavior trace

Honeypot run · 1 s · 2 scenarios
t+CategoryObserved action
0.2sfilesystemread ~/.workbuddy/skills/ outside project
0.2snetworkCONNECT tcp://github.com:443
0.2snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
0.2sprocessexec /usr/bin/dirname
0.2sprocessexec /usr/bin/find
0.2sprocessexec /app/apps/web/node_modules/.bin/chmod
0.2sprocessexec /root/.cache/node/corepack/v1/pnpm/10.28.0/dist/node-gyp-bin/chmod
0.2sprocessexec /app/node_modules/.bin/chmod
0.2sprocessexec /pnpm/chmod
0.2sprocessexec /usr/local/sbin/chmod
0.2sprocessexec /usr/local/bin/chmod
0.2sprocessexec /usr/sbin/chmod
0.2sprocessexec /usr/bin/chmod
0.2sprocessexec /usr/bin/mktemp
0.2sprocessexec /usr/bin/curl
0.2sprocessexec /usr/bin/rm
0.2sprocessexited 3: [土建算量] 下载底座失败。离线请设 SKILL_NO_BASE=1 降级使用;联网重试建议 export CAD_FILE_READER_VERSION=0.34.1 后重试。
0.2sprocessscript backend runs setup only
0.2sprocessscript backend runs setup only
0.3sprocesssecond launch, clock +45 days, CI unset
0.5sfilesystemread ~/.workbuddy/skills/ outside project
0.5snetworkCONNECT tcp://github.com:443
0.5snetworkCONNECT tcp://release-assets.githubusercontent.com:443 · not in the allow-list, refused
0.5sprocessexec /usr/bin/dirname
0.5sprocessexec /usr/bin/find
0.5sprocessexec /usr/bin/mktemp
0.5sprocessexec /usr/bin/curl
0.5sprocessexec /usr/bin/rm
0.5sprocessexited 3: [土建算量] 下载底座失败。离线请设 SKILL_NO_BASE=1 降级使用;联网重试建议 export CAD_FILE_READER_VERSION=0.34.1 后重试。

Static findings

MEDIUM
Python subprocess execution detectedscripts/self_test.py:83 · Python subprocess execution detectedr = subprocess.run(cmd, cwd=str(cwd), env=env, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
File permission modification commandscripts/runtime_env.sh:18 · File permission modification command — agent changes file ownership/permissionsfind "$SKILL_DIR/scripts" -maxdepth 1 -type f \( -name '*.sh' -o -name '*.py' \) ! -perm -u+x -exec chmod +x {} + 2>/dev/null || trueFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Python subprocess execution detectedscripts/lint_cross_platform.py:105 · Python subprocess execution detected# 仅对命令类规则,在 .py 里只追 subprocess.run([...]) 这样的真实调用。Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/qty_core.py:162 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/qty_core.py:184 · Python subprocess execution detectedr = subprocess.run(["bash", str(script), str(target)], capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
File permission modification commandscripts/run_cad.sh:6 · File permission modification command — agent changes file ownership/permissionsfind "$_HERE/../scripts" -maxdepth 1 -type f \( -name '*.sh' -o -name '*.py' \) ! -perm -u+x -exec chmod +x {} + 2>/dev/null || trueFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
HIGH
Privileged sudo commandscripts/lint_cross_platform.py:67 · Privileged sudo command — agent may execute with elevated privileges"dylib 是 macOS 原生库格式。fix: 仓库内 sudo 二进制请走 platform 分支;Windows/Linux 由 pip wheel 提供"),Fix: Build commands from fixed arguments; do not interpolate untrusted strings into a shell.
AST05
MEDIUM
Python subprocess execution detectedscripts/cad_quantity_pipeline.py:135 · Python subprocess execution detectedcompleted = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/qty_statesync.py:62 · Python subprocess execution detectedr = subprocess.run(cmd, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/qty_core.py:215 · Python subprocess execution detectedr = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
File permission modification commandscripts/setup.sh:6 · File permission modification command — agent changes file ownership/permissionsfind "$SKILL_DIR/scripts" -maxdepth 1 -type f \( -name '*.sh' -o -name '*.py' \) ! -perm -u+x -exec chmod +x {} + 2>/dev/null || trueFix: Request the narrowest permission that works; replace wildcards with the exact paths or hosts.
AST05
MEDIUM
Python subprocess execution detectedscripts/qty_core.py:244 · Python subprocess execution detectedr = subprocess.run(args, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/qty_core.py:283 · Python subprocess execution detectedr = subprocess.run(args, capture_output=True, text=True)Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05

Cost to the agent

Instructions loaded
≈1,749 tok
2 files · 102 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.

What would make this Verified

26 points to 80 · weights: behavior 45%, static 25%, prompt 15%, publisher 15%
  1. Contacts a host you did not declare≈ +23 on the totalList every host you talk to in SKILL.md frontmatter (`network: [api.example.com]`), or stop contacting the ones you cannot justify.
  2. Unclaimed publisher≈ +8 on the totalClaim lisong2003-lgtm: a verified publisher gets +50 on publisher trust. It is free and usually instant with GitHub sign-in.
  3. Touches files outside the project≈ +7 on the totalKeep reads and writes inside the working directory, or declare the exact paths in `filesystem:` and explain why in the README.
  4. Privileged sudo command≈ +4 on the totalBuild commands from fixed arguments; do not interpolate untrusted strings into a shell.
  5. Python subprocess execution detected≈ +2 on the totalBuild commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
  6. File permission modification command≈ +2 on the totalRequest the narrowest permission that works; replace wildcards with the exact paths or hosts.
Publish a new version to ClawHub, then queue it here. Not your skill? Claim the handle to get verdict changes by email.Claim lisong2003-lgtmPropose a patch to the maintainer