事件经过
validate_generated_code 的 AST 检查器和 BLOCKED_PATTERNS 过滤器可以通过构造动态 getattr/__builtins__ 调用链来绕过,检查器无法模拟这些调用链。被接受的源代码会被写入磁盘,并以应用程序进程用户(默认容器中的 root)身份执行,输出通过 Server-Sent Events 返回。
影响分析
代理的意图是让 LLM 生成安全代码;此绕过允许任何已认证用户(或通过 CVE-2026-63377 成为攻击者所有的用户)在容器内以 root 身份运行任意代码,泄露 Okta API 令牌、JWT 密钥和 SQLite 数据库,并在代理主机内实现横向移动和持久化。
攻击途径
POST /api/react/execute-script 接收攻击者提供的 script_code 中的 Python,但验证器遗漏了 getattr/__builtins__ 动态调用链,且代码通过 asyncio.create_subprocess_exec 以容器用户(root)身份执行。
受影响系统
TAKO AI Agent for Okta 3.0.1-beta 之前版本
缓解措施
升级到 TAKO AI Agent for Okta 3.0.1-beta。修复提交:https://github.com/fctr-id/okta-ai-agent/commit/3b5ccaff8423cdfa6d26f5e133c01b8b71148df4