腾讯面试官问:Claude Code 自动跑命令还不删库,内部怎么实现的?

一、面试现场

面试官提问

“让 Claude Code 自己跑命令,怎么防它删库?”

腾讯 Agent 安全面。面试官:你让 agent 自动改代码、跑 shell,万一它来个 rm -rf 怎么办?候选人:让它别乱跑就行……

面试官追问:怎么「让」?写在提示里它就一定听?——这题看似问安全意识,实考你能不能区分「模型自觉」和「执行前的硬门」:前者是 advisory,模型可能忽略或被绕;后者是工具执行前一道确定性的关卡,副作用动作不过门就跑不了。安全不能赌模型自觉

**直接回答:**靠工具执行前的权限门 + 模式分级,不是靠模型自觉。

二、大多数人怎么答的

典型翻车回答

“我在系统提示里写"不要执行危险命令"就行了。”

这是把安全交给概率。系统提示是 advisory,模型可能忽略、可能被一句巧妙的指令绕过、长会话压缩后那条规则还可能被丢。把绝不删库写进提示,顶多降低概率,给不了保证。

安全边界必须是执行前的确定性硬门:模型只是请求调工具,真正执不执行由 harness 在门口判定的请求 vs 执行分界)。我认为:凡是出事就糟的动作,都不能放在模型决策面,必须落到执行前的硬门上。

三、权限门怎么挡住一次删库

权限系统的核心就一句话:副作用动作在执行前过门。下面拆这道门怎么设、模式怎么分、被拒之后该干嘛——会冒出 default、acceptEdits 这几个模式名,别紧张,它们就是给 agent 调的信任档位,下面逐个解释。

① 门挡在执行前,不是事后报警

模型发起 tool_use 只是请求,harness 在真正执行前过门:只读工具(Read/Grep)默认放行,副作用工具(Write/Edit/Bash)按规则判定——allow 直接跑、ask 弹给用户确认、deny 拒绝。关键在于:rm -rf 必须在跑之前拦,跑完再报警没意义(呼应第 8 课 hook 时机)。

**违反后果:**把安全检查放到执行后,危险命令已经造成破坏,门形同虚设。

② 模式 = 给 agent 的信任档位

Claude Code 的权限模式(截至 2026-06):default(风险动作逐个确认)、acceptEdits(文件编辑免问、危险命令仍拦)、plan(只读、只出计划不动手,接第 11 课)、bypassPermissions(全放行,仅可信/隔离环境)。模式就是你给 agent 调的信任档位,越信任越少打断、风险也越高。

**违反后果:**全程开 bypass 图省事,等于把信任档位拉满,agent 一旦判断失误没有任何兜底。

③ 颗粒度:allowlist + denylist 把全问降成只问该问的

不要么全问么全放。把已知安全的(git status、ls)加 allowlist 自动放行,把危险的(rm -rf /、git push --force、chmod -R 777)加 denylist 永久拦,剩下拿不准的才 ask。这样既不被确认弹窗烦死,又不失控。被 deny 的调用要把为什么拒喂回模型,让它换方案而不是直接崩。

**违反后果:**规则只有粗档位、没有名单,要么每条命令都弹确认烦到关掉、要么一刀全放失去控制。

**我的优先顺序:**先把「副作用执行前过门」焊死(决定安全底线),再用 allow/deny 名单调颗粒度(决定好不好用),最后才谈模式默认值。把顺序倒过来、先图省事开 bypass,等于先拆了安全带再上路。

四、面试官追问链

追问 1

“全程 bypass 最省事,为什么不推荐?什么时候才用?”

因为它把信任档位拉满、没有任何兜底——agent 一次判断失误就可能不可逆。它只适合隔离、可丢弃的环境(一次性容器、沙箱),那里搞砸也没代价。本机、生产、有真实数据的地方,默认该用 default 或 acceptEdits,在效率和安全之间留一道门。

追问 2

“每个命令都弹确认烦死了,怎么减少打断又不失控?”

靠名单做颗粒度。把高频且安全的操作加 allowlist 自动放行(你不会想为每个 git status 点确认),把明确危险的加 denylist 直接拦,中间地带才 ask。我认为确认疲劳是权限系统第二大坑(第一是事后才拦)——弹窗太多,用户会习惯性狂点 yes,门就名存实亡了。颗粒度对了,确认才有意义。

