OpenAI 昨天说“防守窗口正在收窄”:真正该紧张的不是零日,而是仓库里那堆没人管的旧东西
昨天 OpenAI 发了一篇安全文章,标题叫《The Defender’s Window》。
里面有个细节很容易让人记住。
Greg Brockman 让 ChatGPT Work 用公开可用的 GPT-5.6 Sol 检查自己的个人网站。这个网站并不复杂:静态站点,AWS 托管,Cloudflare 在前面。
大约 15 分钟,模型找出了 13 个问题。
官方文章举出的例子并不是什么电影里那种“超级黑客漏洞”,而是很普通的安全债:邮件域配置不完整、前端依赖过旧、Cloudflare 到源站的一段链路仍然使用了不安全配置等。
后面模型又花了大约一个小时协助修复和调整这些配置。
我觉得这件事最值得关注的地方不是“AI 会不会黑客”。
而是:
以前因为人工时间不够而长期没人检查的那批低优先级问题,正在变得越来越容易被机器批量发现。
这会改变安全工作的优先级。
过去很多团队心里其实有一张默认风险表:
高危零日 立即处理
严重漏洞 尽快处理
旧依赖 有空再说
过度权限 等重构
DNS/邮件配置 以后再补
废弃服务 暂时别动
测试环境暴露 应该没事
这个排序有一个隐含前提:
攻击者的时间也是有限的
一个不显眼的小配置错误,如果单独利用价值不大,攻击者可能懒得看。
AI Agent 改变的恰恰是这个成本结构。
如果机器能够自动:
枚举
比对
检查配置
阅读代码
关联资产
发现异常
那么以前“不值得人工花时间找”的问题,会突然变得值得批量寻找。
这就是我理解的 Defender’s Window。
我会先还哪几类技术债
不是先买一套新的 AI Security 产品。
我会先清下面五类东西。
1. 身份和权限
这是我会排第一的。
检查:
- 离职账号;
- 长期不使用账号;
- 管理员权限;
- Service Account;
- API Key;
- 云 IAM;
- 数据库高权限用户;
- CI/CD 凭证;
- 第三方集成 Token。
很多严重事件最后并不是靠“神奇漏洞”完成,而是:
拿到一个本来就权限过大的身份
所以最值得问的不是:
这个账号会不会被盗?
而是:
如果它今天真的被盗,能做多大范围的事?
权限应该按 blast radius 设计。
2. 长期没人升级的依赖
依赖治理最怕这种状态:
能跑
所以不敢动
几年以后变成:
因为太老
更不敢动
我会至少维护:
组件
当前版本
最新安全版本
是否公网暴露
是否有已知漏洞
Owner
升级窗口
不需要第一天全部升级。
先让“没人知道它存在”变成“有人负责”。
3. 被遗忘的公网资产
最危险的系统有时候不是主站,而是:
old-admin.example.com
staging.example.com
test-api.example.com
legacy-vpn.example.com
没人维护,但 DNS 还在。
证书还在。
端口还开着。
甚至账号还是几年前的。
先做资产盘点:
Domain
Subdomain
Public IP
Cloud Account
Public Bucket
Load Balancer
VPN
Remote Access
资产不知道,就谈不上防守。
4. 网络和信任边界
很多内部系统默认:
能进内网 = 可信
这个假设越来越危险。
一旦某个账户、终端或服务失陷,过于平坦的内网会放大影响。
优先检查:
- 管理平面是否隔离;
- 生产数据库是否允许任意应用访问;
- CI Worker 能否访问生产;
- 测试环境能否访问真实数据;
- 服务之间是否使用独立身份;
- 网络策略是否按最小范围开放。
5. “一直知道,但一直没修”的配置
这一类非常真实。
例如:
这个Header以后补
这个Bucket反正没人知道
这个账号先共用一下
这套老TLS改起来麻烦
这个Secret后面再换
以前可以拖半年。
现在我会重新评估。
因为 AI 带来的不是单个漏洞威力突然变大,而是:
寻找、组合和验证问题的成本下降
OpenAI 文章里有一句话我觉得比“AI攻击”更重要
它强调的方向并不是只让 AI 生成更多 Security Findings。
目标应该是缩短:
发现问题
→确认问题
→生成修复
→验证修复
→安全发布
这条链路。
这点非常重要。
很多安全平台已经有一个老问题:
扫描器每天报 3 万个问题
最后真正修的很少。
如果 AI 只是让 3 万变成 30 万,防守反而更差。
所以我会把 AI 安全 Agent 的 KPI 定成:
有效修复数
而不是:
发现数
一个安全 Agent 最好不要拥有“无限修复权”
可以分三档。
自动修
适合:
- 明确依赖版本更新;
- 格式化安全配置;
- 静态检查可验证问题;
- 测试覆盖充分的低风险代码。
流程:
发现
→开PR
→CI
→自动合并/人工合并
提议修
适合:
- IAM;
- 网络;
- 数据库;
- 认证;
- 基础设施。
Agent 生成:
Change Proposal
Diff
Risk
Rollback Plan
人审批。
只报告
适合:
- 高影响生产系统;
- 可能造成业务中断;
- 证据不充分;
- 涉及合规。
不要为了“自治”强行自动化。
我更喜欢“安全不变量”这个概念
与其每天问:
有没有漏洞?
不如定义一组系统必须始终成立的条件。
例如:
生产数据库不能直接公网访问
CI Worker不能拥有生产管理员权限
任何长期API Key必须有Owner
所有生产Secret必须有到期或轮换策略
测试环境不能读取真实用户全量数据
关键写操作必须有审计
然后持续验证这些不变量。
security_invariants:
- id: prod-db-no-public-access
severity: critical
- id: service-account-no-admin
severity: high
- id: secrets-have-owner
severity: medium
AI 很适合帮助:
- 找证据;
- 读配置;
- 解释差异;
- 生成修复建议。
最终是否满足不变量,最好仍由确定性程序判断。
安全团队用 Agent,也要给 Agent 上安全边界
这是另一个容易被忽略的问题。
安全 Agent 为了检查系统,往往会被赋予:
- 代码仓库;
- 云配置;
- 日志;
- 资产清单;
- 漏洞信息;
- 权限信息。
这本身就是高敏能力。
所以必须限制:
Read Scope
Write Scope
Network
Secrets
Tenant
Environment
Approval
不要因为它叫“Security Agent”,就给管理员全权。
一个我会实际推进的 30 天计划
第 1 周:把资产找全
完成:
公网资产
代码仓库
云账户
高权限身份
关键依赖
Secret
先不追求完美。
先形成事实表。
第 2 周:定义 20 个安全不变量
不要写 200 条。
先写最关键的 20 条。
要求每一条都能回答:
怎么自动检查?
失败谁负责?
多久修?
第 3 周:让 AI 做“读和提议”
只允许:
扫描
分析
生成PR
生成配置Diff
不要直接生产修改。
第 4 周:挑 3 类低风险修复自动化
例如:
- 依赖补丁;
- 静态配置;
- 明确的代码规则。
验证误报和回滚。
再扩。
我反而不建议第一步做的事
不是一上来让 Agent:
自动扫描全公司
自动修复所有漏洞
原因是你可能连:
资产Owner是谁
哪些环境能改
哪些变更会停业务
都没整理清楚。
AI 会把执行速度放大。
治理没跟上时,速度越快,事故也可能越快。
最后
昨天那篇文章给我的核心信号不是“AI 网络攻击时代来了”这种大标题。
更实际的是:
技术债的安全折旧速度正在加快。
以前一个没人管的小问题可能躺几年。
以后,机器能更便宜地读代码、读配置、枚举资产、关联弱点。
防守方真正应该利用的窗口,就是趁同样的能力也开始普及,把那些“知道但一直没空修”的东西先清掉。
新安全时代最值得投入的,可能仍然是最老的几件事:
最小权限
资产清单
补丁
隔离
审计
安全发布
只不过现在,我们终于有机会让机器帮人把这些基础工作做得更快。
更多企业级 AI 应用、Agent、RAG 与模型工程化内容,我会继续整理在 智元界:
https://www.zyentor.com/