Interview AiBox logo

Interview AiBox 实时 AI 助手,让你自信应答每一场面试

立即体验 Interview AiBoxarrow_forward
1 分钟阅读Interview AI Team

Coding Agent 面试遇到 Prompt Injection:信任、权限与现场止损

Coding Agent 从 README、Issue 或测试日志读到恶意指令时,候选人怎样处理 Prompt Injection?本文用信任层级、最小权限、关键动作审批和事故收敛流程,教你区分任务授权与不可信内容,及时停工具、查影响、缩权限,并说明为什么一句更强 system prompt 远远不够。

  • sell安全
  • sell面试技巧
Coding Agent 面试遇到 Prompt Injection:信任、权限与现场止损

终端已经出现一条不该发生的结果: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 面试可以开放网络吗?

只有规则与任务明确需要时才开放,并限制目的地与用途,排除受保护数据,审批具体动作而不是一次性放开全部网络。

怀疑注入后应该怎样汇报?

说明内容来源、尝试动作、当时可用权限、已观察影响、收敛措施、恢复状态和仍未确认的部分,不要在证据不足时声称零影响。

参考来源

下一步

Interview AiBox logo

Interview AiBox — 面试搭档

不只是准备,更是实时陪练

Interview AiBox 在面试过程中提供实时屏幕提示、AI 模拟面试和智能复盘,让你每一次回答都更有信心。

分享文章

复制链接,或一键分享到常用平台

外部分享

继续阅读