用途:在 Flows 应用中查找并修复安全问题,适用于修复安全缺陷,或在发布任何处理凭据、用户输入、外部数据的功能之前使用。可传入参数指定范围,未传参则检查整个应用。每一步发现的问题都需同时修复。
主要能力与流程:
- 梳理攻击面:阅读入口、路由与鉴权文件、vite.config.ts、package.json 及 auth/login/token/credential 相关文件,识别路由是否受鉴权保护、外部数据入口与写回点。
- 将所有 CDF 访问迁移到 Cognite SDK:用 grep 查找 fetch、axios、XMLHttpRequest 等原始 HTTP 调用及 CDF 端点、自定义 Authorization/api-key 头,改写为 SDK 方法,移除不再使用的导入。非 CDF 的静态资源或已文档化的第三方 API 调用可保留并加注释。
- 凭据与密钥卫生:查找硬编码的 password、secret、apikey、token 等,替换为 import.meta.env.VITE_* 环境变量,更新 .env.example,确保 .env 与 .env.local 在 .gitignore 中,移除打印令牌或密钥的日志。
- 危险 DOM API:查找 dangerouslySetInnerHTML、innerHTML、eval、new Function、字符串形式 setTimeout/setInterval,使用 DOMPurify 净化,改用数据驱动方式或函数引用。
- 鉴权与授权缺口:展示 CDF 数据的路由须置于 Flows 鉴权守卫之后,CDF 客户端应使用短期 OIDC 令牌而非静态 API 密钥,角色检查应在服务端(CDF ACL)完成;Atlas/agent 优先使用 EOS 侧边栏,校验工具参数,避免第三方 LLM API 处理 CDF 数据。
- 输入校验:对表单、URL 参数、查询字符串等外部输入使用 Zod 的 safeParse 做运行时校验,替换类型断言,处理参数缺失。
- Vite/服务端配置:补充 Content-Security-Policy、X-Frame-Options、X-Content-Type-Options 等安全头,移除嵌入密钥的 define 项,确认开发代理不会在生产暴露内部端点。
- 依赖漏洞:运行 pnpm audit --audit-level=high,先 pnpm audit fix,再手动升级剩余高危包,无修复方案的记录为已知风险。
- 报告:汇总各步骤已修复项与无法自动修复、需人工判断的问题,部署前需立即处理的事项需明确列出。
限制:资料未提供该技能的具体安装方式、收费、价格、支持平台或效果数据;部分修复依赖项目实际结构,需人工判断架构性缺口。