安全决策报告

story-engine-for-creator

纯故事创作工具,代码相对干净,存在轻微文档不一致(声称纯本地但支持LLM调用)和未声明文件写入。

安装决策优先 来源: ClawHub 扫描时间: 2026/8/10
文件 6
IOC 2
越权项 2
发现 3

为什么得出这个结论

1/4 个维度触发
阻止
声明与实际能力

发现 2 项声明之外的能力或越权行为。

复核
隐藏执行与外联

提取到 2 个一般风险产物,需要结合上下文判断。

通过
攻击链与高危发现

没有形成明确的恶意路径。

复核
依赖与供应链卫生

没有完整依赖信息,供应链判断需要保留弹性。

风险分是怎么被拉高的

文档声明-行为不一致 +12

SKILL.md声明'纯本地运行:无需联网',但代码支持set_llm_provider外部LLM集成

未声明的文件写入 +8

generate_novel方法写入audit_report.html,SKILL.md未提及但skill-card.md有披露

无第三方依赖锁定 +2

无requirements.txt,仅使用标准库

最关键的证据

低危 文档欺骗

文档声称与代码能力不一致

SKILL.md声明'纯本地运行:无需联网',但代码提供了set_llm_provider()接口,允许用户注入外部LLM Provider处理小说文本。skill-card.md已承认此行为,但与SKILL.md主文档矛盾。

scripts/story_engine.py:239
统一文档:SKILL.md应明确声明'支持可选外部LLM集成',并将LLM调用设为显式配置项而非静默注入。
低危 权限提升

未声明的文件写入操作

generate_novel()方法会将HTML审计报告写入当前工作目录的audit_report.html,SKILL.md核心文档未提及此行为,仅skill-card.md有说明。

scripts/story_engine.py:447
在SKILL.md使用说明中明确标注:'引擎会在当前目录生成audit_report.html'
提示 供应链

无依赖清单文件

未发现requirements.txt或setup.py,项目仅使用Python标准库(uuid, json, re, dataclasses, typing, collections),降低了供应链风险。

保持现状。如需发布pip包,应创建requirements.txt并锁定版本。

声明能力 vs 实际能力

文件系统 阻止
声明 NONE
→
推断 WRITE
scripts/story_engine.py:447 - with open('audit_report.html', 'w')
网络访问 阻止
声明 NONE
→
推断 READ
scripts/story_engine.py:239-287 - set_llm_provider()允许外部LLM处理文本
命令执行 通过
声明 NONE
→
推断 NONE
无subprocess或os.system调用
环境变量 通过
声明 NONE
→
推断 NONE
无os.environ访问

可疑产物与外联

中危 外部 URL
https://clawhub.ai/user/nohn3043-arch

skill-card.md:9

中危 外部 URL
https://clawhub.ai/nohn3043-arch/skills/story-engine-for-creator

skill-card.md:43

依赖与供应链

没有结构化依赖告警。

文件构成

6 个文件 · 1124 行
Python 1 个文件 · 840 行Markdown 5 个文件 · 284 行
需关注文件 · 2
scripts/story_engine.py Python · 840 行
文档声称与代码能力不一致 · 未声明的文件写入操作
skill-card.md Markdown · 61 行
https://clawhub.ai/user/nohn3043-arch · https://clawhub.ai/nohn3043-arch/skills/story-engine-for-creator
其他文件 · SKILL.md · CharacterToNarrativeLink.md · WorldviewVersioning.md · LongNarrativeWindow.md

安全亮点

代码结构清晰,纯Python实现,无二进制依赖
无敏感文件访问(无~/.ssh、.env、密钥路径访问)
无凭证收割行为(无遍历环境变量匹配API密钥)
无网络代码(无requests/urllib/curl调用)
无代码混淆(无base64解码、无eval链)
无持久化机制(无cron/计划任务/后门植入)
无反向shell或C2通信代码
仅使用标准库,供应链风险极低