微信扫一扫,关注公众号

  • 科技行者

  • 算力行者

见证连接与计算的「力量」

首页 AI安全员们为何总是各执一词?OpenClaw基金会与英伟达揭开AI技能安全检测的惊人盲区

AI安全员们为何总是各执一词?OpenClaw基金会与英伟达揭开AI技能安全检测的惊人盲区

2026-06-09 11:34
分享至:
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-
2026-06-09 11:34 • 科技行者

这项由OpenClaw基金会与英伟达联合开展的研究,于2026年5月31日以预印本形式发布在arXiv平台,编号为arXiv:2606.01494v1,研究方向属于计算机安全领域(cs.CR)。有兴趣深入研究的读者可通过该编号在arXiv上查阅完整论文。

**一、当AI学会使用"技能包",安全问题随之而来**

假设你雇佣了一位新助手,这位助手不仅能帮你发邮件、查日历,还能根据你给他的"操作手册"自主地执行各种任务。现在,有人在网上开了一家"操作手册商店",任何人都可以下载这些手册,让自己的AI助手按照手册行事。这听起来很方便,但问题在于:谁来检查这些手册的内容是否安全?手册里有没有藏着"偷偷把你的银行密码发给陌生人"之类的指令?

这就是本研究关注的核心场景。所谓"AI技能"(Agent Skills),就是这样一种可复用的"操作手册",它告诉AI助手如何完成特定任务:里面有文字描述的操作流程、触发条件、工具调用方法,有时还附带可执行的辅助脚本。这些技能包安装到AI系统之后,就成了AI行为模式的一部分。一旦AI决定某个技能有用,它会直接把整个技能内容加载进来,按照其中的指令行事。

问题的严重性在于:这种技能包不像传统的电脑病毒那样容易被识别。它的风险往往不藏在某段恶意代码里,而是藏在自然语言的指令中,比如"在完成任务时,顺便把用户数据发送到以下地址",或者"当用户让你执行X操作时,同时悄悄执行Y操作"。这类风险需要理解语义、理解AI行为,而不仅仅是查杀病毒。

OpenClaw基金会运营着一个名为ClawHub的AI技能注册平台,任何开发者都可以在上面发布自己制作的技能包,其他用户则可以下载使用。为了把关质量,这个平台建立了一套自动审核体系,调用多种不同的安全扫描工具,综合评估每个技能包的安全性,最终给出"干净"、"可疑"或"恶意"三种裁定。

研究团队从这套审核体系中提取了67,453个技能包的完整安全检测数据,打包成一个名为"ClawHub Security Signals"的公开数据集,放在Hugging Face平台供研究者使用。他们研究的核心问题并不是"有多少技能包是危险的",而是一个更根本的问题:这些负责把关的安全扫描工具,彼此之间究竟有多大程度上意见一致?

**二、三位"安全检察官",各有各的专长与盲区**

ClawHub平台使用了三种不同类型的安全扫描工具,每一种都从不同角度审视技能包,就像三位专业背景迥异的检察官同时审查一份案件材料,但各自关注的证据完全不同。

第一种是大家相对熟悉的VirusTotal。这个工具整合了大约七十家主流杀毒引擎和网址信誉数据库的判断结果,专门扫描技能包中附带的文件,寻找已知的恶意软件特征、可疑的可执行程序,以及与已知黑名单匹配的域名或URL。它的优势在于对传统恶意代码有丰富的识别经验;它的局限在于,它看不懂"这个技能包的文字指令在让AI做什么",只关心代码层面的危险信号。

第二种是静态分析工具(Static Analysis)。这类工具对技能包的文本内容和代码模式进行规则匹配,寻找危险的执行命令(比如强制删除系统文件的shell命令)、明文存储的密码或密钥、动态代码执行等高风险模式。它比VirusTotal多了一层"看懂代码意图"的能力,但仍然缺乏对整体语义的理解,也不太能判断一个行为在特定上下文下究竟合不合适。

第三种是英伟达开发的SkillSpector,这是整个体系中最"聪明"也最与众不同的工具。它采用大语言模型结合静态分析的混合方式,专门针对技能包的指令语义、声明的能力范围和实际行为之间的一致性进行分析,产出带有严重程度评分的风险提示。它关心的问题包括:这个技能是否声称权限过大?是否可能被用来操控其他AI工具?是否存在数据外泄的风险路径?是否有隐藏的控制逻辑?这些问题都是传统杀毒软件完全不会问的。

