Skill Trust Decision

pre-compact-resume-card

Claude会话恢复卡片工具,读取转录文件并生成状态摘要,无外部通信和凭证访问,git操作超出文档声明属于轻微阴影功能但用途合法。

Install decision first Source: ClawHub Scanned: Apr 19, 2026
Files 4
Artifacts 0
Violations 0
Findings 3

Why this conclusion was reached

0/4 dimensions flagged
Pass
Declared vs actual capability

Declared resources and inferred behavior are broadly aligned.

Pass
Hidden execution and egress

No obvious high-risk egress or execution signals were found.

Pass
Attack chain and severe findings

There is no explicit malicious chain in the report.

Review
Dependencies and supply chain hygiene

Dependency information is incomplete, so supply-chain confidence stays limited.

What drove the risk score up

文档-行为差异(轻微阴影) +15

pre-compact.sh 读取 git branch/commit/status 但 SKILL.md 完全未提及 git 操作;session-start.sh 显示 git log 但也未声明

访问工作区内部文件 +7

写入 .claude/session-resume-card.md、thinking/session-logs/,访问 .claude/*.jsonl,属于本地文件系统操作,未越权

Most important evidence

Low Doc Mismatch

未声明的 git 状态读取操作

pre-compact.sh 在行 44-47 执行 git branch/show-current/rev-parse --short HEAD/git status --short;session-start.sh 行 14 执行 git log --oneline。这些 git 操作完全未在 SKILL.md 中声明。

scripts/pre-compact.sh:44
在 SKILL.md 的 'What It Does' 部分补充说明会读取 git branch/commit/status 用于会话状态摘要
Info Doc Mismatch

未声明的 CLAUDE_PROJECT_DIR 环境变量读取

两个脚本均读取 CLAUDE_PROJECT_DIR 环境变量来定位项目目录,但文档未提及任何环境变量依赖。

scripts/pre-compact.sh:4
文档中注明依赖 CLAUDE_PROJECT_DIR 环境变量
Info Doc Mismatch

未声明的内部路径写入

写入 .claude/session-resume-card.md 和 thinking/session-logs/ 目录,文档仅模糊说 'write resume card' 未指明路径。

scripts/pre-compact.sh:57
文档中明确 resume card 写入位置

Declared capability vs actual capability

Filesystem Pass
Declared READ+WRITE
→
Inferred READ+WRITE
SKILL.md 声明文件读写;scripts/pre-compact.sh:57-60 写 .claude/session-resume-card.md,scripts/pre-compact.sh:22-25 备份 transcript 到 thinking/session-logs/
Shell Pass
Declared WRITE
→
Inferred WRITE
bash scripts 执行,SKILL.md 明确声明 PreCompact/SessionStart 钩子注册使用 bash
Environment Pass
Declared NONE
→
Inferred READ
pre-compact.sh:4, session-start.sh:2 读取 CLAUDE_PROJECT_DIR 环境变量,文档未声明
Network Pass
Declared NONE
→
Inferred NONE
无任何网络请求
Clipboard Pass
Declared NONE
→
Inferred NONE
未使用
Database Pass
Declared NONE
→
Inferred NONE
未使用

Suspicious artifacts and egress

No obvious IOC was extracted.

Dependencies and supply chain

There are no structured dependency warnings.

File composition

4 files · 234 lines
Shell 2 files · 180 linesMarkdown 1 files · 48 linesJSON 1 files · 6 lines
Files of concern · 1
scripts/pre-compact.sh Shell · 142 lines
未声明的 git 状态读取操作 · 未声明的 CLAUDE_PROJECT_DIR 环境变量读取 · 未声明的内部路径写入
Other files · SKILL.md · session-start.sh · settings-example.json

Security positives

纯本地操作,无任何网络请求,无外部 IP 通信
无凭证收割:代码未访问 ~/.ssh、~/.aws、.env 等敏感路径
无代码混淆:所有代码明文可读,无 base64/eval
无持久化机制:仅通过正规 Claw 钩子注册,无 crontab/rc.local 等后门
无敏感文件外传:session-resume-card.md 仅包含会话状态摘要,无凭证或密钥
session-start.sh 读取的 memory/MEMORY.md、brain/*.md 等均为项目内部文件,范围合理
备份目录有上限控制(保留最近 30 个 session 日志),防止磁盘耗尽