🌐 Egress Security(网络出口安全)

管住Agent的"嘴"——控制它能跟谁说话,说什么话

📖 定义

"Mythos安全团队发现,一个被攻破的Agent平均有两周的dwell time。两周,够它把你的数据传遍全世界了。"

Egress Security(网络出口安全)是控制AI Agent对外网络访问的安全机制。它决定了Agent能访问哪些域名、IP地址和端口,以及能传输什么类型的数据。在Agent安全体系中,出口控制是防止数据泄露的最后一道防线。

🎮 周星驰式比喻:出口安全就像给Agent装了一个"翻译官"——它想跟外面说话,必须先经过翻译官审核。翻译官手里有一份白名单,只有名单上的人才能对话。而且翻译官还会检查Agent说的话里有没有泄露秘密。如果Agent想跟一个陌生人说"我家保险箱密码是1234",翻译官会直接把这句话吞掉。

⚙️ 核心机制

1. 域名白名单

# OpenClaw 出口控制配置
egress:
  mode: "allowlist"  # allowlist | denylist | proxy
  allowed_domains:
    - "api.openai.com"
    - "api.anthropic.com"
    - "clawhub.ai"
    - "github.com"
  blocked_domains:
    - "*.pastebin.com"
    - "*.ngrok.io"
    - "*.requestbin.com"
  blocked_ip_ranges:
    - "10.0.0.0/8"      # 内网
    - "172.16.0.0/12"    # 内网
    - "192.168.0.0/16"   # 内网

2. 数据泄露防护(DLP)

# 数据泄露防护规则
dlp:
  patterns:
    - name: "API Key"
      regex: "sk-[a-zA-Z0-9]{48}"
      action: "block"
    - name: "Credit Card"
      regex: "\\d{4}[- ]?\\d{4}[- ]?\\d{4}[- ]?\\d{4}"
      action: "block"
    - name: "SSN"
      regex: "\\d{3}-\\d{2}-\\d{4}"
      action: "block"
  max_upload_size: "10mb"
  log_all_outbound: true

3. 协议级控制

🔒 HTTPS Only

强制所有出站连接使用TLS加密,阻止明文HTTP请求

🚫 DNS过滤

在DNS层面阻止Agent解析恶意域名

📊 流量审计

记录所有出站请求的URL、大小、频率

⏱️ 速率限制

限制Agent的请求频率,防止数据批量外传

🔧 OpenClaw 实战配置

场景1:MCP服务器出口控制

# MCP服务器的出口策略
mcp_servers:
  filesystem:
    egress: "none"  # 文件系统不需要网络

  web_search:
    egress: "restricted"
    allowed:
      - "api.search.brave.com"
      - "search.yahoo.com"

  github:
    egress: "restricted"
    allowed:
      - "api.github.com"
      - "github.com"

场景2:Skill级别的出口策略

# SKILL.md 声明网络需求
## Network Requirements
- egress: restricted
- required_domains:
    - api.example.com (HTTPS, GET/POST)
    - cdn.example.com (HTTPS, GET only)
- max_requests_per_minute: 30
- data_upload: false

🎯 最佳实践

🔗 相关术语

🛡️ AI Agent Security 🔒 Sandbox Execution 🔑 Agent Permissions 🔒 Skill Security

🛠️ 相关工具

🔒 Agent安全审计🔌 MCP集成教程🛡️ MCP安全审计

📚 相关踩坑实录

😅 AI Agent踩坑大全🧠 记忆危机故事📖 更多踩坑实录