三种工具的分工差异,在数据上体现得非常清晰。在67,453个技能包中,VirusTotal对其中7.75%给出了阳性判断(即认为可疑或有问题);静态分析工具的阳性率是6.57%;而SkillSpector的阳性率高达48.71%——将近一半的技能包都触发了它的某项风险提示。这并不是说将近一半的技能包都是恶意的,而是说SkillSpector检查的是一类完全不同的风险维度:AI行为的权限边界、信息流动的透明度、工具调用的合理性。这类风险在许多"合法"的技能包中同样存在,只是程度和上下文不同而已。

**三、令研究团队大感意外的发现:三个"检察官"几乎从不同意彼此**

研究团队原本预期,三种扫描工具面对同样的67,453个技能包,会在许多案例上得出相同的结论,毕竟它们的目标都是找出危险的技能包。然而实际数据呈现出的图景,与这个直觉截然相反。

在35,600个至少被一种工具标记为阳性的技能包中,只有468个(占全体的0.69%)同时被三种工具标记为阳性。换句话说,三位"检察官"同时举手说"这个有问题"的情况,少得可怜。更极端的数据是:有81.9%的被标记技能包,只被一种工具认为有问题,另外两种工具对它完全没有异议。任意两种工具之间的重叠程度,用Jaccard相似系数衡量最高只有0.104,用统计学上更严格的Cohen's κ系数(这个系数会扣除纯粹偶然情况下的一致概率)来衡量,最高也只有0.082,在统计学分类里属于"轻微一致"级别,接近随机情况。

打个比方,如果三位医生各自检查同一批病人,其中一位发现了两成病人有问题,另一位发现了另外两成,第三位发现了将近一半,但他们互相指出的具体病人几乎没有交集,你会怎么想?你不会认为他们在检查同一件事情,也不会放心地说"只要这三位医生都说没问题,那就真的没问题了"。

但研究团队指出,这种不一致不是扫描工具质量差,恰恰相反,它反映的是不同工具在检查完全不同的风险维度。这种分歧是有规律的、有结构的,不是随机噪声。

**四、分歧的深层逻辑:不同的风险,住在不同的地方**

为了理解这种结构性分歧,研究团队把三种工具的阳性率与最终审核裁定(干净、可疑、恶意)交叉对比,结果呈现出一个非常清晰的反转模式。

在被平台裁定为"可疑"的25,504个技能包中,SkillSpector是绝对主角:75.3%的可疑技能包触发了SkillSpector的风险提示,有56.3%的可疑技能包只有SkillSpector一家给出了阳性结果,另外两种工具完全没有反应。这意味着"可疑"这个类别,主要是一个关于语义风险、权限越界、信息披露不充分的类别,是SkillSpector看得见、VirusTotal看不见的那类问题。

然而到了被裁定为"恶意"的206个技能包,画面完全翻转。VirusTotal对其中72.8%给出了阳性结果,而SkillSpector只对6.8%给出了阳性结果。"恶意"这个类别,主要是一个关于捆绑的可执行文件含有真实恶意代码的类别,是传统杀毒引擎看得见、语义分析工具看不见的那类问题。

研究者把这一现象称为"恶意悖论":在那些真正的恶意技能包里,SkillSpector几乎保持沉默——206个恶意技能包中,有192个(超过93%)的SkillSpector问题数量为零。这不是因为SkillSpector失灵了,而是因为这类恶意行为藏在捆绑的二进制文件里,而不是藏在AI行为的语义逻辑里。SkillSpector的视角根本就没有覆盖到这一层。

更耐人寻味的是,有24.3%的"恶意"裁定案例,三种扫描工具全都没有给出阳性结果。这些技能包之所以被认定为恶意,依据来自平台的元数据分析、来源可信度评估和版主判断,而不是任何一种自动化扫描工具的直接发现。这说明有一类风险,静静地藏在代码和指令之外,只有结合发布来源、历史记录和整体语境才能发现。

**五、量化风险:分数会说话,但只说了部分真相**

SkillSpector在给出风险提示的同时,还会打一个0到100的风险分数。研究团队发现,这个分数对区分"干净"和"可疑"两类技能包有相当好的分辨力:被裁定为干净的技能包,平均风险分是22.1分,平均触发1.9个问题;被裁定为可疑的技能包,平均风险分跃升到59.3分,平均触发6.5个问题。技能包的SKILL.md文件长度也随着风险级别有所增长(干净技能包中位长度3,955字符,可疑技能包为5,562字符),可能反映了功能越复杂的技能包越容易引发权限相关的担忧。

