Snyk工程师Silverman解析MCP安全:区分恶意工具描述与代码漏洞,演示Figma注入攻击
Snyk的Micah Silverman在AI Engineer会议上讲解AI安全工程基础。他通过Figma MCP服务器的命令注入案例,展示了如何区分恶意工具描述与普通代码漏洞,并强调将控制从系统提示移至架构约束(如受限数据库视图)的重要性。
Snyk的安全工程师Micah Silverman在AI Engineer会议的视频课程中,详细阐述了AI应用安全的核心机制。他使用一个学生聊天机器人作为“夺旗”练习的案例,指出当模型拒绝透露成绩时,这种拒绝本身暴露了它有权访问这些数据。Silverman借此说明,仅靠系统提示要求助手保密并不能真正保护数据,因为数据仍在模型的可用上下文中;而通过限制数据库视图等架构手段,才能从根本上移除模型对敏感数据的访问权限。
针对当前热门的模型上下文协议(MCP),Silverman提出了具体的安全分析方法。他区分了“恶意工具描述”与“普通代码漏洞”,并建议将代理扫描与依赖项及源代码分析相结合。为了说明这一区别的实际影响,他引用了一个Figma MCP服务器中的命令注入案例。该案例展示了攻击者如何利用工具定义中的指令执行未授权操作,这不同于传统的代码逻辑错误,而是利用了AI代理对工具描述的信任边界。
课程还涵盖了OWASP风险、影子AI、威胁建模和红色团队测试等内容。Silverman通过EVO平台的实时演示,展示了如何清点模型、数据集和MCP服务器,并通过添加策略立即标记项目中已存在的禁用模型。他将这种清单扩展到提议的构建门控,并审查了当提示、检索内容和生成输出跨越信任边界时,威胁建模应如何调整。对于从事智能体开发的工程师而言,这一方法论提供了从应用安全传统控制向AI特定风险过渡的具体路径。