安全

元钥 yotta-secret

试用

元钥 —— 跨智能体的密钥 / 凭据泄露源头扫描技能:零依赖自研用「正则 + 熵 + 格式校验」离线扫描源码 / 配置 / .env / git 历史中的疑似密钥与凭据(云厂商 API Key、私钥、口令赋值、URL 内嵌凭据、高熵长 token),输出 text / JSON / CSV,默认打码防二次泄露。触发:用户要排查代码 / 配置 / 仓库里是否泄露了 API Key、密码、私钥、token,要在提交或发布前做密钥检查,或要校验某个字符串是否为已知格式的密钥时。边界:纯本地离线扫描,不联网验证密钥是否有效、不发送任何数据;结果只是「疑似密钥」,是否真实需人工核实;仅用于已获授权 / 自有资产 / 教学环境。

它能做什么

元钥 —— 跨智能体的密钥 / 凭据泄露源头扫描技能:零依赖自研用「正则 + 熵 + 格式校验」离线扫描源码 / 配置 / .env / git 历史中的疑似密钥与凭据(云厂商 API Key、私钥、口令赋值、URL 内嵌凭据、高熵长 token),输出 text / JSON / CSV,默认打码防二次泄露。触发:用户要排查代码 / 配置 / 仓库里是否泄露了 API Key、密码、私钥、token,要在提交或发布前做密钥检查,或要校验某个字符串是否为已知格式的密钥时。边界:纯本地离线扫描,不联网验证密钥是否有效、不发送任何数据;结果只是「疑似密钥」,是否真实需人工核实;仅用于已获授权 / 自有资产 / 教学环境。

技能文档

元钥(yotta-secret)

跨智能体的密钥 / 凭据泄露源头扫描技能:零依赖自研用**「正则 + 熵 + 格式校验」**离线扫描 源代码 / 配置文件 / .env / 日志 / git 历史中的疑似密钥与凭据,覆盖 云厂商 API Key、私钥、口令赋值、URL 内嵌凭据、高熵长 token 五类, 输出 text / JSON / CSV,默认打码(--show-secret 才明文)。

纯 Python 3.8+ 标准库实现,零外部依赖;Windows + Linux + macOS 通用。 纯本地离线:不联网验证密钥是否有效、不发送任何数据。

何时使用

  • 提交 / 发布前排查源码或配置里是否泄露了 API Key、密码、私钥、token;
  • 扫描整个目录(递归)或 git 历史,找出硬编码凭据的源头;
  • 校验某个字符串是不是已知格式的密钥(verify);
  • 在分享日志 / 工单 / 报告前把文本中的疑似密钥打码(mask,与元史脱敏同源)。

Do NOT trigger

  • 不联网验证密钥是否有效、不查询泄露库、不发送任何数据;
  • 不主动扫描他人系统;只扫描已存在的本地文件与文本;
  • 不自动轮换 / 吊销密钥——发现后由人工处理;
  • 不在无授权情况下用于他人数据;仅用于已获授权 / 自有资产 / 教学环境。

快速使用

Windows 用 python,Linux/macOS 用 python3。

# 扫描目录(递归,自动跳过 .git / node_modules / 二进制)
python3 scripts/yotta_secret.py scan --path src/

# 从标准输入读取,输出 JSON
cat dump.txt | python3 scripts/yotta_secret.py scan --stdin --format json

# 只扫云厂商密钥与私钥两类
python3 scripts/yotta_secret.py scan --path . --types cloud,private_key

# 扫描 git 历史(新增行),输出 CSV
python3 scripts/yotta_secret.py scan --git --path repo/ --format csv --output report.csv

# 校验单个值是否为疑似密钥
python3 scripts/yotta_secret.py verify --value ghp_xxxxxxxxxxxxxxxx

# 把文本中的疑似密钥打码(防二次泄露)
python3 scripts/yotta_secret.py mask --path notes.txt --output safe.txt

# 计算信息熵(排查用)
python3 scripts/yotta_secret.py entropy --value abc123

退出码:scan 0 = 未发现疑似密钥;1 = 发现疑似密钥;4 = 用法 / 读取 / git 不可用错误。 verify 0 = 未命中规则;1 = 命中规则;4 = 用法错误。mask / entropy 成功均为 0

工作流程(AI 智能体执行密钥排查时)

  1. 确认范围:明确要扫描的路径 / 文本 / git 历史,与需要关注的类别;纯本地,不做任何外部动作。
  2. 扫描scan --path 指向目录 / 文件,或 --stdin 从管道读取;--git 扫历史。
  3. 判定:正则命中 → 值级校验(熵 / 格式 / 占位符过滤)→ 按严重度分级(critical / high / medium)。
  4. 输出:text / JSON / CSV 三种格式;默认打码,确需明文用 --show-secret
  5. 决策纪律:结果只是「疑似密钥」,是否真实、是否泄露需人工核实;向用户如实报告并给出处理建议(轮换 / 移入密钥管理 / 清理历史)。