追问 3

“权限门和 Hooks 都能拦工具,差在哪?”

分工不同。权限门是 agent 内建的 allow/ask/deny 决策,是粗粒度开关;Hooks(第 8 课)是可编程的事件钩子,能在 PreToolUse 跑任意脚本做更复杂判断、还能注入上下文、记日志。简单黑白名单用权限门,需要跑个脚本查一下再决定就用 hook。两者叠加:门做基础放行,hook 做定制拦截。

五、给你的 agent 加权限门

自造 agent 一旦能改文件、跑命令,权限门就是必加件。下面四步给你一道能用的门。

STEP 1 · 把工具分类(只读 / 副作用)

只读工具默认放行,副作用工具(写、删、跑命令、发请求)必须过门。

↳ 关键:分类清楚,门才知道挡谁。

STEP 2 · 定模式档位

给 agent 几个信任档:逐个确认 / 编辑免问 / 只读规划 / 全放行(仅隔离环境)。

↳ 关键:默认别给最高档。

STEP 3 · 写 allow / deny 名单

高频安全操作进 allowlist,明确危险操作进 denylist,按命令名 + 参数模式匹配。

↳ 关键:减少确认疲劳,又守住红线。

STEP 4 · deny 要把理由回灌

拒绝时把为什么拒喂回模型,让它换方案,而不是让 agent 崩在门口。

↳ 关键:拒绝是反馈,不是终点。

**↳ 一句话验收:**判断权限门设计得行不行,问一句——**一条 rm -rf / 走到门口,是被自动拦下并让模型换路,还是已经跑完了才报警?**前者门才算门;后者只是块写着请勿删库的牌子。

六、本课总结

一句话总结

让 agent 自动又不闯祸,靠的是工具执行前那道权限门 + 模式分级——不是把别删库写进提示赌模型自觉;副作用动作过门、危险命令前置拦截、被拒要回灌理由让它换路。

面试锦囊

**先说:**先立场:安全不能靠模型自觉(提示是 advisory),必须是工具执行前的确定性硬门。模型只请求、harness 在门口判执行。

**再说:**三件事:门挡在执行前(不是事后报警)、模式分信任档(default/acceptEdits/plan/bypass)、allow+deny 名单调颗粒度防确认疲劳。

**最后补:**关键在于:权限门是内建黑白名单、Hooks 是可编程拦截,两者叠加用;bypass 只在隔离环境用;deny 把理由回灌让模型换方案。

学AI大模型的正确顺序,千万不要搞错了

🤔2026年AI风口已来!各行各业的AI渗透肉眼可见,超多公司要么转型做AI相关产品,要么高薪挖AI技术人才,机遇直接摆在眼前!

有往AI方向发展,或者本身有后端编程基础的朋友,直接冲AI大模型应用开发转岗超合适!

就算暂时不打算转岗,了解大模型、RAG、Prompt、Agent这些热门概念,能上手做简单项目,也绝对是求职加分王🔋

在这里插入图片描述

📝给大家整理了超全最新的AI大模型应用开发学习清单和资料,手把手帮你快速入门!👇👇

学习路线:

✅大模型基础认知—大模型核心原理、发展历程、主流模型(GPT、文心一言等)特点解析
✅核心技术模块—RAG检索增强生成、Prompt工程实战、Agent智能体开发逻辑
✅开发基础能力—Python进阶、API接口调用、大模型开发框架(LangChain等)实操
✅应用场景开发—智能问答系统、企业知识库、AIGC内容生成工具、行业定制化大模型应用
✅项目落地流程—需求拆解、技术选型、模型调优、测试上线、运维迭代
✅面试求职冲刺—岗位JD解析、简历AI项目包装、高频面试题汇总、模拟面经

以上6大模块,看似清晰好上手,实则每个部分都有扎实的核心内容需要吃透!

我把大模型的学习全流程已经整理📚好了!抓住AI时代风口,轻松解锁职业新可能,希望大家都能把握机遇,实现薪资/职业跃迁~

这份完整版的大模型 AI 学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值