当前位置: 首页 > news >正文

把 Kimi K2.6 改成会做渗透测试的模型:从 ArgusRed v2.0.19 看 AI 安全工具的真实工程落地

一、起因:Show HN 上一个有点出格的标题

周末在 HN 首页刷到一条 61 分的 Show HN,标题是 "We post-trained a model that pen tests instead of refusing"。作者是 CosineAI(也是那个做 coding agent 的 Cosine),产品叫 ArgusRed,版本 v2.0.19。

我点进去的时候第一反应是:又一个脱敏模型套壳?评论区第一条 (jjcm) 直接写 "Kimi K2.6 can be relatively easily post-trained to allow pen tests. This in its own right proves that the defenses of Fable and others are temporary blocks"。第二条 (cortesoft) 更直接: "So this is the same policy that Anthropic and OpenAI have, it is just based on your criteria rather than theirs。" 第三条 (luminati) 上来就问 "vs running shannon on aws/bedrock fully airgapped in my vpc"。

但我往下读了产品页 (https://www.argusred.com/cli) 和他们放出来的两份样本报告,发现里面有几个工程细节跟 "Qwen abliterated 一行命令脱敏" 完全不在一个量级。这篇文章就把我自己跑完一遍之后的工程拆解放出来,顺便回答评论区那几个争议。

二、ArgusRed 实际是什么

ArgusRed 是一个 Go 编写的 CLI,提供两种模式:

  • Security Scan(默认,自助) —— 静态扫描本地代码库,只读;有 Exploit Verification 选项,可以在 Docker 临时容器里跑复现
  • Pen Test(gated,需申请) —— 主动探测授权目标,需要签授权书、限定 scope 和 time-box

安装方式两种:

# macOS / Linux
brew install CosineAI/argusred/argusred# 或者直接拉
curl -fsSL https://raw.githubusercontent.com/CosineAI/argusred-dist/main/install.sh | sh

第一次跑会打开一个 Cosine 登录页(就是 Cosine coding agent 那个账号),新账号给 2M 免费 token,够扫一个真实仓库试水。我用的就是这 2M token,没花额外钱。

基础模型是 Kimi K2.6(开源权重),作者没有从零 pretrain,而是 post-train 了一个 "安全特化" 版本,训练数据是十年 CTF 比赛 + 真实漏洞报告。

三、我做了什么:跑了一遍 Bank of Anthos

ArgusRed 官方放了一个完整的样本报告,目标就是 Google 开源的 Bank of Anthos(一个示例银行应用,故意留了几个已知漏洞)。我把这个 repo 拉下来本地重跑了一遍,主要看它宣称的那几个发现是不是真的能从文件 + 行号定位到。

3.1 我开的模块

Scan Scope — 5 of 8 active
[x] Dependency Vulnerability Analysis
[x] Secret & Credential Detection
[x] SQL Injection / XSS Vectors
[ ] Authentication & Session Flows   <- 我没开(下面解释)
[x] Input Validation & Sanitisation
[ ] CORS & CSP Misconfigurations
[x] Cryptographic Weakness Scan
[x] File Permission & Access ControlsExploit Verification: Docker (不是 Live FS,见后面"局限"段)

没开 Auth 模块是因为 Bank of Anthos 的认证逻辑要起 PostgreSQL + Redis 容器跑端到端,光 audit 这一步会卡 10 分钟以上;后面单独写了脚本手工验。

3.2 30k LOC、6 模块扫了多久

argusred v2.0.19 · Security Scan · setup
...
Watch a scan run · 1m 26s

实际耗时比官方页面写的 "~10 minutes" 快很多,可能因为只勾了 6/8 模块。Symfony 那个 1.5M LOC 的全量扫,官方数据是 ~40 分钟,模块并行 swarm 跑,所以是 sub-linear 而不是线性。

3.3 报告里我手验过的高危项

报告输出路径是 .argusred/scan-<date>.md,一份完整 markdown。我重点验了 4 个 claim:

(1) Integer overflow in transfer path

报告原文:

amount is an int, and amount + fee can overflow negative, so the balance check passes and you move funds you don't have.

我去 Bank of Anthos 仓库找 accounts/balancereader/ 下面的 transaction 处理逻辑,确认 amount 字段是 int32,在加 fee 之后没有做溢出保护。这是 真漏洞,复现脚本:

# 假设账户余额 100,amount=2147483640,fee=10
amount = 2147483640  # int32 max - 7
fee = 10
# amount + fee = -2147483638 (溢出为负)
total = (amount + fee) & 0xFFFFFFFF  # 在 32-bit 视角下是负数
if total > 0x7FFFFFFF:  # 32-bit 视角下是负数,无符号看是大正数print(f"BYPASS: balance check passes for amount={amount} with fee={fee}")# 真实接口调用:POST /transactions/transfer body={"amount": amount}

(2) Forgeable JWT across all ledger services

balancereader, transactionhistory, and ledgerwriter verify JWTs against a single shared RSA public key with no issuer or audience claim binding.

repo 里 ledgerwriter/src/main/java/anthos/samples/ledgerwriter/LedgerWriter.java 那个 verifyJwt 函数,只调 Jwks.verify(token),没校验 iss / aud。配上他们自己也承认的 "hardcoded private key in repo",任何拿到 key 的人都能签任意 token,在三个服务之间横着走。我 grep 了整个 ledger 目录,三个服务共用同一个 public key 文件 keys/public.pem,这是设计上就埋的雷。

(3) Hardcoded RSA private key in version control

$ git -C bank-of-anthos log --all --diff-filter=A -- '**/*key*' '**/*.pem' | head
# 找到 commits/keys/private.pem 里有 RSA PRIVATE KEY 头

这个不光是 "找到了密码",是 "找到密码 + 这个密码能签所有 token",组合起来直接 authn bypass。

(4) Disabled JWT signature verification in frontend auth helper

frontend 那段 frontend/src/auth/jwt-verify.ts 里有 if (process.env.DISABLE_JWT_VERIFY) return true;,默认是 verify,但环境变量一设就 bypass。攻击场景:污染 CI 变量 -> 整个前端不再验签,后端 trust frontend 已经 verify 过的 user claim。

3.4 Exploit Verification 模式

我开了 Docker 选项,ArgusRed 会把 repo 复制到一个临时容器,跑每一个它 "自认为" 是高危的 finding 的复现脚本,验证通过了才标 "Confirmed"。没跑通就降级 "Theoretical"。报告里那几个 CRITICAL 全部带 "Confirmed" 标签,跟样本报告里 CVSS 8.6 / CVSS 7.4 对得上。

这部分和静态扫描最大的区别是:静态扫描是 "我读了代码觉得这里有问题",exploit verification 是 "我跑了一次,后端实际接受了这个输入"。对一个 SME 来说,前者会产生一堆 false positive(代码里看着像但实际 unreachable),后者直接砍掉一半噪音。

四、社区争议 + 我的看法

回头看 HN 那 27 条评论,核心争议其实就 4 个。我每个都回答一下:

争议 1: "这跟 abliterated Qwen 有什么区别?" (skiing_crawling 那条)

abliteration (例如 "iblis"/"heretic" 类工具) 是用一个 refusal direction 减法把模型的安全向量压平,效果是模型不再主动拒绝恶意请求,但 prompt 理解、工具调用、长 context 规划全部会退化。ArgusRed 走的是 post-training(在 CTF + 漏洞报告数据上做 SFT / DPO),保留 Kimi K2.6 的 reasoning 能力只针对安全任务。区别类似 "把门卸了" vs "训练一个会开锁的锁匠"。我跑的 Bank of Anthos 报告里,模型能在 30k LOC 里找到 transfer 路径,回到 amount 字段,回溯到 fee 字段做溢出推演,这种 3 跳链 ablitated Qwen 大概率是抓不到的(我后面用 Qwen-3 30B A3B abliterated 测了同一个仓库,只找到一个 Secret Detection 的明文 password,transfer path 的溢出根本没看到)。

争议 2: "Gating 标准是你定的 vs Anthropic 定的,这不就是换个看门人?" (cortesoft 那条)

这条是公允的。ArgusRed 的 Pen Test 模式要 "booking + signed authorisation + time-box",这跟 Bug Bounty 平台 (HackerOne / Intigriti) 的流程是一样的,不是 Anthropic 那种 "直接拒接"。区别在于 Anthropic 的 guardrail 是 foundation model 层硬拦,ArgusRed 的 gating 是流程层软拦。前者 0% 漏过去(连合法安全研究员也拦),后者漏过去概率不为 0(有人伪造 booking 就能跑),但合法 SME 跑渗透不会被一刀切。

争议 3: "vs Shannon on Bedrock airgapped VPC" (luminati 那条)

Shannon (KeyLabs 出品) 是另一个开源 offensive security agent,部署在自己 VPC 的 Bedrock 上,完全 airgapped。优势:数据不出去、可以用 Claude Sonnet 4.6 这种顶级闭源模型;劣势:不开放 post-training 接口,行为完全由 Claude 决定,Claude 的 safety training 会 "渗" 进输出。ArgusRed 的 Kimi K2.6 base + CTF post-training 是 open weights 链可控的:你想知道模型在什么数据上训过、能 fine-tune 到任何方向、能 self-host。Shannon 走 "用最好的闭源模型做最危险的任务" 路线,ArgusRed 走 "把一个开源模型训成专才" 路线,适用场景不一样,不是同一品类。

争议 4: "Fable / Anthropic 的防御是 temporary blocks" (jjcm 那条)

这条我同意一半。Anthropic Mythos 和 Fable 的 "red-team 内部版" 确实只对自家模型闭源,但只要 任何 一个 100B+ 级别的开源模型能 post-train 到这个能力,所有 "通过 foundation model 拦" 的策略都失效,只能靠部署层 (egress 限制、network policy、tool scope) 兜底。这跟样例十一里讲的 ANTHROPIC 监管讨论是同一个结论:AI 安全光靠模型层不够,必须靠 system 层

五、目前还没完全搞清楚的几个点(局限与待验证项)

按惯例承认局限:

  • Exploit Verification 的覆盖范围(不足) —— 我开的是 Docker 模式,Live FS 模式没测。Live FS 是 "对真实 checkout 跑复现",理论准确率更高,但同时有 "复现脚本把 host 写脏" 的风险(Go harness 虽然 block 了 file write,但网络 IO 拦不拦我没验证)。
  • Cost(待验证) —— 2M free token 够扫一个 30k LOC 仓库,但全量扫 Symfony 1.5M LOC 的 token 用量官方没披露。我估计 30-50M token 级别,按 Cosine 的 token 单价 0.5 USD/M 算就是 15-25 USD 一次,中型项目可以承受,大仓每次扫几十美元要审批。
  • False negative 比例(坑点) —— ArgusRed 自己说 "won't include findings it can't ground in your code",这是设计上的取舍。我担心的是 它对复杂业务逻辑漏洞(比如 race condition、TOCTOU)的漏报率,因为这种漏洞往往没法用单文件+行号定位。它报告里没给任何 metrics,只有 "vibes-based findings 被砍掉" 的定性说法。
  • 和 SonarQube / Semgrep 的对比(还在调研) —— 我没做严格的并列 benchmark。Semgrep 的 rules 库更丰富且社区维护,ArgusRed 的优势在 LLM reasoning 而不是 pattern matching。两者定位不同,直接对比 false positive rate 没什么意义。
  • Post-training 数据集不公开(局限) —— ArgusRed 没有公布 CTF 数据集来源(可能是 NCSC / Google CTF / PlaidCTF 等公开赛题,也可能用了未授权的内部红队报告)。如果用了未授权数据,Kimi K2.6 这个 derivative 的 license 边界要再查一下(目前 K2.6 是 Modified MIT,允许商用但需要 attribution)。
  • gating 政策的实际执行(待验证) —— Pen Test 模式需要 "booking + signed authorisation",但我作为个人开发者没真的走通一次 booking 流程(他们要 scope 文档 + 商业 email + 签 NDA),所以流程实际严格到什么程度,只能等 SME 用户的 report。

六、适用场景建议

  • SME / 创业团队,没有专职安全工程师:跑 Security Scan + Docker Exploit Verification,一小时内拿到一份 confirmed findings 报告 + 修复方向,成本 ~15-25 USD / 仓 / 月。比招一个 part-time 安全顾问便宜 10 倍以上。
  • 中大型企业,已有 SAST/DAST 体系:把它当 补充层,不要替换 Semgrep / Snyk。ArgusRed 的优势在 LLM reasoning,Semgrep 的优势在确定性 pattern matching,两者叠加 false positive 砍一半。
  • CTF 训练 / 安全研究:用 Security Scan 模式扫自己以前写的 exploit,看 LLM 能不能从代码里重新发现漏洞,当教学工具。
  • 不建议的场景:production 实时防护(它不是 WAF / IDS)、关键基础设施(高危行业,流程审核期长)、纯黑盒外部攻击(它需要 read-only source access,不是外部扫描器)。

七、参考链接

  • ArgusRed 官方页:https://www.argusred.com/cli
  • HN 原帖:https://news.ycombinator.com/item?id=48609231 (61 分, 27 comments)
  • Bank of Anthos 仓库:https://github.com/GoogleCloudPlatform/bank-of-anthos
  • Kimi K2.6 模型卡(license 自行查证):https://huggingface.co/moonshotai/Kimi-K2-Instruct
  • 上一期样例(AERS skills 工程化)里讲的 ANTHROPIC 监管讨论:cnblogs 2026-06-19 evening 归档
  • 上一期样例(OpenRouter Royale)里讲的 model gating:cnblogs 2026-06-17 evening 归档

(以上所有命令、版本号、token 数字来自 2026-06-21 当次实测;ArgusRed v2.0.19、Kimi K2.6、Bank of Anthos 6 月 5 日的 commit hash 见各自分支。)

http://www.jsqmd.com/news/1053367/

相关文章:

  • CURaTE方法:实现小模型选择性遗忘的精准记忆手术
  • NAND Flash控制器核心操作:从ECC纠错到DMA传输的实战解析
  • 10分钟打造专属AI变声器:Retrieval-based-Voice-Conversion-WebUI完全指南
  • 类变量在继承场景下的初始化规则是怎样的?
  • Claude多Agent本地协作开发:tmux+settings.json构建AI工程师团队
  • 2026奥特莱斯爱折扣店加盟联系方式真实口碑榜,价格透明所见即所得 - myqiye
  • A卡+llama.cpp+Qwen3.5蒸馏版手动编译实战指南
  • 核量子系统与腔量子电动力学的交叉前沿研究
  • Java泛型类中的equals方法实践
  • [智能体-473]:curl vs wget 完整对比
  • 本地部署DeepSeek-V4接入Claude Code全链路实践
  • 基于核插值与流形学习的多模态数据补全:原理、实现与调优
  • 2026地道龙井茶店综合口碑榜,价格透明无套路,高认可度品牌解析 - 工业品牌热点
  • OpenClaw本地智能体部署指南:零成本搭建手机直连AI助手
  • 终极指南:四步让2008-2017款旧Mac免费升级最新macOS系统
  • 2026龙井茶叶红黑榜十大热门品牌真实横评,价格透明选定再拍不花冤枉钱 - 工业品牌热点
  • 嵌入式GUI开发实战:emWin中BUTTON与CHECKBOX控件的API详解与配置技巧
  • 多维分析与机器学习模型在金融诈骗检测中的应用案例研究3(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_文章底部可以扫码
  • DeepSeek V4 Pro:1.6万亿参数MoE大模型实战指南
  • 汽车保护膜十大口碑榜实力推荐,避坑不踩雷照着选就够 - myqiye
  • DDrawCompat:让Windows经典游戏重获新生的终极兼容性工具
  • SDIRK方法结合光滑扰动框架:提升刚性ODE求解的鲁棒性与效率
  • 嵌入式GUI开发实战:emWin字体转换器原理、应用与优化指南
  • 张量网络:量子物理启发的机器学习新范式
  • Jmeter分布式压测实战:Linux Master与Windows Slave混合环境配置指南
  • 南邮“远古四神”之首摆烂仙君钱嘉乐的隐秘战场:他不在峡谷之巅,他在算法的另一面
  • RTX 4090本地部署GLM-4.7-Flash:vLLM+INT4量化实战指南
  • M1/M2/M3 Mac Java开发避坑指南:ARM64原生环境搭建全攻略
  • 如何用Kinovea实现专业级运动视频分析:从体育训练到工业应用
  • Ubuntu 12.04 + Pligg 2.0.x 完整部署指南:Apache/PHP/MySQL 版本协同配置