Show HN:我们微调出能执行渗透测试而非拒绝代码的模型
速览
该资讯介绍了一款经过后训练(post-training)的AI模型,其核心特性是能够执行渗透测试任务,而非像传统模型那样拒绝处理相关代码请求。这一工具旨在为安全研究人员提供自动化辅助,提升代码审计与漏洞发现的效率。
AI 深度解读
Show HN: 我们微调了一个专门进行渗透测试而非拒绝代码的模型
来源:Hacker News 项目:Cosine (CosineAI)
背景
在当前的 AI 安全领域,通用大语言模型(LLM)通常被设计为“拒绝”执行潜在的恶意或高风险操作。这种安全对齐(Safety Alignment)虽然防止了滥用,但也导致这些模型无法胜任需要主动攻击性思维的安全工作,例如代码审计或渗透测试。如果一款安全扫描工具因为模型拒绝“思考”如何攻击代码而忽略漏洞,那么它实际上并不具备真正的安全检测能力。
Cosine 团队推出了一款名为 cos 的命令行工具(CLI),旨在解决这一矛盾。他们并未使用现成的 API 包装器,而是对模型进行了专门的后训练(Post-training),使其具备 offensive security(进攻性安全)的能力。该工具分为两种模式:Security Scan(安全扫描)和 Pen Test(渗透测试),通过底层的安全护栏(Go Harness)来确保操作的可控性,而非依赖模型自身的“意愿”来拒绝或执行。
核心内容
1. 产品架构与安装
cos 是一个本地运行的 CLI 工具,支持 macOS (brew/curl) 和 Windows (winget)。
- 订阅模式:安装免费,但运行扫描需要 $20/月的 Cosine 订阅(与 Cosine 编码代理共用账号)。
- 本地执行:二进制文件在本地运行,用户可以在防火墙后使用
tcpdump监控其网络行为,以建立信任。 - 非开源:该二进制文件并非开源,但强调其内部运行逻辑与用户本地运行一致。
2. 模式一:Security Scan(安全扫描)
此模式专注于代码静态分析,读取代码并推断潜在漏洞,但绝不修改代码。
- 工作原理:
- 基于代码库生成 Markdown 格式的安全审计报告。
- 报告包含:位置、严重程度、原因及修复建议。
- 严格只读:底层 Go 护栏会拦截所有工具调用,无论模型如何请求,文件写入和命令执行等突变操作都会被确定性阻断。
- 无幻觉:只报告能在代码中找到依据的发现,不包含“感觉-based”的漏洞。
- 性能表现:
- 扫描约 3 万行代码(Bank of Anthos 示例):约 10 分钟。
- 扫描约 150 万行代码(Symfony 框架):约 40 分钟。
- 采用并行 Swarm 架构,时间随代码量呈亚线性增长。
- 扫描模块示例:
- 依赖漏洞分析
- 密钥与凭证检测
- SQL 注入 / XSS 向量
- 输入验证与清理
- 文件权限与访问控制
- 注:认证流程、CORS/CSP 配置、加密弱点等模块可根据需要启用。
扫描报告示例(Bank of Anthos):
- 总体风险:CRITICAL(严重)
- 关键发现:
- JWT 令牌伪造:所有账本服务(
balancereader,transactionhistory,ledgerwriter)使用单一共享 RSA 公钥验证 JWT,且未绑定 Issuer 或 Audience 声明。结合仓库中硬编码的私钥,攻击者可在集群外签名令牌并通过验证。 - 前端 JWT 验证禁用:前端身份验证助手禁用了签名验证。
- 整数溢出:财务交易验证中存在整数溢出,允许绕过余额检查。
- SSRF 与开放重定向:OAuth 同意流程中存在服务器端请求伪造(SSRF)和开放重定向漏洞。
- 凭证泄露:登录流程中通过 URL 查询字符串传输凭证。
- 硬编码密钥:版本控制中包含用于签署 JWT 的 RSA 私钥。
- JWT 令牌伪造:所有账本服务(
3. 模式二:Pen Test(渗透测试)
此模式专注于动态测试,针对用户授权的系统尝试实际利用漏洞。
- 安全约束:
- 需书面授权:必须通过 Booking 流程明确目标、时间窗口和允许的操作范围。
- 范围锁定:仅攻击授权的目标,即使发现其他有趣的目标也不得越界。
- 时间盒限制:严格遵守预定的时间窗口,超时即停止。
- 不升级权限:如果发现需要更深层次访问权限才能验证,工具会停止并记录,不会尝试提权。
- 工作原理:
- 生成渗透测试参与报告(Engagement Summary)。
- 包含确认可复现的漏洞、证据及修复建议。
- 网络出口被护栏限制在授权目标列表内。
- 测试模块示例:
- 端口与服务指纹识别
- 头部与 TLS 分析
- 目录与端点枚举
- 载荷注入(SQLi, XSS, SSTI)
- 暴力破解凭证喷洒(Deep)
- 利用链构建(Aggressive)
- 拒绝服务弹性测试(Aggressive)
渗透测试报告示例(api.your-app.com):
- 状态:2 个严重,1 个高,3 个中 — 全部可复现。
- 范围:2 个主机,47 个端点。
- 确认可复现利用:
- JWT 签名绕过 (CRITICAL, CVSS 8.6):
POST /v1/sessions/refresh接口中,使用禁用了签名验证的伪造令牌,返回 200 OK 并附带管理员权限。包含复现脚本。 - SSRF 通过 OAuth 同意重定向 (HIGH, CVSS 7.4):
/oauth/authorize上的开放重定向解析了任意内部 URL。包含复现证据。
- JWT 签名绕过 (CRITICAL, CVSS 8.6):
4. 技术实现:安全护栏(Go Harness)
Cosine 强调其安全性并非来自模型的“拒绝层”,而是来自模型下方的 Go 语言护栏。
- Security Scan 模式:护栏确定性阻断所有突变工具(文件写入、命令执行),确保只读。
- Pen Test 模式:护栏限制网络出口,仅允许访问 Booking 时授权的目标。
- 模型训练:使用专门后训练的模型,而非通用 API。通用模型会拒绝此类工作,而该模型被训练为能够进行进攻性安全分析。
关键要点
- 双模式设计:
cos提供“静态代码扫描”和“动态渗透测试”两种截然不同的模式,分别对应不同的代理行为和交付物(审计报告 vs 渗透测试报告)。 - 底层安全而非提示词安全:安全性由底层的 Go 代码护栏强制执行,而非依赖大模型的自我约束。这解决了通用模型因安全对齐而拒绝执行安全任务的问题。
- 严格的授权与范围控制:渗透测试模式强制要求书面授权(Booking),严格限制目标、时间和操作类型,防止自动化测试失控或越权。
- 本地优先与隐私:工具在本地运行,用户可监控网络流量,代码数据不离开本地环境(扫描模式)或仅发送至授权目标(测试模式)。
- 商业化订阅:基础安装免费,但功能使用需 $20/月订阅,与 Cosine 的编码代理服务捆绑。
- 性能优化:采用并行 Swarm 架构,扫描大规模代码库(如 150 万行代码)仅需约 40 分钟,效率较高。
- 非开源二进制:虽然强调透明度和本地运行,但核心二进制文件不开放源代码。
意义与影响
Cosine 的 cos 工具代表了 AI 在网络安全领域应用的一个重要转折点:**从“被动防御”转向“