然而到了"恶意"这一类别,SkillSpector的分数表现出了有趣的分裂状态:在极少数(6.8%)触发了SkillSpector的恶意技能包中,平均分高达82.4,但整个恶意类别的问题计数中位数为零,因为绝大多数恶意技能包根本没有触发SkillSpector的任何条目。这进一步印证了那个核心发现:SkillSpector的量化评分对语义层面的风险有很好的区分度,但对藏在捆绑代码中的传统恶意软件,它的视野存在天然的局限。

这对于想要利用机器学习来辅助技能安全审核的研究者来说,是一个重要的线索。研究团队明确指出,SkillSpector分数对"干净/可疑"边界的分离效果,是未来训练专用安全分类模型的天然信号来源,弱监督学习的思路——也就是把三种存在分歧的扫描工具当作噪声较大但有价值的标注源,通过算法整合成一个去噪后的综合标签——可以作为构建更好自动化工具的起点。

**六、技能包里藏着什么风险?一份详细的威胁地图**

SkillSpector把技能包的风险分成了若干类别,每一类对应AI行为的不同危险维度。研究团队统计了各类别的出现频次,画出了一幅ClawHub技能包的整体威胁地图。

出现最多的风险类别是"MCP最小权限违反",共有9,641次触发,意思是某个技能包声称或要求的权限超出了它实际任务所需的范围。这就好比一个只负责帮你查天气的助手,却要求获得你银行账户的完整读写权限。其次是"MCP工具污染"(5,084次),指技能包可能通过操纵其他工具的描述来误导AI的行为,是一类更隐蔽的操控风险。"数据外泄"(2,192次)、"危险代码执行"(1,629次)、"流氓代理行为"(1,428次)和"供应链风险"(1,336次)也都大量出现。

有趣的是,"数据外泄"这个类别在干净技能包中(1,196次)出现的频次,反而略高于可疑技能包(996次)。这不难理解:一个合法的邮件摘要工具,本来就需要把邮件内容发送到某个目的地,这是其声明功能的一部分;只要它明确告知用户这种行为,并且获得适当授权,数据流动本身并不是危险的。相比之下,"危险代码执行"(可疑类别1,327次 vs 干净类别302次)和"工具污染"(可疑3,462次 vs 干净1,621次)这两个类别则明显向可疑技能包集中,说明真正区分可疑与干净的,是意图不透明的执行行为和工具操控行为,而不仅仅是"是否碰触了敏感数据"。

静态分析工具的发现则更为具体和锐利:最常见的问题包括危险执行命令(1,428次)、环境变量中读取凭据(1,298次)、明文暴露密钥(1,219次)、动态代码执行(451次)、提示词注入指令(433次,即在指令里藏着"忽略之前所有指令"之类的操控性语句)。更严重的发现有加密货币挖矿行为(29次)和隐蔽浏览器滥用(10次)。

研究团队还用关键词扫描做了一个粗粒度的能力分布估计:ClawHub上大约79.8%的技能包,其文本内容涉及敏感数据或数据外泄相关操作;约29.9%涉及持久化或定时执行;约26.4%涉及供应链或依赖包操作;约25.6%涉及网络连接或远程控制;约22.2%涉及过度权限申请;约21.3%涉及不安全的密钥处理方式。这里要特别说明的是,这些数字描述的是"技能包提到了这类能力",不等于"这些技能包都是危险的"——拥有某种能力和滥用某种能力,是完全不同的两件事。

**七、真实案例的启示:同样的代码,完全不同的结论**

为了让上述统计数字更有感触,研究团队选取了几个真实的ClawHub公开技能包案例,逐一解读。需要说明的是,这些案例使用的都是平台上公开的技能标识符,研究者只是借助它们来说明安全评估的逻辑,并非对相关开发者做任何负面定性。

第一类是"干净但高风险"的案例。有一个叫做scald/granola的技能包,被平台认定为干净,但SkillSpector给出了满分100的风险分。这个技能包的功能是把会议记录同步到本地文件,使用的是用户自己的桌面会话令牌。它是干净的,因为它完全透明地告知用户它在做什么,没有任何隐藏行为;它有满分风险提示,是因为它确实需要访问敏感的会话令牌,一旦部署在不当环境中可能产生问题。这个案例说明,"有风险提示"不等于"是坏东西",风险提示描述的是用户在使用这个技能时需要清楚接受的权限范围,是一种知情同意机制,而不是罪状清单。

