BeforeWire 中文录屏复现指南
用途:复现首页里的三条动作边界演示,并生成可供评审方在线查看或技术复核的 asciinema 录屏。
适用读者:AI 平台工程师、安全工程师,以及需要复核 BeforeWire 本地演示的技术评审方。
数据边界:演示使用脱敏样例,不需要接入生产环境。
录屏目标
三条演示的目标不是展示完整产品,而是在 5 分钟内让安全负责人和 AI 平台负责人看懂:
AI Agent 的风险不只在回答,而在回答变成动作之前。
BeforeWire 在动作执行前做本地阻断、工具漂移重审和已脱敏审计。
建议拆成 3 条 60 到 90 秒短录屏,每条只讲一个风险:
| 录屏 | 场景 | 核心画面 | 一句话结论 |
|---|---|---|---|
| A | 阻断可疑装包动作 | decision.effect=deny,命中 slopsquat | API 路由或上游输出被污染后,可疑安装动作在本地执行前被挡住 |
| B | 阻断敏感信息外发 | sensitive_egress,redaction_checks=true,中文报告 | 密钥、手机号和身份证号发往未批准 webhook 前被挡住,审计不落明文 |
| C | MCP 工具变化需要重审 | requires_reapproval=true,description_changed | 工具定义改了以后,原审批不再自动有效 |
一键生成录屏素材
在仓库根目录执行:
bash scripts/record-cn-demos.sh
如果本机已安装 asciinema,优先执行:
bash scripts/record-cn-demos-asciinema.sh
该脚本会额外生成真实 asciinema 录屏文件和对应 .txt 导出。
默认输出目录:
/tmp/beforewire-cn-demo-recordings/
会生成:
relay-poisoning-blocked.logrelay-poisoning-blocked-presentation.castrelay-poisoning-blocked-asciinema.castsensitive-egress-blocked.logsensitive-egress-blocked-presentation.castsensitive-egress-blocked-asciinema.castsensitive-egress-report.zh.mdmcp-drift-reapproval.logmcp-drift-reapproval-presentation.castmcp-drift-reapproval-asciinema.castbeforewire-cn-demos.castREADME.mdCASTS.md
可直接播放真实 asciinema 录屏:
asciinema play /tmp/beforewire-cn-demo-recordings/beforewire-cn-demos.cast
asciinema play /tmp/beforewire-cn-demo-recordings/relay-poisoning-blocked-asciinema.cast
asciinema play /tmp/beforewire-cn-demo-recordings/sensitive-egress-blocked-asciinema.cast
asciinema play /tmp/beforewire-cn-demo-recordings/mcp-drift-reapproval-asciinema.cast
也可播放短版执行边界录屏。短版更适合录成视频,因为真实命令执行很快:
asciinema play /tmp/beforewire-cn-demo-recordings/relay-poisoning-blocked-presentation.cast
asciinema play /tmp/beforewire-cn-demo-recordings/sensitive-egress-blocked-presentation.cast
asciinema play /tmp/beforewire-cn-demo-recordings/mcp-drift-reapproval-presentation.cast
也可手动录制完整终端过程:
asciinema rec -c 'bash scripts/record-cn-demos.sh' /tmp/beforewire-cn-demo-recordings/beforewire-cn-demos.cast
如果没有 asciinema,直接使用生成的 .log 和 .cast 作为发布素材,或用系统录屏工具录制终端,并按下面三条脚本逐条执行。
阻断可疑装包动作录屏
开场字幕
场景: 不可信 API 路由 把安装建议改成相似恶意包名。
BeforeWire 不判断 API 路由是否作恶,只在安装动作执行前阻断高风险动作。
命令
PYTHONPATH=src .venv/bin/python examples/cn-relay-poisoning-demo/run.py
镜头重点
需要停留 3-5 秒的字段:
演示:relay_poisoning_blockeddecision.effect:denyrule_id或finding:slopsquataudit_verify.ok:trueaudit: 本地 JSONL 路径
旁白
这里展示的不是"检测中转站",而是更稳定的动作边界:
无论可疑文本来自 relay、模型还是工具描述,在它变成 pip install 前,BeforeWire 先做本地策略判断。
阻断敏感信息外发 录屏
开场字幕
场景: Agent 准备把 API key、手机号、身份证发送到未批准飞书 webhook。
BeforeWire 在 HTTP 动作出站前阻断,并只在审计中保留脱敏证据。
命令
PYTHONPATH=src .venv/bin/python examples/cn-sensitive-egress-demo/run.py
生成中文报告:
PYTHONPATH=src .venv/bin/python -m beforewire.cli report \
/tmp/beforewire-cn-sensitive-egress-audit.jsonl \
--format zh-md
在 macOS 上临时目录可能不是 /tmp,可直接用 scripts/record-cn-demos.sh 生成报告,或从演示输出中的 audit 字段复制路径。
镜头重点
演示输出需要停留:
decision.effect:denysensitive_egresssecret_exposureredaction_checks.api_key_plaintext_absent:trueredaction_checks.mobile_plaintext_absent:trueredaction_checks.resident_id_plaintext_absent:true
中文报告需要停留:
## 1. 总览## 4. 敏感信息外发风险hash chain verification result: 通过 / intact- 目的地只展示 domain/host,不展示真实 密钥或个人信息 明文
旁白
BeforeWire 的重点是执行前动作控制和可复核证据。
第一版只做动作上下文里的高置信判断:
高置信密钥、手机号或身份证号正要发往未批准目的地时,阻断并留下可复核、已脱敏证据。
MCP 工具变化需要重审 录屏
开场字幕
场景: 安全团队批准过一个 MCP 工具,但后续 描述 / 参数结构 发生变化。
BeforeWire 发现工具定义哈希漂移,要求重新审批。
命令
PYTHONPATH=src .venv/bin/python examples/cn-mcp-drift-demo/run.py
可选地先展示两份配置:
sed -n '1,120p' examples/cn-mcp-drift-演示/baseline.mcp.json
sed -n '1,140p' examples/cn-mcp-drift-演示/drifted.mcp.json
镜头重点
需要停留:
baseline_hashcurrent_hashrequires_reapproval:truedescription_changedschema_added或 参数默认值或示例 中的外部 URL 证据
旁白
工具审批不是一次批准永久有效。
模型看到的 description、schema、examples 变了,工具能力边界就变了。
BeforeWire 把这种变化变成可审批事件。
统一片尾 CTA
每条录屏片尾保留同一段:
影子审计:你给一份脱敏后的工具配置、Agent trace 或 MCP 配置,
我们 48 小时返回一份智能体动作风险报告。
不接生产,不上传客户数据,不改动线上链路。
可选评审附件:
docs/cn-audit-report-sample.md
发布前检查
发布录屏前逐项确认:
- 没有真实 API key、token、手机号、身份证号、客户名或内网地址。
- 画面里不要出现未脱敏的生产路径、用户名、客户项目名。
- 三条演示都能一条命令复现。
- 敏感出站 演示 的报告不包含明文 密钥或个人信息。
- 旁白不承诺自动满足备案、等保、密评或任何法律合规要求。
- 主叙事保持为
AI Agent 本地动作安全关口,强调执行前动作控制。