核心能力
- 大模型驱动: 模型不再靠正则匹配”看起来像漏洞的形状”,而是读懂代码本身——一个字段是不是攻击者可控、一次调用是否真的到达危险汇聚点、团队自研的工具方法是否真的防住了。
- 多 Agent 交叉验证: 每个结论都会经过多个 Agent 从不同角度反复质疑、相互印证再呈现给你,用以压低误报、稳住召回。
- 分层设计: 编码时跑快检查,任务收尾时做语义级增量扫描,推送前做跨文件数据流分析,一条命令即可发起整仓审计。
三层如何协同
安全与速度常常相悖:扫得深就慢,扫得快就浅。分层设计的意义在于把不同强度的检测放到不同时机上——该快的时候快、该深的时候深。
从边写代码边挡,到改动后即时复查,再到推送前的深度审查、按需的整仓扫描——安全成为长在每一次敲键盘、每一次提交里的默认能力。
打开代码安全
- 打开 Qoder,进入 设置。
- 左侧导航选择 安全。
- 在 扫描层级 下确认 静态检查(L1)、轻量扫描(L2)、深度扫描(L3) 三个开关的状态。
Credits 预估
L2 / L3 扫描会消耗 Credits,Credits 耗尽后扫描会被阻塞;L1 静态检查免费。额度与计费详情见 Credits。 参考消耗(基于内部测试数据统计,具体受到代码逻辑复杂度、漏洞数量等多重因素影响,以实际消耗为准):- 轻量扫描(L2):约 5 个 Qoder Credit / 500 行代码
- 深度扫描(L3):约 20 个 Qoder Credit / 500 行代码
分层扫描
静态检查(L1)
面向本轮任务生成的代码。 基于高危模式匹配,即时发现危险函数调用等常见风险并自动修复。- 触发时机:会话中每一次代码写入动作后自动执行,无需手动触发,也无需任何确认。
- 反馈形式:命中信息在当前会话流中就地展示。结果会直接回流到会话上下文,由模型在下一轮改动里处理。
- 适用场景:日常的 AI 生成代码流程。模型可能悄悄用上
eval()、把真实密钥写入配置——L1 是常开的底线,用来避免这些”一眼可疑”的写法真正落到文件里。
轻量扫描(L2)
面向增量代码。 深入理解代码语义,精准识别 SQL 注入、远程命令执行、敏感信息泄露等安全风险。-
触发时机:推荐在单个编码任务快完成时扫描,Qoder 会在会话流中适时推荐:
扫一扫,检测代码安全隐患
点击后自动填充:你也可以自己敲这条命令,或者用自然语言描述(如”帮我做一次轻量扫描”、“检查一下这段改动有没有风险”)。不想扫直接忽略卡片即可,其余流程不受影响。 - 原理示例:一段刚写好的代码把请求参数直接拼进要执行的系统命令。L2 会同时读懂”这个参数用户可控”和”这个调用真的会执行命令”,从而判定命令注入——正则扫描器搭不起这两点之间的桥。
- 反馈形式:问题位置、风险描述、修复建议在会话中直接展示,右侧 审查 面板同步呈现改动。
- 适用场景:抓改动收尾时的风险——刚拼好的 SQL 字符串、刚传给 shell 的请求参数、悄悄写进配置的 API Key。
深度扫描(L3)
面向增量代码,跨文件、跨函数追踪完整数据流。 挖掘单文件视角看不到的隐藏关联漏洞,分析更全面。- 触发时机:通常在提交 / 推送前由模型决定推荐执行。当识别到推送意图时,会先弹出一张询问卡片,确认是否做一次安全扫描;若你已明确要扫描,则直接执行,不再询问。
- 其他入口:Quest 窗口的 提交 下拉菜单,L3 开启时会显示 扫描并推送 入口——点击自动填充
/security-scan 帮我执行深度扫描并推送。 - 原理示例:一个外部参数跨文件流向 SQL 拼接,中途经过团队自研的净化函数,L3 会读进该方法的实现,发现它只过滤了单引号,而参数拼进的是
order by子句——在这个位置单引号过滤不起作用,于是判定注入依然成立。 - 反馈形式:扫描结果在会话流中展示,具体形式由模型决定,通常包含风险级别、位置、说明与修复建议;必要时会跟一张询问卡片,由 Agent 落地修复,或跳过。
- 适用场景:代码离开本机前的最后一道关。L3 擅长处理”单文件看是安全的、连起来才有问题”的那一类——穿过自研净化函数的 SQL 注入链路、跨越编解码边界的路径穿越、要跨好几个文件才成立的污点传播。
全量扫描
面向整仓审计。 在聊天里把两个斜杠命令串起来用——/security-scan 跑扫描,/canvas 把结果渲染成可视化报告:
全量扫描面向整仓运行,耗时与 Credits 消耗都可能较大;单次
/security-scan 最多支持 1 万行代码,超过请按目录或提交区间拆分。主动扫描
除了自动触发和全量扫描,你也可以随时自己发起一次范围更窄的扫描。-
斜杠命令:在聊天里输入
/security-scan并描述需求,例如: - 自然语言:如”帮我做代码安全扫描”、“检查代码是否有风险”、“帮我执行深度扫描”、“扫描 mydir 目录下的文件”——Agent 会将这些表述映射到对应的范围和层级。