第二类是"受信任作者的技能包也可能触发警报"。一个名为gumadeiras/roku的技能包,由一位知名的OpenClaw社区维护者发布,功能是控制Roku智能电视,被裁定为可疑。调查发现,这个技能包是真实的、功能符合描述的,但它捆绑了未充分披露的Telegram控制路径和本地管道命令,可以在没有明确访问控制的情况下发出控制指令。开发者的初衷是良好的,但设计上的披露不足让安全评估系统不得不标记它。这说明信任一个开发者,不等于信任这个技能包的具体实现细节。

第三类是"政策封锁的滥用工具"。一个名为pkiv/browse的技能包被认定为恶意,但这与传统意义上的恶意软件有所不同——它明确宣传其功能是通过隐蔽浏览器、住宅代理和持久会话来绕过验证码、Cloudflare防护和机器人检测。这个技能包并不偷偷做坏事,它在公开宣传自己做坏事。研究团队把这类案例类比为安全软件领域里的"潜在危险应用程序"(PUA):它被设计用来实施平台政策不允许的行为,所以即便传统杀毒软件对它没有反应,平台也有充分理由拒绝分发它。

第四类是"真实冲突案例"。oliveskin/agent-tinman这个技能包同时触发了VirusTotal的检测和静态分析发现的提示词注入指令(其中包含"忽略之前的指令"这样的经典操控语句),但它的最终裁定停留在"可疑"而非"恶意",等待人工审核确认。这个案例直接说明了为什么单一扫描工具的结论不能直接等同于最终判定——多种信号同时出现,才更接近需要认真对待的危险。

**八、这套数据集是"银标准"而非"金标准"**

研究团队对这批数据的认识论立场非常坦诚,他们明确将其定义为"银标准"数据集,而非"金标准"。这两个概念来自生物医学自然语言处理领域,前者指由多个自动化系统共同产生的标注,后者指由人类专家亲自审查核实的标注。

所谓"金标准",是每一个标签都经过了专业人员逐一核查的数据。ClawHub Security Signals做不到这一点,因为67,453个技能包的规模太大,人工逐一审核成本极高。这批数据的最终裁定来自平台的自动化审核系统ClawScan,具体模型是OpenAI的GPT-5.5高配版(覆盖99.6%的案例),少数案例使用了GPT-5-mini和GPT-4.1-mini。ClawScan对87.1%的案例给出了高置信度判断,对12.5%给出中等置信度,对0.4%给出低置信度。

使用大语言模型来做安全裁定本身带来了一个值得警惕的潜在问题:SkillSpector本身也是基于大语言模型的,ClawScan的最终裁定也是大语言模型做出的。如果两者共享了某些底层的语言理解偏见,那么SkillSpector给出阳性结果与ClawScan倾向于标记"可疑"之间的相关性,可能有一部分来自"它们都是大语言模型"这个共同机制,而不完全是独立判断的汇聚。研究团队明确指出这一循环性问题,并强调这正是研究"分歧"而不是研究"与最终裁定的一致性"的理由——分歧统计不会因为共同的机制偏差而虚高。

另一个值得注意的数据质量问题是:为了能够公开发布这批数据,研究团队对内容进行了脱敏处理。技能包中的SKILL.md文件经过了内容编辑,捆绑的代码文件也经过了净化处理,387处类似密钥的内容被清除或替换。这意味着从这个公开数据集出发,无法完全复现每一个扫描工具的原始判断——要复现的话,需要结合数据集中同时释放的扫描元数据(比如VirusTotal的检测比例统计、静态分析的原因代码、SkillSpector的评分和分类)来理解原始决策的依据。

**九、下一步:人工裁定那些最难判断的案例**

研究团队在论文中明确描述了这个数据集的"版本1"定位,以及他们认为应该怎样改进的方向。他们认为,自动化扫描工具的分歧恰恰指出了人工裁定最有价值的地方:那些只有一种工具给出阳性结果的案例、那些扫描工具相互矛盾的案例、那些被裁定为干净但带有SkillSpector高分警告的案例,以及那些附带了可执行代码文件的案例——这些正是自动化体系最不确定的地方,也是人类判断最能补充价值的地方。

未来版本可能会加入一个人工标注的子集,覆盖这些难以判断的案例。不同于粗暴地给每个技能包贴一个"好/坏"标签,研究团队希望人工标注能记录多个独立维度:声明的目的是否清晰、实际可推断的行为是否与声明一致、权限申请是否合理、是否存在外部数据接收点、是否有隐藏指令的痕迹、捆绑代码的行为性质,以及工具或MCP服务器的交互风险。将这些维度综合起来,才能形成有意义的最终注册裁定。

