Follow feeds: blogs, news, RSS and more. An effortless way to read and digest content of your choice.
Get Feederlorexxar.cn
Get the latest updates from LoRexxar's Blog directly as they happen.
Follow now 106 followers
Last updated about 1 month ago
about 1 month ago
在前两天的BlacksetHat Asia 2026上,@浅蓝和@1ua分享一个非常有趣的议题,Java中的GhostBits漏洞https://i.blackhat.com/Asia-26/Presentations/Asia-26-Bai-Cast-Attack-Ghost-Bits-4.23.pdf探究深度非常深,影响范围非常之广,内容非常有意思什么是Ghost Bits?Ghost Bits这个概念的来源太久很难深究,甚至在软件领域之前就已经有类似的概念。Ghost Bits主要是指那些在莫名其妙的位置影响到软件运行的位,所以形容像幽灵一样。在这个议题中,Ghost Bits主要指的是在某些类型转换过程中被不小心丢掉的高位,导致原字符串内容变化。最经典的场景就是char类型和byte类型的转换,也是Java的经典场景。char类型是16位(2字节),byte类型是8位(1字节),如果发生char强制转换为byte就会丢弃高8位,只保留低8位。其中的8位就像幽灵一样消失了。在Java中,有4种非常常见的写法都会有该问题(byte) ch:显式的byte强制类型转化ch & 0xFF:位掩码,保留低8位OutputStream.write(int):写入流时被截断DataOutputStream.writeBytes():官方JDK方法,在文档中明确写明会丢弃高8位而在unicode中,会有大量的高位内容,经过处理和转换之后就会被截断变成对应的字符要注意的是,这个问题本质上在源代码层面表现一致,不能单独算作是一个漏洞,所以在80%的场景下,该问题主要影响的是和源代码不在同一层的软件,其中最经典的就是waf!具体怎么回事?基础的原理刚才都理解了,其实就是利用高位无效的机制问题,使得输入的内容在waf和实际源代码处理的时候遇到的是不同的内容。比如说中文字阮,经过处理之后源代码获得的就是.12字符 '阮' =...
about 2 months ago
继续接着之前的内容来写,从通用大模型诞生到后续的几年里,除了大模型本身的能力一直在提升,使用大模型的方法论也在不停的变化。这篇文章讲到的这些概念不是第一天诞生,我相信很多朋友也实打实的在使用这些方法论,那这篇文章让我们重新回顾一下这些概念,也伴随的感受一些,为什么这些方法论使得AI突然变得强力可靠?为什么在2025年年底I应用大量井喷?什么是Skill?在前两篇文章当中,我曾经提到过,AI有两个非常重要的时间节点,第一个是chatgpt的初诞生,它意味着AI与人类交流沟通的屏障解开了,我们可以通过对话和大模型沟通并让他理解我们的需求。chatgpt打通了人和AI的壁垒在这个时间节点,大部分场景我们只能依赖prompt,提示词工程来一定程度的定向提高大模型的能力,虽然我觉得并没有什么卵用。第二个关键的时间节点,gpt4在2023年初推出了Plugins功能,并且在2023年6月推出了Function Calling函数调用功能。这意味着给给大脑接上了手和脚,大模型不再受限于自己提前训练的数据集,他可以主动调用其他工具收集信息,尤其是联网功能,大幅度提高了大模型的实用价值。ChatGPT Plugins的诞生其实plugins和Function Calling功能,就是Skill的雏形。Skill的本质其实就是,把某些特定的场景和解决方案收束成一个skill(技能),给予他一个触发条件,只有触发该条件才会读取这个Skill的内容并按照要求执行下去。Skill的概念可以说是大模型应用非常核心的一部分,首先它拥有完全符合AI应用理念的特征,还能契合当前AI应用的实际场景。Skill本身独立于大模型外,不需要训练基础LLM,即插即用,还可以长期积累,符合AI学习成长的理念只有触发才加载对应的skill,既节省不必要的上下文浪费,又可以在有需求的情况下及时引入必要的提示词和流程要求一个非常有名的Skill叫做Skill Creator,调用它会辅助你构建一个Skill现在主流的AI???用中,一般都对Skill做了专门的调度单元逻辑,甚至现在很多内置的功能都会通过skill的方式实现。比如说claude code和codex,内置了十几种skill涉及大量和底层交互的场景,会在必要时触发)现代的skill范式也越来越趋近于标准,从输入到执行流程,内置脚本,最后到输出的内容,都有相应的要求。我个人觉得skill最大的问题是,可拓展性不够强,当你的skill少的时候,你描述触发的场景大体上比较稳定,但是如果skill太多,llm就很难判定触发了,经常会自己动手,某种程度上也符合人脑会混乱的事实。比较理想的AI应用往往不会安装太多的Skill,是现在的一种解决方案。什么是Agent?如果说skill对于AI应用更多是理念上的进步,Agent和相应的概念更像是使用方法的进步。在GPT-4诞生没几个月,在Plugins和Function Calling的基础上,社区爆发了大量的衍生项目,其中最有代表性的就是AutoGPT。AutoGPT这类的应用引出了一个进阶的AI概念就是,我们可以把任务目标抽象成好多个步骤,由好多个独立的实体相互配合完成。你可以理解为,每个独立的AI agent就是一个独立的人,原本我们是让一个人完成一个工作,这对这个人的能力就有非常高的要求。现在我们用很多人分工去完成任务,可以把一个任务拆解成很多步骤,每个agent独立完成自己的事情。有个形容我觉得比较贴切,Agent就是让AI从工具变成了员工。Agent概念同样解决了LLM的几个大痛点上下文不够长,即便现在达到上下文百万级别依旧困扰着AI,让一个Agent独立负责一个任务,可以最大程度的减少无效的上下文冗余,针对性更强的完成任务AI幻觉问题,减少无效信息干扰,Agent接收到独立的任务条件和目标,执行方向性会更强,互相也不会干扰最早的多Agent应用,大多数都是让多个Agent一起做事情,那会儿非常经典的多AI辩论,看过不少。让多Agent真正发光发热的破局点,就是工作流概念的诞生什么是工作流?工作流诞生的契机来的很快,在多Agent的理念出现之后,大家发现单纯让Agent独立完成任务的价值并不大,Agent本身容易失控,早期使用AI的普遍方案,都是让AI对同一个内容多次分析,最后取比例更好的那一个。在23年底到24年,许多耳熟能详的AI平台诞生了,比如说Dify、Coze,他们都践行了Workflow的工作流理念。工作流的核心理念是将任务提前分成多个步骤,分别给每个步骤制定好输入、输出、需要完成的事情,最后再将任务的结果汇总并输入到下一个步骤。在工作流的理念中,可以提前规划好步骤,也可以由AI规划划分步骤。推进工作流,可以是类似于Dify这种程序推???Agent完成任务,也可以是由一个负责任Agent来推进任务,单个步骤的任务也可以独立启动多个Agent完成。工作流诞生的价值一方面是完美利用多Agent的优势,独立Agent节省上下文,目标需求清晰互不干扰另一方面是相比依赖Agent本身的执行结果,工作流的产出会更强势,这意味着工业化程度更高,那应用的结果效果也会更好。像Claude Code现在就支持用工作流的方式驱动多Agent完成特定的任务,Codex可以通过Skill驱动工作流任务启动。在历经了上面的3个关键节点之后,AI的基础方法论已经成型,但实际上距离现在真正的AI成熟化还有很长的距离,其中依旧有几个标志性的事件慢思考AI的诞生最早的AI模型都是基于快思考,看到问题直接输出答案,尤其是以GPT为代表,GPT-4模型最经典的问题就是偷懒,最经常的场景就是GPT-4会持续的问你问题。在2024年底,慢思考模型的经典范例openai的o1模型和Deepseek R1模型,尤其是Deepseek,我个人感觉是从DS开始,我们经常使用的AI都会展示自己的思考过程。慢思考AI诞生,对工作流本身造成了一定的降级,因为AI本身的思维能力足够强大,强流程的工作流某种程度上来说也成了有能力的AI的枷锁。这个话题我想在后面的文章中再讨论。对于AI应用的意义来说,慢思考AI引领了后续AI大模型本身能力的提升方向,早期AI Agent你需要提出更明确的需求方式方法,现在的如果使用能力很强的Opus4.6这类大模型,你可以完全提出简单的需求,他会分析你的需求并结合实际场景完成任务,效果反而越来越好。MCP是什么?除了大模型本身的能力上升以外,关于方法论的变化也有,那就是MCP.在2024年底,Anthropic提出了AI大模型的标准协议,就是MCP。其实单纯按照定位来说,MCP有点儿类似于Skill,但是MCP的针对性更强,MCP提出了一套双向通信的标准协议,允许AI大模型通过MCP协议无缝接入任何其他APP。比较经典的通过mcp操作数据库,操作三方软件,很多公司为了拥抱MCP时代还推出了专门的MCP接口,这样AI在接入很多能力的时候就不用被迫应对原来的风控策略了。MCP的标准化对于AI Agent的长远发展有着非常特殊的意义,他倒逼厂家自己推出官方MCP,让Agent的触手延伸的更远。GraphRAG...
3 months ago
上篇博客中,我分享了最近关于AI的见闻和感受。本来按照流程,我应该用几篇博客的时间介绍一下最近接触和学习到的东西。但最主要的是,感觉如果不先聊聊OpenClaw,这东西很可能就要过气了。Peter Steinberger作为独立开发者,由于非常喜欢Claude,在几个月之前发布了开源的自托管助手Clawdbot,短短几个月火爆全网,引发了非常大的热情狂潮,很多人把OpenClaw称为Web4.0时代的开端。Clawdbot,后来改名Moltbot,现在又改名叫Openclaw,最近最有名的称呼应该叫做龙虾。无论你是否认可后面我的理解和感受,但我必须强烈的告诉你。绝对不要把OpenClaw部署在生产环境/或者自己的实际使用主机上,一定要放在一个独立的环境中运行。其实Openclaw并不是第一个依托于LLM的主动代理助手,这个类似的概念我1年前就听过,之前Meta收购的Manus AI,Manus可能也不是最早的,而且很多人说Manus根本没有成品。但这个概念很早就有了。如果对Claude Code比较熟悉的朋友应该知道,其实Claude Cli和OpenClaw本质上没有什么区别,换言之,从设计理念的角度,OpenClaw就是没有任何安全限定的Claude Code。从这个角度来说,OpenClaw的技术突破似乎没什么价值,客观来说,OpenClaw是个人维护+ai编程+接受了大量pr,代码质量堪忧,我相信如果用过一段时间的OpenClaw都会知道到底有多难用!OpenClaw的爆火真的是偶然吗?OpenClaw应该是第一个,完全免费开源,并且已经进入可用阶段的托管式AI助手,这也是OpenClaw爆火的起因,在2025年年底,AI使用的方法论已经基本成型,无论是工作流、agent,还是mcp、skill,又或者是自己实现的记忆、上下文,AI的使用方和大模型基座的强依赖进行了脱离。这意味着,除了大模型本身的能力在进化,AI的应用也开始趋于成熟,OpenClaw使用的完全托管式AI的设计理念,解放大模型的所有能力,允许AI以助手的方式完成任何事情。对于熟练使用Claude Code的朋友来说,或许OpenClaw的创新点太过于小,问题又多,???是对于非技术的用户来说,Claude的安全限制多,OpenClaw门槛低上手快,还可以以IM的方式沟通调教。国内爆火的理由?这自然就成了爆火的理由,当然在国内OpenClaw如此爆火,我个人觉得腾讯功不可没,腾讯可以说是第一时间跟进了OpenClaw,并且围绕OpenClaw在腾讯云做了活动,还可以一键部署轻应用服务器,几十块钱+几十分钟就可以搞出一个独立的AI助手,然后你就可以“快乐”的养龙虾了。腾讯云这价格基本上等同于史低了,而且还可以一键部署OpenClaw。相比腾讯云的方案来说,其他国内的Claw,有些虽然进行了一定的国内化魔改更好用,但是客观来说确实太贵了,就比如国内最早的定制化Claw之一Kimi Claw。必须要开启Allegretto会员才可以使用该功能,而这个级别的会员按照连续包年来算也要159每月,虽然这个价格对于Coding plan来说并不算很贵,但对于没有相应需求只是想试试AI助手的用户来说,着实有些太贵了。除此之外,最值得期待的应该是腾讯要推出的Qclaw如果亲自上手过OpenClaw,应该会明白,这东西和IM的相性是好不好用很重要的一环,像飞书虽然接口众多,但是平时日常没人用飞书,而且OpenClaw操作飞书文档有点儿问题总是修不好。ps:我想用OpenClaw做个日报,一个图片他改了2天还改不好我是一个微信的深度用户,曾经以各种方式运营过微信机器人4-5年,但是微信bot却一年比一年严格,我用的好几个项目都被封了,相关的接口也被关闭,我的机器人微信被封了不知道多少次,微信之前唯一机器人接入方式是企业微信,不但需要企业认证,实用性也非常差。虽然下面这个图是玩梗,但我真希望是真的,这代表我的很多需求都可以托管实现了。抛开营销,OpenClaw有价值吗?我想这是每一个想要了解OpenClaw的用户都想知道的问题,我不敢说我真的很了解,因为我也依旧处于初体验的阶段,但我也分享下我的想法。我知道所有关于OpenClaw的营销号,都在反复的推行一个概念,就是“养龙虾”。什么是“养龙虾”?用技术的方式,通俗易通的讲,就是通过长期的反馈强化矫正,来培养一个更成熟,更有实用价值的AI助手,方法也不复杂,就是构建Skill,管理长期记忆,塑造AI那一套方法。这套方法论并不新颖,在Claude Code中,长期管理Claude.md就是一种培养AI的方案,上篇文章里我提到Claude Code的开发团队可以长期使用AI编程,其中之一就是,他们会把部分最高指令长期培养在Claude.md,AI编程就会原来越好用,同理。听???来好像很靠谱?!虽然原理很靠谱,主流的AI工具也都是这样的做法,但很可惜的是,OpenClaw并不是一个成熟的项目。前面说过,OpenClaw是一个个人开发的项目,开发Peter还靠这个项目加入了openai,虽然程序员也是厉害的程序员,但是短短几个月维护一个不知道多少人关注的开源项目,只能靠大量的AI开发+大量的PR。好处是OpenClaw更新快,坏处是短短几个月OpenClaw就成了超大屎山代码,不说设计上的问题,光是代码和开发上的问题就频频出问题。有一些特别具体的例子,我分享几个。开发和管理上的问题2026.3.2版本,OpenClaw更新新版本,在没有任何提醒和预告的基础上,把默认权限降低到了message,只允许OpenClaw发送信息不能执行命令更新完之后,OpenClaw瞬间任何执行命令的权限都没有,要知道OpenClaw存在的价值就是可以开放全权限在环境内操作,设计好的功能都无法正常使用。最关键的是OpenClaw他自己也没有做相应的记忆,询问他发生了什么他自己不知道,我花了好长时间研究才发现是新更新版本的问题。默认的配置权限混乱如果操作OpenClaw抓取图片发送给我,大概率会失败。我花了一段时间研究修复,最后发现原因也很搞笑。如果让OpenClaw操作浏览器抓取图片,或者用某种mcp生成图片,这个图片的默认保存位置是/tmp,但是OpenClaw的默认权限,他只能操作自己项目空间目录下,也就是/root/.openclaw/workspace/目录下的问题。所以是他没有权限操作。没有读取tmp目录的权限很奇怪,OpenClaw自己对这件事情也没有预设也很奇怪。上下文过长,记忆混乱其实我不知道这个问题谁是因谁是果,可能是因为上下文过长才导致记忆混乱,也可能是因为OpenClaw本身记忆管理有问题所以导致其他衍生问题。我稍微和OpenClaw提一些小需求,他的token消耗就是几百万几百万的了,哪怕是维持平时的cron任务,不做任何主动思考任务都有几十万的消耗。这带来的衍生问题非常严重,我问了周围的朋友,大体上都遇到了和我同样的问题,就是感觉大模型变傻了很多,我用的是GLM5,刚出来的时候都可以接近opus4.6的效果了。但是在OpenClaw他理解不了我的需求的时候非常多,我让他在飞书文档里上传图片,断断续续的和他沟通了2天,还是没实现,大量的无意义思考,很多犯过的错误我多次指正之后就忘记了。而且我自己的感觉是,这个问题和我的实现方式关系不大,即便我多次要求他调用官方sdk,写python脚本实现,并在skill中要求必须调用python脚本实现,这个问题依然没有得到完美解决。甚至如果使用的时间够长,那么被我设置为最高指令的部分,他都不会遵守。这让我意识到一个问题,不管问题的起因在哪,OpenClaw实际上是没有能力承担类似Claude的自主项目开发能力的,这???意味着所谓的养”龙虾”其实从根上暂时是不成立的,OpenClaw不会因为短期的培养变的更好,比起养来说,探索OpenClaw的能力边界,等他或者类似的工具更新,是更靠谱的选择。ps: 或许你看到这里会说可以用第三方记忆方案替换OpenClaw,我也仍旧在研究学习中,但侧面也证明了OpenClaw本身的问题。对了如果你是希望用OpenClaw开发项目,我还是建议你多了解下Claude的最佳实践。安全性?随着OpenClaw爆火,这几天关于OpenClaw的安全问题被屡屡提及,尤其是安全圈相关,大家都恨不得蹭这个热度。虽然漏洞列表里可以写出密密麻麻的一大堆OpenClaw漏洞,安全威胁提醒可以写出密密麻麻好多条,但实际上OpenClaw并没有可以直接利用的远程漏洞,在安全圈如果不能直接利用,我们更愿意把他称之为安全风险。其实谈论到OpenClaw的安全风险,首先要讨论的说不定应该是OpenClaw本身的安全限制,首先OpenClaw的设计理念和Claude就有差异,OpenClaw的核心是托管,完全无人工参与,那么你给OpenClaw本身做安全风险限制,最后麻烦的只有自己,但反过来他的风险也同样来自于自己。ps:我也遇到过类似的事情,我让他一直改脚本,改着改着他给自己删了重写,变成了一坨。提示词注入个人觉得其实算是有点儿无妄之谈了,这个场景几乎不存在,先不说能不能操作微信,谁会把接到IM接到自己的常用微信上,还给了对外的操作权限呢?一定要说的话,我觉得最早期听说过的一个故事还算相对比较有可能性,Clawdbot最早爆火是自动炒币助手,还会直接把web界面开到公网去,可以通过公网入口对话取得和炒币平台交互的密钥,我不知道是不是真的有这种傻子,但把OpenClaw装到自己的生产力工具上,我还是觉得第一个要担心的是他把你机器给格了。另一个算是问题比较大的,就是供应链攻击。现在的AI工具已经处于Skill时代了,给ai赋予Skill能力就像教会人学会对应的技能,AI会获得更多的能力去做更多事情,那对应的skill市场当然也就应运而生,OpenClaw官方用的是Clawhub。他最大的特点就是,和其他包管理器一样,用户可以自由上传自己的skill,当然随之而来的供应链攻击就会很多。感觉有点儿太老生常谈了,随便下skill和以前随便下包是一样的。OpenClaw到底有什么用?相比OpenClaw的缺点和问题来说,其实OpenClaw到底有什么,到底能做到什么,是一个需要实践探索的问题。客观来说,有更好的工具珠玉在前,OpenClaw最大的优势很难撇得开门槛低。或者说OpenClaw最大的价值就是,你可以以极低的成本操作服务器来完成任务,而这个任务目前来讲最好的实现逃不开爬虫。比如说80%的人都看过的OpenClaw案例,推荐股票说白了就是,读取股票数据喂给大模型,然后根据你的仓位,固定时间提醒你操作(应该没人真的把自动交易交给OpenClaw吧)。本质就是一个后台运行的爬虫,建立在OpenClaw上完成这个需求门槛极低,不需要会写代码,会阐述需求即可。我自己用OpenClaw玩了一周多的时间,其中唯一一个稳定运行没出过毛病的也是爬虫,帮我监控nga热门帖子推送给我。主要是OpenClaw和系统的crontab联动的很好,定时任务很稳定,操作浏览器访问页面爬取内容,可以靠大模型完全自己实现并持续优化,最后内容还可以让大模型自己再处理一遍。这一套下来最方便的点就是,如果我遇到什么问题,我可以直接通过IM交互提需求解决,不像自己写爬虫要不停的修复处理反爬等各种问题。当然这里我发现有一个非常坑的误区就是,虽然OpenClaw非常方便,不需要你直接写代码,但是客观实际遇到的问题非常之多,这也是我不看好OpenClaw可以由一个完全不懂技术的人养好的原因之一。举一个最好的例子就是之前那个图片的例子,我在和OpenClaw沟通的时候他完全理解不了为什么图片没有发出来,查了好多资料才发现是OpenClaw的安全限制,类似的事情出现非常多,完全不懂技术的朋友很难理解问题出在哪,只能不停的提出需求无法解决之后,被迫放弃。ps:我让他去小红书搜索帖子,他一直说mcp启动不了,实际上是他没有正确按照这个mcp的文档启动截止目前为止,我仍然在调校OpenClaw帮我写公众号,效果依旧不理想,还在努力中写在最后洋洋洒洒写了一大堆,主要还是分享我对OpenClaw的认知和见闻,营销号看的太多,总是分不清什么是真的什么是营销的,在信息爆炸的时代这或许是个常态。OpenClaw到底有没有意义?有,首先作为开源工具证明了这个理念的可行性,nbOpenClaw到底是不是营销出来的?是,OpenClaw原生至少现在,根本不具备被养的能力OpenClaw值不值得玩一下?我只能说比你想象的可能要有用一些我们下篇再见!
3 months ago
许久没有起笔写博客和公众号了,忽然一下起笔,似乎一下子找不到下笔的方式和由头,其实我想恢复写博客的习惯很久了,最近几年博客写的很少,原因有很多,一个这几年工作内容涉及到的公司内容比较多,不好去密,另一个是人真的是很懒惰的,放下笔很容易但是提起笔需要很多理由。今天这篇博客,没有技术,只想和大家分享分享最近的想法。认识我的朋友可能知道,这些年我另营业的副业做的还马马虎虎可以,无论是B站还是抖音,做视频做直播花费了很多精力,也有一些粉丝和收入。反而是安全方向,做了很多东西但是实际的产出很少,在去年有一段时间甚至算是有点儿陷入迷茫阶段,有点儿不太清楚自己在干什么,每天公式化完成工作,最后整体算下来感觉自己也没什么成长。我在奇安信的主要工作就是围绕破壳平台,后面我会更多分享和这个有关的内容https://poc.qianxin.com/对我来说近期有一件事情影响非常之大,AI之于用户甚至之于这个时代都已经是老生常谈,哪怕是什么都不懂的人,多多少少也能打开个手机里的豆包,没事问问豆包问题,调戏调戏豆包。从去年的年底开始,实话讲我并不知道具体是什么时候,有些人说是25年的10月,也有人说是更早,突然感觉AI的浪潮向我拍过来了,最开始我虽然会刷到这些新闻,但是很多时候只是大体看看怎么回事,大概知道,原来又多了一点儿新东西,但是好像也没啥新意。我工作中使用AI更多的场景,依旧是平时拿AI当搜索软件搜索写代码遇到的问题,再就是用trae维护另一个我自己维护的平台功能,我很少会深度的使用AI。在当时心中对于AI的认知还停留在,上下文不够长,幻觉严重的问题无法解决,这两个致命问题上,所以很多东西大概知道怎么回事,但是觉得没有花时间了解的必要。直到12月底的两件事情,算是彻底改变了我的观念,也让我真真切切的意识到,或许真的AI时代的洪流,要到来了。第一件事情就是,Claude Code的开发团队表示,在过去的30天,CC的所有???码都是由AI来完成的。其实说实话,我没有很刻意的求证过该内容是不是有夸大其词的成分,也可能他是一次成功的营销,实际就是,我在大体了解了这件事情后续的相关内容之后(就是这个作者分享了他是怎么用cc做到这件事情的),给我造成了第一次认知冲击。我相信在看到这句话,一定会有两种人对我讲的事情有完全不一样的第一反应。第一种,就是很早就深耕AI agent的朋友,第一反应会觉得,这不是很正常吗,这已经是ai agent最基础不过的应用场景了。另一种,就是当时的我,第一反应会觉得,假的吧怎么可能,我昨天用trae/cursor写代码,他还写出了一堆bug我修了一天。但在后续仔细研究了CC团队分享的内容之后,你会发现,即便不是100%,AI的自动化率也至少超过了95%,对我来说当时的第一个冲击就是,原来已经有人领先这么多了。第二件对我影响很大的事情就是,在12月的最后一天,我们团队内部做了一个专门的AI和漏洞挖掘的分享会,在这个分享会上,最早开始深度投入ai的团队,已经做出了一些非常不错的漏洞挖掘工作流,还有了很多成果。这和我之前的认知大相径庭,在这之前我看过的大部分漏洞挖掘工作流,要不就是装模做样做分析但实际上上下文根本不足以支撑正常项目,只能跑跑测试样例写论文,要不就是辅助写CodeQL的规则,实际上没有脱离工具本身。这两件事情几乎发生在同一时间,像洪流一样摧毁了我的认知,我自以为我天天了解AI的新闻,也在AI使用的第一线,但我自以为是的傲慢让我错过了最早跟上的第一班车。在我刚刚意识到这件事情之后,马上从1月一直到3月,AI的热潮就已经越演越烈,除了过年的几天,我几乎每天都在接触和辨别新东西的诞生,今天还在测试做工作流,明天研究这个那个skill,后天研究openclaw。我开始越来越意识到,我似乎正值某一个时代的风口。其实在我不短不长的职业生涯中,也接触过好几次类似的事情。我真正意义上错过的风口,其实只有一个,叫做移动互联网。但严格意义上来说也不算实际错过,毕竟移动互联网真正的核心腾讯、阿里、字节跳动,在我还没毕业的时候就已经成型了,最多就是没赶上第三波车,也不算非常可惜。我第二次遇到所谓的风口,叫做区块链。和第一次不太一样,我曾经深度的all in过区块链1-2年,不仅仅是区块链安全,还包括区块链相关的很多内容,我甚至可以说是世界范围内,最早投入区块链安全的人群之一。但在区块链这件事情上,我很快意识到,区块链最大的存在意义已经到这里了,金融就是他最好的场景,于是在后续的几年里我快速的从这里抽身出来。幸运的是我的认知是对的,炒币已经是区块链最大的意义了。不幸的是???如果我继续投入区块链,我应该能获得足以安慰自己的身家,当然,没有如果。在中间快速的跳过几年,上一次时代浪潮的风口叫做chatgpt,我认为chatgpt对于ai最大的贡献和价值,就是他终于帮助ai迈出了最关键的那一步,就是ai可以和人类沟通了。在chatgpt出现的前几年,无论是最出名的阿尔法狗下围棋击败柯洁,还是探讨神经网络模型的深度学术,ai对于大家来说更多只是一个科幻名词,人们对于AI最高的想象力也不过来自于科幻电影,很多人对于AI的期望可能还是50-100年后。2022年,chatgpt完全打破了普通用户和AI的第一扇窗,我们真正开始意识到,原来AI已经可以完成这么麻烦的语义解析了,可以完全打通语言这块,但最早的chatgpt也仅限于此。在最早的版本中,ai的实用性还很差,大部分用户只能以prompt工程师的方式,想办法调动ai的能力,更有能力的公司会开始尝试微调,真正入局的大公司开始堆算力训练自己的大模型。ps:只有我一个人觉得当年的prompt提示词没啥实际用吗?我最早一直觉得很怪。最早的AI上下文极短,本身AI的能力也不够强,最早的应用场景做知识库,他的应用办法也是取巧,RAG的知识库模式应该是最早唯一的实现方式。简单来说就是123456789用户提问 ↓将问题向量化(Embedding) ↓在知识库中检索相关文档(Vector DB) ↓将检索结果 + 原始问题拼接为 Prompt...
5 months ago
2025年12月3日,时隔4年,安全圈又一个通杀环境的核弹漏洞被公开,CVSS评分10.0,影响范围React 19+全版本,Next.js 15/16,无条件默认环境RCE漏洞,史称React2shell。该漏洞由安全研究员 Lachlan Davidson 于 2025 年 11 月 29 日发现,在3号被公开https://www.tenable.com/blog/react2shell-cve-2025-55182-react-server-components-rce最早的版本大家讨论的结论是,只有使用rsc作为后端的环境才会受到漏洞的利用,主要原因还是受到了最早版本poc的影响,也就是ejpir专门构造的漏洞环境和poc。但是很快maple3142在12月5日发布了真正的pochttps://gist.github.com/maple3142/48bc9393f45e068cf8c90ab865c0f5f3在更快的时间内,next.js默认环境全版本通杀直接影响了以dify为代表的许多平台,一下子引爆了漏洞的影响范围,漏洞正式进入2阶段,大范围利用以及企业内部自查阶段。漏洞影响范围影响范围包括react-server:19.0.0,19.1.0,19.1.1,19.2.0Next.js:14.3.0-canary、15.x...
almost 2 years ago
在2024.6.6今天,@Orange在他的博客发布了他即将在2024年8月Black Hat USA公开的议题《Confusion Attacks: Exploiting Hidden Semantic Ambiguity in Apache HTTP Server!》https://www.blackhat.com/us-24/briefings/schedule/index.html#confusion-attacks-exploiting-hidden-semantic-ambiguity-in-apache-http-server-40227伴随着议题的发布,今天在DEVCORE的官方博客发布了一个漏洞通报,也就是存在于windows特殊场景下的PHP...
about 3 years ago
在我们对ChatGPT的基础能力有了一定的了解之后,我们就要开始在ChatGPT的基础上探索更多的可能性。而ChatGPT本身的问题也很多,ChatGPT在使用上最大也最明显的革命,其实是对自然语言的处理能力,抛开太多专业性的术语,你在使用的过程中也能明显感觉到,ChatGPT甚至在某些方面有着比正常人更厉害的解读能力,它可以把一段模糊的要求和文字解读成需求,最牛逼的是它还支持中文,毕竟理论上中文的自然语言处理难度是几个量级。拿下面这个图举例子,我感觉我都没说明白,但却获得了答案。除了强大的自然语言处理能力,以及大模型背景下庞大的数据以外。ChatGPT还有很多明显的缺点,其中最直白的问题就是数据的过时以及不联网问题。目前ChatGPT的训练数据集截止到2021年,而没有准确数据集的数据,ChatGPT就没有置信数据可以参考,而这类问题ChatGPT就会通过某种方式自我学习产生,而他的结果就会产生各种各样的错误。当然,为了避免大数据污染等等问题,ChatGPT目前公开对外使用的接口,最多只会参考部分上下文以及限定单个对话session中做学习优化,但不会对用户的输入做学习。为了解决这个问题,ChatGPT选择了用第三方插件作为媒介,让AI在比较安全的环境学习外界的数据,最早的合作公司由Expedia、FiscalNote、Instacart、KAYAK、Klarna、Milo、OpenTable、Shopify、Slack、Speak、Wolfram 和 Zapier 创建。https://openai.com/blog/chatgpt-plugins其中的各种插件可以覆盖大部分的场景,包括:检索实时信息:例如体育比分、股票价格、最新消息等;检索知识库信息:例如公司文件、个人笔记等;代表用户执行操作:例如,订机票、订餐等。除此之外呢,ChatGPT官方还提供了两个插件,一个是网络浏览器,另一个是代码解释器,并开源了一个知识库检索插件的代码。现在,任何开发人员都可以自行构建插件,用来增强 ChatGPT 的信息库了。从这里开始ChatGPT+的概念算是诞生。虽然目前这部分的插件还只是开放给了候补名单中的用户和开发人员,但计划中即将开放给部分ChatGPT plus的用户了。一些有趣的ChatGPT周边除了ChatGPT官方的插件以外,还有很多以各种各样的方案实现的ChatGPT衍生产品,其中有很多意思的东西,这里我就推荐几个比较有意思的WebChatGPThttps://chrome.google.com/webstore/detail/webchatgpt-chatgpt-with-i/lpfemeioodjbpieminkklglpmhlngfcnWebChatGPT是一款Chrome的插件,它可以用一个特殊的方案来实现ChatGPT的联网,来让ChatGPT的返回数据更准确更新。他的实现方案特别有意思,简单来说,他会先把你的问题拿去搜索引擎上搜,然后把结果喂给ChatGPT,然后让ChatGPT以搜索结果作为上下文学习,之后再回答你的问题。插件安装成功之后,你的对话框上多了很多的参数Web access(是否要开启联网功能)、X results(想要它列出几条来源)、Time(多久之前的资料)、Region(哪个地区的资料),以及最右边的Prompt(默认指令)通过配置参数并开启,你可以获取到非常有时效性的内容,比如说询问天气。因为正常来讲你询问chatgpt天气会返回这样的内容。但如果你使用这个插件,你就可以获取这样的结果。但要注意的是,由于插件的实现方式(通过输入搜索内容关联上下文),使用WebChatGPT会大幅度削减原本对话中的上下文关联度,所以一般来说只有特定的场景下才使用这个插件。Monicahttps://chrome.google.com/webstore/detail/monica-%E2%80%94-your-chatgpt-cop/ofpnmcalabcbjgholdjcjblkibolbppb这个插件是Google for ChatGPT的进阶,它集合了你在上网过程中会遇到的各种问题和场景,并通过chatgpt来辅助使用。当然,这个玩意现在越来越成熟了,所以它也开始收费了,大家可以自己感受一下这个插件最常见的功能就是搜索辅助,会直接对你google的搜索结果做优化,直接返回你i想要查询的结果。可以大幅度节省找到答案的时间。最牛的是,它还支持百度。除此之外,还有一些比较有意思的东西,比如说划词右键解释使用ctrl+m可以打开侧边,这里有两个功能,一个是聊天和写作辅助它还可以提供阅读功能,可以直接给它一篇文章,然后让他阅读,他会直接给你返回文章的摘要。你可以通过这个对话聊天功能来快速的阅读一篇文章???AutoGPThttps://github.com/Significant-Gravitas/Auto-GPTAutoGPT诞生没多久,比起这个东西本身的效果,AutoGPT本身的思路和理念很有意思,AutoGPT依托于GPT4强大的算力和思考能力,对你的需求进行解构深入。比较麻烦得是,AutoGPT对算力的依赖比较强,GPT3.5能用但是很难用。而且由于AutoGPT的理念AutoGPT就像一个不知疲倦的实习生,他会对你下的指令进行多重解构,并对当前的问题持续发散探索更多话题。这里有个小例子,假设我想要一个web扫描器但是没有指定任何要求(你可以通过增加要求来优化回答的导向auto-gpt在分析了我的需求之后,提出了一个计划,是先去找一个网上的扫描器然后再根据需求改进,还提醒我小心代码的安全问题,不要盲目的clone代码。如果我们继续让他分析,他会继续把分析的内容细化并深入,你也可以指定连续多步去分析。当然除了让他继续分析,你也可以给与一些人工的干预,比如我说我不想要别人的代码,我想要自己写,他指出我们需要好好分析需求。其实现在阶段的AutoGPT更多还是一个概念产品,使用上的体验更接近一个demo。比起实际意义,AutoGPT通过反馈较正的方式给我们呈现了一种机器思考的感觉,很有趣。写在最后这篇文章里我们讨论的大多都是现在已经成型的一些基于chatgpt的拓展,作为使用者我们能做的很多只有适应时代,下篇文章我们就讲讲,在chatgpt的基础上我们作为开发者能做什么?
about 3 years ago
在上篇文章的结尾,我提到了ChatGPT其实更像是一把铲子,在拥有这把铲子之前,我们只知道可以把土堆成房子,但是不知道用什么把土堆起来,但在有了这把铲子之后,铲土只是铲子最直白的利用,如何用铲子堆一个又大又漂亮的房子可能我们还不知道,但至少我们现在已经开始尝试做这样的事情了。其实从ChatGPT诞生至今,所有从事相关研究的朋友都在努力的在ChatGPT上探索各种各样的使用方式,甚至现在已经诞生了所谓的prompt工程师。这篇文章就聊聊很多现在已有的关于ChatGPT使用的技巧。4A & 4W首先ChatGPT在自然语言的理解上虽然有着领先时代的表现,但事实上ChatGPT并不是你的蛔虫,你试图通过简单的问题获得准确的回答是不可能的,也不现实。这里我也用一下,在讲述这个问题时最常用的“如何减肥”的例子。如果你只是简单的问,那么chatgpt的回答就会模糊而概括。随着大家的探索,逐渐诞生了两种常用的扮演法指令模式,也就是4A & 4W。4A: Actor(角色) - Aim(目标) - Ask(提要求) - Addition(补充)4A模型是Prompt中比较典型的例子,晚上大部分流行的提问方式都是这个结构,还是拿减肥举例子,这一次我提供了我的身高和体重,并且给他赋予了角色定位。相比之前更简单的提问,ChatGPT给了更具体的回应以及更详细的范例,但实际上在这个范例中,虽然内容详细但事实上没有太具体的计划。在这个基础上,又有人提出了4W模型。4W...
about 3 years ago
在2023年年初,ChatGPT像一颗流星一样突然出现在大家的面前,围绕ChatGPT的探索也以各种各样的方式出现在大家的面前。相比基于ChatGPT的探索,openai的平台和国内的对抗反倒在潜移默化的升级,我没有了解过openai到底有什么样的背景导致一直执着于国内使用者的封禁,这篇文章就先讲讲我在这个过程的所有探索以及相应的解决方案吧。IP限制这个东西是在使用ChatGPT过程中遇到的最大的问题,而且其中的相应策略极其复杂,这里只列举我撞到的策略和绕过方案。通过代理解决首先来源IP这块就不用多说了,你正常直接去访问openai.com都会撞到GFW的拦截,当然作为技术从业者有自己的科学手段自然不用多说了,但如果说GFW是你入门的门槛的话,那chatgpt使用的方案可以说是釜底抽薪。国内百分之90的科学手段大抵上都是利用国外的服务器来实现的,而且除开使用机场的朋友以外,大部分都是使用比较有名的各种云服务器,chatgpt搞得第一个门槛就是,封禁了大部分的云服务器ip以及网段。vultr,godaddyaws,oricle,linode阿里云、腾讯云这就直接导致了一个问题,就是在ip层面你就需要想办法绕过。根据我的了解,其实大部分人都使用了比较冷门的云服务商或者比较冷门的机场来解决,这样比较一劳永逸,而我选择了用另一个方案就是v2ray+cf wrap,这里我就不详细解释具体是怎么回事了,大概是用了CF推出的一个相对比较真实的ip来做代理,很多朋友会用这个方案来绕过Netflix的限制。具体可以参考这个链接来实现。https://github.com/willoong9559/XrayWarp配置warp1、参考CF的文档来安装warphttps://developers.cloudflare.com/warp-client/get-started/linux/2、注册客户端1warp-cli register3、设置WARP代理模式1warp-cli set-mode proxy4、连接WARP1warp-cli connect此时WARP会使用socks5本机代理127.0.0.1:40000 5、打开warp always-on1warp-cli enable-always-on6、测试socks代理,理检查ip是否改变12export ALL_PROXY=socks5://127.0.0.1:40000curl ifconfig.me7、修改V2ray的配置为inbounds启动sniffing1234"sniffing": {...
over 3 years ago
随着ChatGPT的爆火,最近和人工智能有关的各个部分也有一次爆火起来,由ai制成的美少女也是最近的一个爆火的话题,花了一点儿时间了解了一下,感觉还挺有意思的,现有的工具已经是非常成熟可用的东西了,接下来简单介绍一下怎么玩Stable Diffusion WebUI这次我是用的是Stable Diffusion WebUI来生成ai图,这是一款现在非常流行的用ai来绘图的开源工具,给出一组描述词,ai就可以根据描述词画出你想要的图片。现在使用最多的是AUTOMATIC1111改进的图形化版本,支持Linux/Windows/MacOS系統,以及Nvidia/AMD/Apple的GPU,几乎没有门槛,装好即用。需要注意的是,这个玩意及其吃GPU以及显存,我的工作机跑这个一下就卡死了,很吃力。安装指南基础环境N卡或者A卡对应的驱动程序python3.10+,最好新一点儿Git环境Stable Diffusion模型Stable Diffusion生成图需要基础模型,主要有两部分脸部修复模型GFPGAN绘图使用的相关模型GFPGAN可以去https://github.com/TencentARC/GFPGAN/releases/tag/v1.3.4直接下载还有一部分是绘图相关的模型,这部分模型有很多,可以在很多不同的网站上搜索下载,比如https://huggingface.co/models或者https://civitai.com/都是比较有名的模型下载网站名称说明下载Stable DiffusionCompVis发布的基础模型,适合真人和动物。HuggingFaceChilloutmix写实风格的模型,融合真人和动漫风格HuggingFaceAnything适合漫画HuggingFaceWaifu Diffusion使用Danbooru图库训练而成,适合漫画HuggingFace你也可以选择在civitai上直接找自己喜欢的模型下载,ckpt后缀和safetensors后缀都快可以。在筛选中勾选Checkpoint对应的就是基础绘画模型。安装Stable Diffusion1、首先从github下载源码1git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git2、把前面下载的GFPGANv1.4.pth放在对应的文件夹下。3、下载相应的各种依赖库,windows执行bat,linux执行sh。12cd...
over 3 years ago
前段时间这个漏洞被挖掘出来之后的时候还是引发了很多关注的,但是最初一直都没有什么像样的分析文章出来,最早看@漂亮鼠的文章之后才大体上对这个漏洞有了一个基本的认识。https://mp.weixin.qq.com/s/l5e2p_WtYSCYYhYE0lzRdQ但是不知道是我的java水平真的不够,又或者说这篇文章中隐去的部分太多了,我顺着文章研究了一段时间但是几个点都串不起来。后来又接二连三的看了几篇文章,直到看完@pang0lin才算是把逻辑串联起来许多https://mp.weixin.qq.com/s?__biz=MzkzNjMxNDM0Mg==&mid=2247485450&idx=1&sn=5662a9f2c081fc8521eee651b357323f&chksm=c2a1dc83f5d655957cf2a1c88adf45cd0d028316f536e0a8a18c9e7cb0440869ed4077822ce8&mpshare=1&scene=1&srcid=1017PFOrquxivFM2ck4Prl9m&sharer_sharetime=1665993698480&sharer_shareid=8c0858e06fee9d607c68521b3949c3e9#rd这篇文章不知道什么时候发出来,主要是记录一下整个复现分析的心路历程,以便以后需要的时候没处看。漏洞原文https://www.cobaltstrike.com/blog/out-of-band-update-cobalt-strike-4-7-1/CVE-2022-39197An independent researcher identified as “Beichendream” reached out to inform us about...
about 4 years ago
SCA是什么?我想可能很多人都有这个问题。SCA的全称叫做Software Composition Analysis,有的朋友可能直接把他叫做软件成分分析,也可以叫他组件安全分析。现代的SCA大多数都是基于白盒的角度去做,也就是SAST中的一环,但是也有不少场景需求对二进制或者运行中软件做分析,当然这不是今天讨论的主要目标。这个东西最常见的地方就是github,github内置了一个简单的SCA扫描今天我们主要聊聊白盒角度的SCA,SCA这个东西听名字好像很复杂,但是实际上把它聊的简单一点儿可以拆开两部分,一个是组件数据,另一个是漏洞数据,我们分开聊聊这两个部分。组件数据部分其实组件数据对于现代的各种Web开发语言、框架啊没什么花头,每种语言都有自己的包管理工具。甚至里面的大多数语言依赖关系获取相当简单,比如php的composer.json,node的package.json,仅仅解析静态文件就可以获取非常完整的依赖关系。其中可以说问题最大的无非就是java的maven和gradle了,倒也不是说pom.xml获取不到相应的依赖,而是说java本身的组件体系完整而普适度高。这直接导致了,java当中频繁的使用了依赖引用链,这种引用关系往往可能存在2-3层以上,而这种依赖关系仅从静态的pom.xml中是没办法获取的。这个问题在我之间做java的sca时,困扰了我相当一段长的时间,主要是我对SAST的很大一个理念和现在主流的SAST工具不同,我认为纯静态对于SAST来说是一个相当重要的点,包括白盒的工具,我也是在力求纯静态的扫描,这点和CodeQL、Sonarqube都不同,反而是Checkmarx和我的思路比较接近。但是可惜的是,没有经过编译运行的java代码,一个是不会下载相应的组件包,你没办法通过解包jar的方式获取数据。另一个问题是,除了maven公开源的包,很多公司都会自建自己的artifactory,这样一来即便你本地已经存了数据量高达几十T的公开源依赖关系,你在公司中使用,也会出现大量的公司内部包,这样一来效果非常差。所以,关于这个依赖获取的东西,现在普遍都是使用动态获取的方式,其中陌陌安全公开的就是这类工具的一个典型。https://github.com/momosecurity/mosec-maven-plugin可以说,除了hook maven以外,可能大多数办法都不如一句简简单单的**mvn** dependency:tree来的更直白。其实抛开静态分析的角度,我们也可以把这个事情想的多元一点儿,前面的很多困扰都来自于静态的角度,我们总是在试图避免编译这个又浪费时间,又繁琐的步骤。但是换个角度去做,也许我们可以把脚本直接塞在CI/CD的流程中,甚至直接塞在Hids中,这种方案呢,在自动化程度比价高的公司非常好用,这本身也是DevSecOps中的一环。一个是避免代码库中的代码和实际运行的代码有差异(这个问题相当普遍),另一个是,这种方案本身对CI流程的干扰度也很低,因为编译本身就是流程的本身。好了,现在我们有了组件数据这个东西,有很多人会好奇,他能干什么呢?这里我拿个最简单的例子来说,你们公司的Log4j2影响范围是怎么排查的呢?组件数据作为DevSecOps中的一环,是相对更底层的部分,你可以把它构建在白盒中,也可以把SCA相对独立,接入Hids以及更多来源的数据,这个数据本身就是意义,以后在聊到DevSecOps的时候,我可能会着重聊聊流程相关的东西,这里暂时先不提。漏洞数据部分在我们有了足够的组件数据之后,我们要开始和安全结合了。其实漏洞数据库可以说是SCA的核心技术了,这本身是一个数据驱动的玩意。其实相对安全问题本身来说,合规可能是大多数SCA的主要目标,在国外,很多软件上市之前,都需要通过安全合规扫描,这个安全合规扫描一般来说是黑盒的,但是你很难估计到底有什么样的问题。而国外最有名的SCA就是BlackDuck,是新思做的一个东西,他本身其实安全的成分非常低,如果使用的朋友应该都知道,blackduck的扫描结果一个项目就有上千条,其中大多数都是那种毛用没有的问题。但是他最牛的地方就是,国外的很多检测机构使用的就是blackduck,所以很多厂商呢,也没有办法,为了通过安全合规扫描,就必须采购blackduck,为了这个简单的检测,blackduck的授权价往往有1年几百万,可以说是相当不讲理了。我们说回技术本身,实际上在安全圈内,每年爆出来的组件漏洞不能说很多,关键是大部分都是特殊配置,实打实正儿八经能用的,都是那种要不就是默认配置,要不就是常用配置,像log4j2这种级别的漏洞我估计每5年能出一次都是很厉害了,上一次出这类漏洞已经是很多年前的fastjson了。所以现在很多公司的自建安全SCA中,漏洞数据库都是自己构建的,漏洞数据由安全运营中心负责,一个是来自于安全情报,另外一个是来自于SRC收集或者黑盒扫描后的排查,可能这个漏洞数据库常年也就维护20、30个漏洞,反而是DevSecOps中补足不足的好办法。当然,你也许会问,会不会有那种有安全公司维护的API,可以提供有效的安全漏洞数据,目前我自己写的Kunlun-M中也是用了类似的方案,其中有两个API比较好用,一个是google的,另一个是osindex的,大家可以自己了解一下。https://deps.devhttps://ossindex.sonatype.org在这个网站中,你可以通过api查询提供对应的组件版本,他就会返回这个版本的所有漏洞列表。在之前的<DevSecOps 究竟需要怎样的白盒?>这篇文章中,我把SCA分成了3个阶段。第一阶段 - 漏洞数据库最早期的SCA主要构成是漏洞数据库,一般来说,SCA开发者会通过爬虫去爬取CVE等各种漏洞公示网站,其中最重要???是如何将漏洞关联到组件以及版本中。这个阶段就是我们现在的大多数SCA阶段,一个是漏洞数据没有特别好的办法精细化,另外一个是,乙方公司的工具大多都需要应对更多场景,所以漏洞数据库不免就会大而全,使用起来效果就会非常差了。第二阶段 - 函数级漏洞数据库第二阶段的SCA就是为解决第一阶段的问题而诞生的。一般来讲,如果仅靠对比版本,业务开发人员会在短时间内收到大量的漏洞报送,其中甚至会包括大量没有修复版本、更新成本高的组件。而这时候大多数的业务反馈都会是“我写的那个地方会有安全问题?我该怎么办?”。而这时候,如果可以将漏洞数据库至少细化到某个类/函数级,将会大大提高漏洞的有效性,也能为无法通过版本更新修复的漏洞提供解决方案。第三阶段 - 代码片段级漏洞数据库第三阶段的SCA,在第二阶段的基础上,将漏洞数据库进一步细化到代码片段级。一般意义上来说,这个级别的扫描主要解决的是大量项目中通过复制、二次开发的安全问题,而相应付出的代价可能是成几何级提高的数据库量以及扫描压力。到这个阶段的投入是否值得可能还有待考量。现在主流的SCA大部分还停留在第一阶段,部分商业的SCA开始逐步探索第二阶段、第三阶段,但真正将SCA完全自动化接入到DevSecOps流程中,我想还有很长的路要走(找10个“人工”智能审核...