2.8 KiB
业务交接:ERP 安全与会话运行
业务目标与触发
目标:为所有业务 Skill 提供 dry-run、真实提交授权、重复检查、session、锁、验证码和不确定状态的共同安全规则。
触发:用户要求真实保存、sender whitelist、重复订单、ERP login、验证码、Chrome profile lock、页面很慢、保存证据不明确、HTTP 200但ERP未回查。
Skill 标准化
使用 skills/erp-runtime-safety 和 skills/erp-session-runtime。Skill 只输出安全判断和下一步,不启用 allowRealSubmit、不绕过 whitelist、不复制 cookie、不删除 SingletonLock。登录必须在同一 exact window 由人工完成;等待使用 condition-based waits,不用固定 sleep 200。
Task JSON
安全配置不进入 task JSON。任务只保留 operation、route、fields/updatePlan/export intent、originalText、attachments 和 schemaVersion。mode、config、sender metadata 由脚本调用参数和本地配置提供。
脚本与工具
统一入口是 validate_erp_task.js、run_erp_task.js 和 tools/erp_task_dispatcher.js;相关工具包括 submit guard、order registry、task lock、session manager、interactive login 和 condition waits。真实 execute 还需要本地 config、whitelist、session 和明确授权。
结果
dry_run:计划已验但未保存;blocked:配置/白名单/重复/锁/会话阻断;execution_uncertain:保存证据不完整,先查 ERP;completed:有 ERP evidence 和 post-save re-query;post_save_recovery_required:保存确认但 artifact 失败,只允许 export-only。
阻塞与恢复
登录页、验证码、profile lock、重叠 session、非白名单 sender、allowRealSubmit=false、重复 fingerprint、HTTP 200无业务证据均不能盲目重试。精确 automation window 被人工关闭且 session manager 明确可恢复时最多重试一次;不能全局杀 Chrome 或删除锁文件。
测试与证据
- skills/erp-runtime-safety 和 skills/erp-session-runtime quick_validate/内容测试通过。
- 现有 session 测试 13/13,通过 no-ERP health 13/13。
- dispatcher 的 submit guard、whitelist、duplicate、lock、post-save tests 是共同回归门槛。
风险
真实提交越权、重复保存、登录重试造成重复、验证码绕过、锁文件误删、HTTP成功误判和客户回复泄露是主要风险。缓解:分层职责、配置授权、状态机、task lock、re-query、脱敏摘要。
负责人
安全规则负责人维护 Skill 边界;脚本负责人维护 guard/lock/dispatcher;ERP 运行负责人负责 Chrome、登录、sender whitelist 和 execute 授权。交接日期:2026-07-12。
下一步
在真正 Git 仓库提交后继续维护安全状态证据;任何 live ERP 试验必须单独建立授权记录、选非关键订单、保留 pre/post snapshot,不在本打包任务里直接执行。