☰
ClawVault本地扫描功能详解:自动揪出.env、SSH密钥与AWS凭证等隐藏敏感文件
2026/10/16 4:43:40 网站建设 项目流程
  • AI 安全治理
  • 提示词注入防护
  • 应用安全
  • 模型安全
  • 后端
  • API网关

【免费下载链接】ClawVault

OpenClaw Security Vault — Atomic "claw" control: every AI reach, within your sight.

项目地址:https://gitcode.com/gh_mirrors/cla/ClawVault
点击查看免费下载

在 AI Agent 时代,最容易泄漏的往往不是聊天记录,而是散落在你电脑里的.env、SSH 密钥、AWS 凭证这类敏感文件。ClawVault(OpenClaw 安全保险箱)的**本地扫描(local scan)**功能,可以自动扫描本地目录,揪出硬编码凭证、弱权限密钥文件,还能审计已安装技能的安全风险,并支持 cron 定时扫描与结果可视化。

🕵️ 本地扫描能查什么?三种扫描类型

ClawVault 的本地扫描模块位于 src/claw_vault/local_scan/,提供三种扫描类型(定义在 models.py):

1️⃣ credential —— 凭证扫描(最常用)

扫描目录树中的配置文件内容,找出硬编码的凭证和敏感信息。默认会匹配这些文件模式:

*.env、*.env.*、*.yaml、*.yml、*.json、*.toml、*.ini、*.cfg、*.conf、*.properties、*.pem、*.key

底层复用了 ClawVault 的检测引擎(src/claw_vault/detector/),内置 40+ 条正则模式(见 patterns.py),能识别:

类别示例
云服务凭证AWS Access Key / Secret Key、Azure Storage Key
AI 平台密钥OpenAI、Anthropic、Google API Key
开发平台 TokenGitHub、GitLab、Slack、Discord、Telegram Bot
通用敏感信息密码赋值、数据库连接串、JWT Token
密钥文件SSH 私钥、加密货币私钥、助记词
个人数据信用卡号、手机号、身份证号、邮箱

扫描逻辑见 scanner.py,每个命中的文件都会输出脱敏后的值(masked value),避免二次泄漏。

2️⃣ vulnerability —— 权限与配置漏洞扫描

这类扫描不看文件内容,而是检查文件系统层面的安全隐患(scanner.py):

  • 弱权限的敏感文件:~/.aws/credentials、~/.ssh/id_rsa、~/.ssh/id_ed25519、~/.npmrc、~/.kube/config、~/.netrc、~/.env等 12 个常见位置,只要对"其他用户"可读就告警(风险分 7.0),并直接给出修复建议chmod 600
  • 组可读的密钥文件:id_*开头的私钥对组可读时告警(风险分 6.0)
  • 暴露的.git/config:可能泄漏仓库元数据(风险分 5.0)
  • Docker Socket 全局可写:/var/run/docker.sock若 world-writable,意味着容器逃逸风险(风险分 9.0)
  • 项目内的敏感文件:递归查找*.pem、*.key、*.p12、*.pfx、.env、.env.*,检查弱权限

3️⃣ skill_audit —— 技能供应链审计

给已安装的 OpenClaw 技能"体检":逐个读取技能目录下的 Python 文件,用风险因子清单(scanner.py)打分,例如:

  • 使用os.system/os.popen(8.0 分)、exec()/eval()(7.5 分)
  • 调用subprocess、解码 base64、包含十六进制编码字符串
  • 发起 HTTP 请求、写文件、引用凭证类关键词

同时还会跑一遍凭证检测,揪出技能代码里硬编码的密钥。

🚀 快速上手:一条命令出报告

先安装 ClawVault:

git clone https://gitcode.com/gh_mirrors/cla/ClawVault cd ClawVault pip install -e .

然后按需运行扫描(命令定义见 cli.py):

# 扫描家目录中的硬编码凭证(默认类型 credential) clawvault local-scan run --type credential --path /home/user --max-files 100 # 检查权限漏洞(家目录 + 指定目录) clawvault local-scan run --type vulnerability --path /home/user # 审计已安装技能 clawvault local-scan run --type skill_audit --path ./skills

输出是一张按风险分从高到低排序的表格:文件、发现类型、描述、风险分,末尾汇总扫描文件数、发现数、最大风险分与威胁等级。无任何发现时会提示No findings并统计耗时。

启动clawvault start后,扫描结果还会实时推送到 Web 仪表盘(端口 8766),在 Events 页面可以看到每次扫描事件与检测明细,与代理层的拦截记录统一呈现。

⏰ 配置 cron 定时扫描,让守护自动跑起来

ClawVault 内置了基于 croniter 的后台调度器(scheduler.py),服务启动时自动加载配置中的计划任务。用三条命令管理:

# 每天凌晨 2 点扫描家目录凭证 clawvault local-scan schedule-add --cron "0 2 * * *" --type credential --path /home/user # 每 6 小时做一次权限漏洞检查 clawvault local-scan schedule-add --cron "0 */6 * * *" --type vulnerability # 查看计划任务 / 历史结果 clawvault local-scan schedule-list clawvault local-scan history

每次扫描结果都会追加到~/.ClawVault/data/local_scan_history.jsonl(默认保留 100 条),随时可以用history命令回顾最近的威胁趋势。

常用配置项

在~/.ClawVault/config.yaml中通过local_scan段落定制(参考 config.example.yaml,字段定义见 config.py):

local_scan: enabled: true # 是否随服务启动调度器 max_files_per_scan: 200 # 单次扫描文件上限 max_file_size_kb: 1024 # 跳过过大的文件 skip_dirs: [node_modules, .git, venv, __pycache__] scan_file_patterns: ["*.env", "*.yaml", "*.pem", "*.key"]

其中skip_dirs和scan_file_patterns是新手最该关注的两个参数:前者决定哪些目录不参与扫描,后者决定凭证扫描匹配哪些文件后缀。

📊 风险分如何解读?

每次扫描会给出一个威胁等级(映射逻辑见 scanner.py):

最大风险分威胁等级建议
≥ 9.0critical立即处理(如 docker.sock 可写、硬编码私钥)
7.0 – 8.9high尽快处理(如 world-readable 凭证文件)
4.0 – 6.9medium本周内处理
0 – 3.9low记入待办
0safe目录干净 ✅

📚 延伸阅读

  • 本地扫描核心实现:src/claw_vault/local_scan/scanner.py
  • 定时调度器:src/claw_vault/local_scan/scheduler.py
  • 内置检测模式库:src/claw_vault/detector/patterns.py
  • 本地扫描测试用例:tests/test_local_scanner.py
  • 系统架构文档:doc/architecture.md

一句话总结:ClawVault 本地扫描 = 凭证扫描 + 权限漏洞扫描 + 技能审计,三件套配合 cron 定时任务,把"敏感文件泄漏"这件事从靠运气变成有守护。

  • AI 安全治理
  • 提示词注入防护
  • 应用安全
  • 模型安全
  • 后端
  • API网关

【免费下载链接】ClawVault

OpenClaw Security Vault — Atomic "claw" control: every AI reach, within your sight.

项目地址:https://gitcode.com/gh_mirrors/cla/ClawVault
点击查看免费下载

相关推荐

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询