Skills/ClawHub/d-writer

d-writer@3.11.0

VERIFIED· install only

Publisher claims: "自带写作仪表盘的长篇小说写作工作流。用于需要持久故事状态与连续性审计的长篇虚构小说项目:创建新书、续写章节、导入旧稿、调整方向、改写章节、安全回滚,或在多会话间阅读 / 重建大纲与设定文件。" Observed in sandbox: no network, touches nothing outside the project, writes no memory.

Registry ClawHubPublisher dragon-qx · publishing for 83 daysInstalls 603Last detonated 6d ago
$clawhub install d-writer
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-08 and scored it 87/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.1sprocessscript backend runs setup only
0.1sprocessno install scripts to re-run

Static findings

MEDIUM
Auto-update or dynamic fetch configurationtests/test_auto_update.py:20 · Auto-update or dynamic fetch configuration — agent may load new code at runtimeassert auto_update.parse_version("v2.0.2") == (2, 0, 2)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Auto-update or dynamic fetch configurationtests/test_auto_update.py:23 · Auto-update or dynamic fetch configuration — agent may load new code at runtimeassert auto_update.parse_version("") is NoneFix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/auto_update.py:251 · 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 detectedtests/test_auto_update.py:75 · Python subprocess execution detectedsubprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Python subprocess execution detectedscripts/auto_update.py:166 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Auto-update or dynamic fetch configurationtests/test_auto_update.py:19 · Auto-update or dynamic fetch configuration — agent may load new code at runtimeassert auto_update.parse_version("3.10.0") == (3, 10, 0)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Auto-update or dynamic fetch configurationtests/test_auto_update.py:21 · Auto-update or dynamic fetch configuration — agent may load new code at runtimeassert auto_update.parse_version("2.0.0-rc1") == (2, 0, 0)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06
MEDIUM
Python subprocess execution detectedscripts/quality_check.py:59 · Python subprocess execution detectedresult = subprocess.run(["node", "--check", tmp_path], 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/auto_update.py:153 · Python subprocess execution detectedresult = subprocess.run(Fix: Build commands from fixed arguments, never from interpolated strings; prefer an API client over shelling out.
AST05
MEDIUM
Auto-update or dynamic fetch configurationtests/test_auto_update.py:22 · Auto-update or dynamic fetch configuration — agent may load new code at runtimeassert auto_update.parse_version("2.0.0+build5") == (2, 0, 0)Fix: Pin versions and sources; vendor anything fetched at install time.
AST06

Cost to the agent

Instructions loaded
≈1,157 tok
1 file · 99 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.