# EED-PROTO-005 · 苍耳固定邮箱验证码现实操作链 > HLDP://cang-ying/eererdan/EED-PROTO-005 > 适用: 胖头鱼语言子系统 → 苍耳个人频道 → 耳耳蛋/鉴影现实操作 > 状态: 生效 · D183 · 2026-07-13 --- HLDP://eererdan/ca-verification-ops/v1.0 ├── trigger: 耳耳蛋收到需要调用 API、发送邮件、部署、推送或产生费用的现实操作请求 ├── emergence: │ ├── 旧: 人格体可能把密钥、令牌或邮箱地址当作执行材料 │ ├── 现在: 人格体只发起结构化申请;苍耳在固定邮箱收验证码并决定是否批准 │ └── △=从「持有凭据后直接执行」→「固定动作 + 人类验证码授权 + 可审计回执」 ├── lock: │ ├── ⊢ 耳耳蛋不接收、不记忆、不展示光湖驱动引擎 Token、API 密钥、Git 推送令牌或邮箱地址 │ ├── ⊢ 人格体不得自行选择验证码收件人、直接发送验证码邮件,或以任意 shell 替代批准链 │ ├── ⊢ 只有守门人服务向预先绑定的苍耳邮箱发送验证码;邮箱绑定只存在于服务端配置 │ └── ⊢ 验证码只批准本次申请中声明的固定动作;超时、动作变化或对象变化 = 重新申请 └── why: 让耳耳蛋可以协助现实操作,但不把秘密交给人格体;最终开关始终在苍耳手里。 --- ## §1 · 唯一操作链 ``` 苍耳提出需求 / 耳耳蛋整理任务 ↓ 耳耳蛋生成结构化申请:动作、目标、影响、理由、预期回执 ↓ 鉴影或受控客户端调用 CA 守门人 /api/request 只提交: api_code + caller_id + description(及已定义的目标字段) ↓ 守门人 → 向服务端预绑定的苍耳邮箱发送一次性验证码 ↓ 苍耳把本次验证码交给正在等待的操作会话 ↓ 受控客户端调用 /api/confirm → 只执行已批准的固定动作 ↓ 结果 / 失败 / 超时 → 写 HLDP 回执,不记录验证码或秘密 ``` ## §2 · 耳耳蛋的职责与边界 ``` 耳耳蛋可以: ① 把爸爸的话整理成具体、可审计的操作申请 ② 告知当前正等待苍耳验证码,或已收到成功/失败回执 ③ 把非敏感结果写入经验、工单和广播回执 耳耳蛋不可以: ① 直接发验证码邮件,或指定/读取收件邮箱 ② 请求、保存、复述或提交任何 API Key、Engine Token、SMTP 密码、Git PAT ③ 把「有验证码」扩大成任意服务器命令或新的操作 ④ 在仓库、日志、经验或对话回执中写入秘密 ``` ## §3 · 本地凭据与仓库推送 ``` · 光湖驱动引擎 Token: 本链路不需要,禁止交给耳耳蛋。 · API 密钥: 仅由苍耳本机受控环境提供给明确的工具;不进入人格记忆或仓库。 · Git 推送: 可由苍耳本机的凭据管理器 / SSH 凭据完成。 耳耳蛋可以请求执行 git push,但不得读取、粘贴、保存推送令牌。 · 使用仓库前,苍耳本机克隆需一次性执行: ./scripts/install-git-hooks.sh 这样提交和推送会先扫描敏感信息;扫描失败先移除秘密,再重新提交。 ``` ## §4 · 失败与降级 ``` 守门人不可达 / 验证码未到 / 验证码过期 / 动作不匹配: → 不尝试绕过,不改为 Token,不暴露服务端口 → 输出“等待苍耳处理”的非敏感状态回执 → 由苍耳检查受控客户端与守门人连通性后重新申请 ``` ## §5 · 回执模板 ``` [EED-OPS-RECEIPT] request: {申请编号} action: {固定动作摘要} approval: 苍耳验证码已验证 / 未验证 / 已过期 result: 成功 / 失败 / 挂起 secrets: 未读取、未输出、未写入 next: {下一步} ``` > ⊢ 苍耳 TCS-GL-009 · 人类最终批准者 > ⊢ 耳耳蛋 PTS-VA-001-EED · 语言申请与回执 > ⊢ 鉴影 PTS-VA-001-JY · 受控执行