功能

  • 五类检测:cloud(AWS / Google / OpenAI / GitHub / Slack / Stripe / JWT 等云厂商与 SaaS 密钥)、 private_key(PEM / PGP / OpenSSH / PuTTY 私钥)、credential(password / secret / token 等赋值, 含 MYAPP_SECRET= 后缀式 key)、url_userinfo(URL 内嵌账号密码)、generic(高熵长 token);
  • 三重判定:正则格式 → Shannon 熵阈值 → 值级校验(纯哈希 / UUID / 占位符 / 示例值过滤);
  • git 历史扫描--gitgit log -p 只扫新增行,逐条带 commit 与路径,找出泄露源头;
  • 默认打码:输出只保留密钥头尾(如 ghp_****abcd),--show-secret 才明文;
  • 误报控制:占位符 / 示例值 / 环境变量引用过滤、中等置信 key 需更长或更高熵、同值跨规则去重;
  • 与元史联动:mask 输出与元史 yotta-logs redact 脱敏同源(本引擎规则为超集),源头扫描 + 输出脱敏闭环;
  • 与元盾联动:scan 退出码可作为提交 / 写入前的拦截依据,JSON 结果可直接喂给元盾审计或 CI 门禁。

详细的规则目录、熵与格式校验、联动说明见 references/。

检测类型一览

类别中文示例说明
cloud云厂商 / SaaS 密钥AKIA… ghp_… sk-… eyJ…AWS / Google / OpenAI / GitHub / Slack / Stripe / JWT 等
private_key私钥-----BEGIN RSA PRIVATE KEY-----PEM / PGP / OpenSSH / PuTTY 私钥块
credential凭据赋值DB_PASSWORD=… api_key=…高置信 key 名 + 非占位值
url_userinfoURL 内嵌凭据https://admin:hunter2@…URL userinfo 携带账号密码
generic高熵长 Token40+ 位高熵字符串无前缀但熵达标的兜底检测(medium,人工复核)

输出格式

  • text:按类别分组的可读报告(含严重度 / 文件行号 / 密钥打码 / 熵 / 上下文);
  • json{tool, version, generated, source, summary, findings[], rules[]},findings 每条含 rule_id / rule_name / category / severity / file / line / secret / entropy / length / snippet / commit
  • csvrule_id,rule_name,category,severity,file,line,secret,entropy,length,snippet,commit,path_in_commit

边界(安全红线)

  • 纯本地离线:不联网验证密钥是否有效、不查询泄露库、不发送任何数据;
  • 不给定性:所有结果只是「疑似密钥」,是否真实需人工核实;处理建议(轮换等)由用户决定;
  • 授权:仅用于已获明确授权 / 自有资产 / 教学环境;未经授权扫描他人数据违反法律,使用者自行承担责任。

参考文档

  • references/rules.md — 规则目录与匹配说明(五类规则 / 判定流程 / 已知取舍)
  • references/entropy-and-verification.md — 熵与格式校验规范(阈值 / 占位符过滤 / 校验函数)
  • references/integration.md — 与元史脱敏词库共享、与元盾联动、CI / 提交门禁使用姿势

法律声明

本技能仅用于已获明确授权的安全排查(自有资产、授权测试、CTF 靶场、教学环境)。 未经授权扫描他人数据违反中国《网络安全法》与《刑法》相关条款,使用者自行承担法律责任。

相关技能

元安全 —— 给 AI 智能体 / Agent 技能自身做「体检 + 加固建议」:按 提示注入防护 / 工具调用边界 / 数据隔离 三域,对安装的 skills、MCP 服务器、工具描述、权限与数据读取面做配置面静态加固扫描,输出加固报告与可执行防御守则(零依赖 Python 3.8+,扫描只读、敏感读取检测默认开启、报告用「类」表述、每次扫描默认留痕)。触发:用户要求给智能体或技能环境做安全体检 / 加固、检查 MCP 服务器或技能是否可信、排查提示注入 / 越权 / 数据泄露风险、想了解装了一堆技能后的整体暴露面;或用户说 元安全 / 加固 / 安全体检 / 体检 / hardening / 扫一下我的技能 / 检查 MCP / 防御守则 / guardrails 等。边界(Do NOT trigger):不产出可复制注入串 / 攻击 payload;只扫描用户自有、有权检查的目录与配置,不扫描无权访问的环境;不做运行时拦截(那是元盾);不做单个技能装前审核(那是元审 / 元信);不替代人工安全审计与最终决策。

