Interview AiBoxInterview AiBox 实时 AI 助手,让你自信应答每一场面试
Coding Agent 面试遇到 Prompt Injection:信任、权限与现场止损
Coding Agent 从 README、Issue 或测试日志读到恶意指令时,候选人怎样处理 Prompt Injection?本文用信任层级、最小权限、关键动作审批和事故收敛流程,教你区分任务授权与不可信内容,及时停工具、查影响、缩权限,并说明为什么一句更强 system prompt 远远不够。
- sell安全
- sell面试技巧

终端已经出现一条不该发生的结果:Agent 在只要求修改本地配置解析器的面试题里,改动了 CI 发布配置,并向外部制品服务发起了上传请求。此时再讨论“哪句 Prompt 写坏了”太早。面试官先看你会不会停下正在扩大的事故,再看你是否有能力还原信任与权限是怎样失守的。
Prompt Injection 在 Coding Agent 场景里首先是权限与信任问题。OWASP 明确讨论了通过外部内容进入模型上下文的间接注入,GitHub 也要求使用者审查与验证 Agent 输出。没有一层控制能保证永不成功,面试真正要看的是你能否先控制影响,再从证据回到根因。
可疑动作已经发生,第一步是停止扩散
先暂停 Agent,终止仍在运行的工具调用,并撤掉可能继续扩大影响的网络、写入、Secret、发布与部署能力。不要让 Agent 一边解释自己的行为,一边继续拥有完成同类动作的权限。
随后冻结现场:保留命令请求、工具返回、相关日志、工作树状态和外部服务回执。证据必须留在被允许的环境里,不能为了复盘把私有代码、凭证或面试材料复制到个人设备。
这一步的目标不是立刻证明攻击来源,而是让影响停止增长。即使你怀疑只是误操作,也要先按真实高后果动作处理,直到证据能把风险降下来。
先查影响范围,不要先猜哪段文字有毒
调查顺序应围绕已经发生的效果。
先确认上传请求是否真正发送、目标是否为批准的服务、是否产生了可见制品。再看哪些文件被修改,CI 或安全检查是否被关闭,发布配置是否改变,凭证是否被读取或使用,以及当前工作区还能不能被信任。
把“观察到的事实”和“尚未确认的风险”分开。例如:“日志显示外部请求已发出,但当前还不知道服务端是否接受;Diff 显示发布配置被改动;没有证据证明其他目录被读取。”这种表述比一句“应该没泄露”可靠。
本地恢复也不能抹掉外部后果。撤回一份 Diff 不会自动删除已经上传的制品;恢复配置不会让用过的凭证重新安全。外部动作需要在对应系统里隔离、撤销或轮换,并保留处理结果。
从已知可信边界恢复,再决定能否继续面试任务
影响确认后,先把环境恢复到已知好状态。撤销未经批准的 CI 改动,隔离或删除可疑制品,按批准流程撤销或轮换可能暴露的凭证,并重新检查工作树、测试配置和安全控制。
然后重新声明原任务:只修改配置解析器,只运行仓库已有本地测试,不需要外部发布。后续执行使用新的、收窄的工具会话,避免让已经混入可疑上下文的会话继续工作。
如果无法确认外部效果、凭证状态或工作区完整性,就应明确暂停,而不是为了赶面试时间假装已经恢复。事故响应里的诚实边界,本身就是工程判断信号。
事故收住以后,再倒查谁被当成了指令源
现在才回到上下文。调查发现 Agent 在阅读一个旧 Issue 评论时,把“发布预览制品以便他人检查”当成了当前任务要求。评论可能是历史建议,也可能是恶意内容;无论哪种,它都没有获得改变本次面试目标的授权。
倒查时问三件事:这段内容来自哪里;该来源是否有权改变当前目标;它要求的动作是否与面试题、数据规则和工具边界一致。普通 README、Issue、日志、网页和工具返回可以提供事实,但不能因为被 Agent 读到,就静默升级成控制命令。
不要靠“上传”“忽略”“关闭”等敏感词判断权威。合法文档也会出现这些词,攻击表达也可以换写法。更稳定的方法是让授权任务、审批结果与低信任内容保持明确层级。
真正需要追问的是:它为什么拥有发布能力
低信任文字能够变成事故,是因为 Agent 不仅误解了内容,还拿到了足以执行外部动作的能力。一个只需改本地解析器的任务,本不应默认拥有 CI 写入、制品发布和凭证访问权限。
权限要跟任务阶段绑定:探索阶段只读必要目录;实现阶段只写预期文件;验证阶段只运行批准的本地命令。网络、Secret、消息、部署、发布和破坏性动作默认关闭,确有需要时再审批具体目标、数据和可逆性。
Coding Agent 权限门指南 展示了怎样在高后果动作前核对目标、范围、外部效果与验证回执。审批不是看到弹窗就点允许,而是低信任建议与真实权限相遇时的责任边界。
重跑任务时,把能力压缩到最小闭环
恢复后的安全路径不需要更复杂。重新给 Agent 的任务可以限定为:读取解析器与相关测试,修改这两个预期文件,运行指定本地测试,返回 Diff;禁止改 CI,禁止联网,禁止读取发布凭证。
工具能力也要分离。读取外部内容的工具不应自动继承私有仓库和凭证;能运行测试不等于能部署;查看公共依赖信息也不应携带私有源码。最终 Review 还要检查是否出现新外部地址、配置降级、断言削弱或超范围文件。
Harness Engineering Guardrails 指南 可以继续帮助你理解 Sandbox、审批与隔离。关键不是控制名词有多少,而是每项能力是否能对应当前最小动作,并留下可检查结果。
最后才回答“怎样预防下一次”
面试官若问是否加一句更强的 system prompt 就够了,答案是否定的。System prompt 可以声明规则,却不能独立强制工具权限;输入清洗无法穷举所有表达;Sandbox 只能限制一部分影响;人工审批如果不检查目标和数据,也会退化成形式。
成熟方案必须分层:来源分离判断谁有权发指令;最小权限降低误判后的行动能力;关键审批阻止静默升级;输出与 Diff 验证检查实际效果;日志、可信恢复点和外部处置负责事故已经发生后的收口。
六十秒回答可以这样组织:“我先停止 Agent 和外部动作,撤掉发布相关权限,保留日志与工作树,确认请求、文件、凭证和制品影响;从可信边界恢复后,再追到旧 Issue 评论被错误当成当前指令。原任务只需本地读写与测试,发布权限不应存在。重跑时我会分离低信任内容、限制工具能力,并在任何外部动作前审批具体目标。System prompt、清洗和 Sandbox 都只是分层降险,不能承诺完全阻断。”
AI 面试工具数据安全指南 可以继续帮助你检查存储、传输与保留路径。Interview AiBox 适合在准备阶段模拟事故追问和复盘遗漏步骤,但不能替代目标公司的安全政策与真实环境控制。
常见问题
仓库内容是不是都不可信?
不是说仓库一定恶意,而是普通文件和评论不能因为被 Agent 读取,就自动获得覆盖面试任务或扩大权限的权力。
输入清洗能解决间接 Prompt Injection 吗?
只能降低部分风险。还要配合来源分离、最小权限、关键审批、输出验证、监控和恢复。
Coding Agent 面试可以开放网络吗?
只有规则与任务明确需要时才开放,并限制目的地与用途,排除受保护数据,审批具体动作而不是一次性放开全部网络。
怀疑注入后应该怎样汇报?
说明内容来源、尝试动作、当时可用权限、已观察影响、收敛措施、恢复状态和仍未确认的部分,不要在证据不足时声称零影响。
参考来源
- OWASP:LLM Prompt Injection Prevention Cheat Sheet
- GitHub Docs:Responsible use of Copilot coding agent
下一步
- 查看 Interview AiBox 功能全景
- 通过 产品路线图 了解工作流改进
- 把权限与保密边界延伸到 AI-assisted Take-home 来源记录
- 下载 Interview AiBox
Interview AiBoxInterview AiBox — 面试搭档
不只是准备,更是实时陪练
Interview AiBox 在面试过程中提供实时屏幕提示、AI 模拟面试和智能复盘,让你每一次回答都更有信心。
AI 助读
一键发送到常用 AI
智能总结
深度解读
考点定位
思路启发
分享文章
复制链接,或一键分享到常用平台

