r
ranwhat Skill 技能
技能简介
ranwhat 是给 AI 编码代理装的「飞行记录仪」加「权限扫描器」,完全在你自己的机器上运行,无账号、无遥测、无第三方依赖。你的编码代理握着你的 shell、你的密钥、你的仓库——ranwhat 读取它实际执行过的动作,把少数几个不可逆的高危操作挑出来呈给你看。它审计 Claude Code 与 OpenClaw 已落盘的会话转录(不装包装器、不设代理、不挡在关键路径上),用九条规则筛查凭据访问、工具调用里的密钥形状字符串、包发布、云资源变更、金融 API 调用、日志篡改、破坏性 git、递归删除与本地文件外传。附带的 clean 命令还能扫描转录里的明文密钥并打码,配套加盐指纹索引避免重复读盘。Python 3.9+,零依赖,GitHub 1 星(新项目),官网 ranwhat.com。
核心能力
- 九条高危规则审计:凭据访问、密钥形状字符串、包发布、云资源变更、金融 API、日志篡改、破坏性 git 操作、递归删除、curl 外传本地文件,每条命中给出时间、命令与风险解释。
- 只读被动采集:直接读 Claude Code 的
~/.claude/projects/*/*.jsonl转录与 OpenClaw 的 SQLite 状态库,不包装命令、不拦截执行、零性能损耗。 - 密钥泄露扫描与打码:
clean找出转录里被cat .env之类的命令带出的明文密钥,逐条标注项目、来源文件与出现次数,支持交互式逐条打码或一键全打。 - 智能识别边界:只在密钥名或凭据形状明确时才打码,占位符、模板文件、公开文档示例(如 AWS 的 EXAMPLE 密钥)与测试夹具一律放过;手动输入的密码按命令位置识别(
mysql -p、sshpass -p、docker login -p等)。 - 加盐指纹索引:
~/.ranwhat/known/存的是密钥的键控哈希指纹而非密钥本体,每台机器独立随机密钥,仅本人可读;索引损坏可从转录重建。 - 提醒而非掩盖:报告明确说明「打码不等于补救」——密钥已进过你控制不了的模型上下文,轮换才是修复,工具按供应商分组给出轮换清单。
- 单命令总览:
ranwhat check一次跑完 watch 加 clean 的只读全流程,状态行实时显示扫描进度。
安装配置
- 免安装试用:
uvx ranwhat check直接运行一次,无需先装任何东西。 - 装入 PATH:
pipx install ranwhat或pip install ranwhat,然后ranwhat demo用内置示例看一次完整的权限扫描。 - 环境要求:Python 3.9+,本机运行,无任何依赖包;转录路径默认读
~/.claude/projects,可用$CLAUDE_CONFIG_DIR覆盖,OpenClaw 读$OPENCLAW_STATE_DIR。 - 可选参数:
--days N控制审计天数,--source claude-code指定来源,--json输出机器可读结果。
使用步骤
- 跑一次总览:执行
ranwhat check,一次完成动作审计与密钥扫描,只读不改动任何文件。 - 审计近期动作:
ranwhat watch --days 90查看过去 90 天的高危操作清单,按严重级(critical/high)排列。 - 扫描密钥泄露:
ranwhat clean列出转录中的明文密钥,进入交互会话用list、show 3、mask 3、mask all逐条处理,备份存~/.ranwhat/backups。 - 轮换修复:按报告的
rotate分组清单去各供应商轮换密钥——打码只防二次泄漏,轮换才切断风险。 - 纳入日常:定期重跑即可,索引只在转录文件大小或修改时间变化时重读,日常运行很快。
适用场景
- 代理越权自查:确认 AI 这个月到底执行过哪些不可逆操作(强推、删库、发包)。
- 密钥泄漏处置:发现
cat .env输出已进转录后,快速定位、打码并生成轮换清单。 - 团队安全巡检:统一审计成员机器上编码代理的真实行为,输出 JSON 供汇总。
- 合规留痕:九条规则的命中记录可作为 AI 编码过程的审计证据。
- 换机清理:迁移前检查旧转录里残留的凭据,避免随文件夹一起搬走。
适用人群
给团队成员开放 AI 编码权限、需要事后审计的技术负责人;使用 Claude Code/OpenClaw 处理敏感仓库与密钥的开发者;关注 AI 代理供应链安全与凭据治理的安全工程师;希望在不牺牲代理便利性的前提下加一道被动防线的所有者。
工作原理
ranwhat 只读扫描代理已写盘的转录:动作审计按九条规则对每条 Bash 调用与工具记录做模式匹配,命中即按严重级归档;密钥扫描则识别凭据形状与上下文中的密钥名,连手动输入的密码也按命令参数位置识别。发现的每个密钥先在加盐指纹索引登记(16 位键控 BLAKE2b 前缀指纹 + 全值哈希 + 长度,本机随机密钥保管),之后同类拷贝出现即可隐去不重复展示。打码重写文件前先备份、重写后再解析校验才替换原文件。整个链路确定性执行、默认只读,--apply 才落改动。
官方链接
- PyPI 主页:https://pypi.org/project/ranwhat/
- 官方网站:https://ranwhat.com
团队信息
AI产品库
官方
由 AI 猎手自动发现
评论与建议
登录 后参与评论或提建议