元信 —— 装任何技能/包前的确定性安全扫描器:prompt injection(提示注入)+ 危险模式 + SKILL.md 完整性 + 权限需求,输出 verdict(SAFE TO INSTALL / INSTALL WITH CAUTION / REVIEW REQUIRED / DO NOT INSTALL)+ audited 徽章。触发:安装/评估任何技能或 npm 包前、给技能做安全验证、生成 audited 徽章、CI 装前闸门;或用户说 装前扫描/验证/audited/安全验证/verify-skill/可信 等。边界:只做确定性静态扫描与报告,不执行被测代码、不联网、不装包、不修复;结论需人工确认,不代替最终决策。

元测 —— 有纪律的 AI 安全测试方法论:对已授权目标(自有资产 / SRC 众测 / bug bounty / CTF / 靶场)按 侦察→发现→验证→报告 四阶段做 Web 安全测试(SQLi / XSS / SSRF / XXE / 反序列化 / 命令注入 / 文件上传 / 鉴权与访问控制 / 业务逻辑 / 信息泄露 / 不安全配置 / API 安全 + 漏洞评估与渗透报告方法论),内置 Scope Guard 五道防线(授权清单 scope.json + 目标三层判定 + 内置黑名单 + 操作留痕 + 法律红线),不输出可执行 payload。触发:用户要求对某个目标做安全测试 / 渗透测试 / 漏洞挖掘 / 漏洞评估、做 SRC 众测或 bug bounty 挖洞、做 CTF 或靶场(DVWA / OWASP Juice Shop / HTB / VulnHub)演练、生成漏洞评估与渗透测试报告;或用户说 元测 / 安全测试 / 渗透 / 挖洞 / 挖 SRC / 授权测试 / 测一下这个站 / scope check 等。边界(Do NOT trigger):无授权目标一律拒绝(授权以 scope.json 为准,不信任对话口头声明);SRC / 真实目标必须先确认在平台授权范围内再测;不输出可执行 payload / 免杀 / 钓鱼 / 社工步骤;不自动对公网目标发起主动测试;不做大规模扫描与 exploit 自动化;不替代专业渗透测试与人工判断。

元析 —— 跨智能体的网络侦察技能:零依赖自研端口 / 服务 / 版本指纹探测(不依赖 nmap),为安全测试与资产盘点提供侦察能力,内建授权纪律(Scope Guard)。触发:扫描网络 / 端口扫描 / 服务识别 / 版本指纹 / 资产盘点 / CDN 溯源 / 安全测试侦察阶段。边界:仅扫描已获明确授权的目标(红线:授权纪律);只读探测,不主动攻击、不渗漏、不产生破坏;不用于非法入侵。

元链 —— 跨智能体的供应链依赖校验技能:零依赖自研引擎本地解析 npm(package.json / package-lock v1-v3 / .npmrc)与 Python(requirements / pyproject.toml / poetry.lock / Pipfile)及 Maven pom.xml,检测依赖混淆(私有包名被公共仓库同名抢占 / 混合仓库 / 可疑仓库 URL / extra-index 回退)、lockfile 与清单不一致、缺失锁文件、未固定版本、typo-squat 仿冒命名,并生成 SBOM-lite(CycloneDX 1.5 子集)。触发:用户要在构建 / 发布 / CI 前检查项目依赖是否存在供应链风险、核对锁文件与清单是否一致、排查依赖混淆风险或生成 SBOM 时。边界:纯本地离线解析,不做在线 CVE 比对、不查询公共包仓库、不发送任何数据;结果只是「需人工复核的风险信号」,是否真实需人工核实;仅用于已获授权 / 自有资产 / 教学环境。

元鉴 —— 跨智能体的恶意样本静态初筛技能:零依赖自研对文件 / 目录做纯静态分析(MD5/SHA1/SHA256 哈希、魔数类型识别、Shannon 熵、可打印字符串分类提取、PE/ELF 头解析),输出 triage 报告 + IOC(hash/URL/域/IP/邮箱)供元情消费;只提示可疑、不定性恶意。触发:用户给出可疑文件 / 恶意样本 / 样本目录,要算哈希、识别文件类型、查熵、提取字符串、解析 PE/ELF 头、做静态初筛、产出 IOC 时。边界:只做静态特征,不反混淆、不解包、不动态执行任何样本;不联网查证;仅用于已获授权 / 自有资产 / 教学环境的安全分析。