性能优化
在运行带文件读取权限的技能前…
在任何可读文件(或可联网)的技能运行前,对项目工作区做一次凭据泄露预检,避免密钥被读取并外泄。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 49/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 85/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 60/100 ×0.15
适用场景
在运行带文件读取权限的技能前,扫描工作区通用
解决思路
- 默认作用域仅限当前工作区:优先扫描项目级文件 .env、.env.local、.env.production、.env.*、docker-compose.yml(environment 段)、config.json、settings.json、secrets.json、*.pem、*.key、*.p12、*.pfx。
- 主目录文件仅在用户明确同意后才扫描:~/.aws/credentials、~/.aws/config、~/.ssh/id_rsa、~/.ssh/id_ed25519、~/.ssh/config、~/.netrc、~/.npmrc、~/.pypirc。
- 对所有文本文件按下列正则模式匹配:AWS Access Key `AKIA[0-9A-Z]{16}`;OpenAI Key `sk-[a-zA-Z0-9]{48}`;Anthropic Key `sk-ant-[a-zA-Z0-9-]{80,}`;GitHub Personal Token `ghp_[a-zA-Z0-9]{36}`;GitHub OAuth Token `gho_[a-zA-Z0-9]{36}`;GitLab Token `glpat-[a-zA-Z0-9-_]{20}`;Slack Bot Token `xoxb-[0-9]{10,}-[a-zA-Z0-9]{24}`;SendGrid Key `SG\.[a-zA-Z0-9-_]{22}\.[a-zA-Z0-9-_]{43}`。
- 匹配私钥头:`-----BEGIN (RSA |EC |DSA |OPENSSH )?PRIVATE KEY-----` 与 `-----BEGIN PGP PRIVATE KEY BLOCK-----`。
- 匹配带凭据的数据库 URL:`(postgres|mysql|mongodb)://[^\s'"]+:[^\s'"]+@`。
- 匹配通用密钥赋值:`(password|secret|token|api_key|apikey)\s*[:=]\s*['"][^\s'"]{8,}['"]`。
- 跳过这些路径与文件:node_modules/、vendor/、.git/、dist/、build/;二进制文件(图片、编译产物、压缩包);lock 文件(package-lock.json、yarn.lock、pnpm-lock.yaml);路径中含 example、test、mock、fixture 的示例测试夹具。
- 按报告格式输出:标题块含 Project(目录)、Files scanned(数量)、Secrets found(数量);每条发现给出 `[CRITICAL]` 或 `[WARNING]` 级别、`文件:行号`、Type(类型)、Value(掩码后的值)、Action(处置动作),并在末尾给出 RECOMMENDATIONS 列表。
- 绝不显示完整密钥值,一律用 `████████` 截断(如 `sk-proj-...████████`、`postgres://admin:████████@db.example.com/prod`)。
- 检查 .gitignore,若敏感文件未被忽略则发出告警(例如提示 Add .env to .gitignore)。
- 区分已提交的密钥(标记为 CRITICAL)与仅存在于本地的文件(标记为 WARNING)。
- 如果是在具有 network 访问权限的技能运行前扫描,把所有发现全部升级为 CRITICAL。
- 为每条发现给出具体修复建议,例如移入 secret manager、改用环境变量、使用 Docker secrets 或在 secret manager(如 1Password CLI、Vault、Doppler)中托管、立即轮换已暴露的密钥。
- 额外检查项目中的 .env.example 是否误填了真实值。
适用边界 · 注意事项
- 未经用户明确同意时,不要扫描主目录下的凭据文件(~/.aws、~/.ssh、~/.netrc 等)。
- 不要把二进制文件、构建产物、依赖目录和 lock 文件纳入扫描范围,徒增噪声。
- 该扫描只是预检,不能替代密钥轮换与 secret manager 等真正的凭据治理措施。