@tereza_tizkova: 我们的秘密扫描会检查代码中以意外方式提交的凭据(API密钥、密码、令牌)。当然,这容易……

X AI KOLs Following 模型

摘要

对Qwen 3.6 35B A3B微调了两个小型LoRA适配器,通过捕获误报和漏报来改进秘密扫描,击败了GPT-5.5和Opus 4.8等更大模型。

我们的秘密扫描会检查代码中以意外方式提交的凭据(API密钥、密码、令牌)。 当然,这容易遗漏秘密或将安全代码标记为风险。因此,我们对两个小型LoRA适配器(Qwen 3.6 35B A3B)进行了微调,以捕获扫描中的误报和漏报。两者在我们的仓库级别保留集上都击败了GPT-5.5和Opus 4.8。 在@huggingface上开放权重: ‣ Risk: http://huggingface.co/factoryai/shield-risk-r16-c15… ‣ Downgrade: http://huggingface.co/factoryai/shield-dg-r64-c15…
查看原文
查看缓存全文

缓存时间: 2026/07/02 02:17

我们的秘密扫描会检查代码中是否有意外提交的凭据(API密钥、密码、令牌)。这当然容易遗漏机密或将安全代码标记为风险。因此,我们对两个小型LoRA适配器(Qwen 3.6 35B A3B)进行了微调,以捕获扫描中的假阳性和假阴性。两者在我们的仓库级保留集上均超越了GPT-5.5和Opus 4.8。在@huggingface上开放权重:‣ Risk: http://huggingface.co/factoryai/shield-risk-r16-c15… ‣ Downgrade: http://huggingface.co/factoryai/shield-dg-r64-c15…

factoryai/shield-risk-r16-c15 · Hugging Face 来源:https://huggingface.co/factoryai/shield-risk-r16-c15

https://huggingface.co/factoryai/shield-risk-r16-c15#droid-shield—risk-missed-secret-fallback

Droid Shield - 风险(遗漏机密回退)标记确定性扫描器遗漏的可能机密(假阴性)。此仓库包含用于 Qwen/Qwen3.6-35B-A3B (https://huggingface.co/Qwen/Qwen3.6-35B-A3B) 的 PEFT LoRA(r=16, alpha=32),由 Droid Shield 2.0 使用。它针对基础文本塔,必须应用于基础权重之上;它不是独立模型。

https://huggingface.co/factoryai/shield-risk-r16-c15#the-contract

这适配器是针对精确的提示和输入/输出模式进行训练的。发送其他内容可能会使其性能静默下降。以下三个部分都是训练模型协议的一部分。

https://huggingface.co/factoryai/shield-risk-r16-c15#1-system-message

  1. 系统消息 将 system-prompt.txt (https://huggingface.co/factoryai/shield-risk-r16-c15/blob/main/system-prompt.txt) 的内容逐字发送作为系统消息。确切的字节很重要。
  • sha256(system-prompt.txt) = d475080b8357748aa5c18853cb89b528a85547dae8df07559ae94bf58fcaa164 注意:附带的系统提示特意提到了“Droid Shield”,因为这些适配器是为 Factory 的 Droid Shield 工作流训练的。重新调整适配器用途的客户可能需要不同的品牌或框架;验证任何提示编辑,因为更改训练协议可能会改变得分。

https://huggingface.co/factoryai/shield-risk-r16-c15#2-user-message

  1. 用户消息 单个 JSON 对象,序列化为缩进2空格的漂亮 JSON,保留非 ASCII 字符(规范形式:JS JSON.stringify(value, null, 2)),包含以下键:
  • extension:文件扩展名
  • lines:源代码行的有序小窗口
  • focus_linelines 中候选行的零基索引

https://huggingface.co/factoryai/shield-risk-r16-c15#3-assistant-output

  1. 助手输出 严格 JSON,判决首先,没有思考/推理文本:{"verdict": "S", "reason": "short natural-language reason grounded in the input"} verdict 精确为以下之一:
  • S:没有可处理的遗漏机密风险(安全占位符、测试、文档或公共标识符)
  • B:可能是正则表达式遗漏的真实凭据;警告用户可能存在假阴性

https://huggingface.co/factoryai/shield-risk-r16-c15#decoding-requirements

解码要求

  • 确定性:贪心 / temperature = 0do_sample = false)。附带的 generation_config.json 因此设置为贪心。
  • 无思考:训练目标不包含任何 区块。捆绑的聊天模板默认打开思考回合,因此您必须禁用它(使用捆绑模板时,传递 `enable_thinking=False`)。助手回合必须以没有打开的 区块开始,以便模型直接输出判决 JSON;否则,判决优先的协议和对数概率得分会失效。
  • 约束输出{verdict, reason} 对象(强烈建议使用 JSON 模式或语法约束解码)。
  • 得分:校准信号是从判决位置的分词对数概率中读取的 P(B),在两个判决分词上重新归一化:P(B) = exp(logprob_B) / (exp(logprob_S) + exp(logprob_B))。请求该分词的 top-2 对数概率。两个任务都按 P(B) = “视为真实机密” 排序。

https://huggingface.co/factoryai/shield-risk-r16-c15#operating-point

操作点 适配器输出概率;决策阈值不是内置的。它在下游选择并冻结在保留数据划分上:

  • 有利于召回率。下游选择在假阳性率上限(Wilson 上置信界)下最大化召回率的阈值,在保留数据划分上选择然后冻结。

https://huggingface.co/factoryai/shield-risk-r16-c15#loading

加载 这是一个标准的 PEFT LoRA(fw_lora_layout: hf_peft_v1),其目标模块与基础文本塔匹配,因此它可以加载任何支持在 Qwen/Qwen3.6-35B-A3B 之上使用 PEFT LoRA 的堆栈(例如 transformers + peft, vLLM, TGI, Fireworks)。然后按照上面的协议驱动:system-prompt.txt 作为系统消息,JSON 用户消息,贪心解码,关闭思考。两个需要注意的点:

  • 基础是一个多模态的 Qwen3_5MoeForConditionalGeneration 架构,因此加载完整的基础模型并在其上应用适配器;LoRA 只触及语言塔。
  • 运行时需要一个足够新的架构来识别 qwen3_5_moe(例如,transformers >= 4.57)。

https://huggingface.co/factoryai/shield-risk-r16-c15#provenance–license

来源与许可

  • 基础模型:Qwen/Qwen3.6-35B-A3B(Fireworks 训练基础 qwen3p6-35b-a3b)。
  • 训练/评估流程位于 factory 单体仓库的 finetune/ 目录下。
  • 此适配器继承基础模型的许可,并作为 Factory 工件发布。

Factory (@FactoryAI): 介绍 Droid Shield 2.0:学习型机密检测,实现更安全的规模化自主工程。

相似文章