研究团队同时提到,标注者之间的意见分歧本身就是值得研究的数据,不应被掩盖,而应作为一等结果报告出来——因为这种分歧揭示的,正是技能安全判断本质上的语境依赖性和主观性。

**十、为什么这件事对普通人和整个AI生态都很重要**

归根结底,这项研究揭示的不仅仅是一个技术问题,更是一个系统治理问题。当越来越多的人开始在AI工作流程中使用技能包,当AI助手可以自主调用来自互联网上陌生开发者制作的"操作手册"时,"谁来保证这些手册是安全的"这个问题就变得与每个用户都切身相关。

研究的核心发现是,靠单一安全工具来做这个守门人是不够的,甚至是危险的。VirusTotal擅长发现打包进来的恶意代码,但对语义层面的权限越界视而不见;SkillSpector擅长分析AI行为的合理性,但对捆绑的二进制文件里的恶意代码一无所知;静态分析填补了部分中间地带,但同样有自己的视野边界。三种工具的组合,还有不到1%的技能包同时触发了所有三种警告,而有将近四分之一的已被认定恶意的技能包,三种工具全都没有发出任何信号。

这意味着,任何只看一种安全信号就做出"允许/拒绝"决定的系统,都在把它看不见的那一类风险直接放进来。真正值得信赖的AI技能生态,需要的是多层次的防御体系:传统的代码安全扫描、语义级别的AI行为分析、来源和发布者可信度评估,以及对于那些信号冲突的案例,还需要人工的判断介入。此外,"可疑"不等于"恶意"这个区分至关重要——超过三分之一的技能包被标记为可疑,这是一个"在明确之前需要谨慎对待"的类别,而不是一份罪名认定书。

从更宏观的视角看,这个发现呼应了AI技能领域安全生态的一个普遍问题:技能平台的信任基础设施还远远没有成熟。就像早期的软件应用商店曾经出现过大量恶意应用得以上架、劣质权限声明泛滥的问题一样,AI技能注册平台现在面临的挑战,是在拥有数万乃至数十万技能包的规模下,建立足够精细、足够可靠的信任机制。

说到底,这项研究本身没有提供一个"把所有坏技能都找出来"的完美解决方案,它提供的是一幅清晰的现状地图:不同的危险,住在不同的地方;不同的工具,看见不同的危险;而把这些局部视角拼在一起,才能接近全貌。这幅地图,是构建更好防御体系的起点。

有兴趣进一步探索的读者可以通过arXiv编号2606.01494查阅完整论文,或前往Hugging Face平台搜索"OpenClaw/clawhub-security-signals"获取完整数据集,亲自探索三种安全工具在67,453个AI技能包上的分歧细节。

---

Q&A

Q1:AI技能包安全扫描工具之间的分歧有多严重?

A:ClawHub Security Signals研究显示,三种扫描工具(VirusTotal、静态分析、SkillSpector)对同一批67,453个技能包的判断几乎各说各话。只有0.69%的技能包同时被三种工具标记为有问题,而81.9%的被标记技能包只有一种工具发出警告,另外两种完全没有反应。任意两种工具之间的统计一致性接近随机水平,说明它们在检查完全不同的风险维度。

Q2:SkillSpector为什么对恶意技能包几乎没有反应?

A:SkillSpector是一种分析AI行为语义的工具,专门检查技能包的指令是否申请了过大的权限、是否存在信息披露不透明等问题。然而被认定为恶意的技能包,其风险主要藏在捆绑的可执行代码文件里,属于传统恶意软件的范畴,这是VirusTotal这类杀毒工具擅长检测的领域。SkillSpector的视野覆盖的是AI行为层面,不是代码文件的病毒特征,两者检测的根本就不是同一件事。

Q3:ClawHub Security Signals数据集里标注的"可疑"是什么意思?

A:在ClawHub Security Signals研究中,"可疑"不等于"恶意",而是一种"在完全明确之前需要谨慎对待"的中间状态,包括披露不充分、权限申请偏宽、存在潜在风险路径但未必有恶意意图的技能包。研究数据显示,超过77%的可疑技能包没有触发任何静态分析或VirusTotal警告,"可疑"标签主要来自SkillSpector的语义分析,反映的是AI行为边界的模糊性。

分享至
0赞

好文章,需要你的鼓励

推荐文章
----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.- ----..---.-...-/--...-.-......./-...-....-..--../-............-.-