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 的只读全流程,状态行实时显示扫描进度。

安装配置

  1. 免安装试用:uvx ranwhat check 直接运行一次,无需先装任何东西。
  2. 装入 PATH:pipx install ranwhat 或 pip install ranwhat,然后 ranwhat demo 用内置示例看一次完整的权限扫描。
  3. 环境要求:Python 3.9+,本机运行,无任何依赖包;转录路径默认读 ~/.claude/projects,可用 $CLAUDE_CONFIG_DIR 覆盖,OpenClaw 读 $OPENCLAW_STATE_DIR。
  4. 可选参数:--days N 控制审计天数,--source claude-code 指定来源,--json 输出机器可读结果。

使用步骤

  1. 跑一次总览:执行 ranwhat check,一次完成动作审计与密钥扫描,只读不改动任何文件。
  2. 审计近期动作:ranwhat watch --days 90 查看过去 90 天的高危操作清单,按严重级(critical/high)排列。
  3. 扫描密钥泄露:ranwhat clean 列出转录中的明文密钥,进入交互会话用 list、show 3、mask 3、mask all 逐条处理,备份存 ~/.ranwhat/backups。
  4. 轮换修复:按报告的 rotate 分组清单去各供应商轮换密钥——打码只防二次泄漏,轮换才切断风险。
  5. 纳入日常:定期重跑即可,索引只在转录文件大小或修改时间变化时重读,日常运行很快。

适用场景

  • 代理越权自查:确认 AI 这个月到底执行过哪些不可逆操作(强推、删库、发包)。
  • 密钥泄漏处置:发现 cat .env 输出已进转录后,快速定位、打码并生成轮换清单。
  • 团队安全巡检:统一审计成员机器上编码代理的真实行为,输出 JSON 供汇总。
  • 合规留痕:九条规则的命中记录可作为 AI 编码过程的审计证据。
  • 换机清理:迁移前检查旧转录里残留的凭据,避免随文件夹一起搬走。

适用人群

给团队成员开放 AI 编码权限、需要事后审计的技术负责人;使用 Claude Code/OpenClaw 处理敏感仓库与密钥的开发者;关注 AI 代理供应链安全与凭据治理的安全工程师;希望在不牺牲代理便利性的前提下加一道被动防线的所有者。

工作原理

ranwhat 只读扫描代理已写盘的转录:动作审计按九条规则对每条 Bash 调用与工具记录做模式匹配,命中即按严重级归档;密钥扫描则识别凭据形状与上下文中的密钥名,连手动输入的密码也按命令参数位置识别。发现的每个密钥先在加盐指纹索引登记(16 位键控 BLAKE2b 前缀指纹 + 全值哈希 + 长度,本机随机密钥保管),之后同类拷贝出现即可隐去不重复展示。打码重写文件前先备份、重写后再解析校验才替换原文件。整个链路确定性执行、默认只读,--apply 才落改动。

官方链接

团队信息

由 AI 猎手自动发现

评论与建议

0 条评论