首页 文章 精选 留言 我的

精选列表

搜索[聚类],共10000篇文章
优秀的个人博客,低调大师

ChatGPT类AI软件供应链的安全及合规风险

AIGC将成为重要的软件供应链 近日,OpenAI推出的ChatGPT通过强大的AIGC(人工智能生产内容)能力让不少人认为AI的颠覆性拐点即将到来,基于AI将带来全新的软件产品体验,而AI也将会成为未来软件供应链中非常重要的一环。 在OpenAI的文档中,例举了可以利用其实现的48种应用场景,人们在积极探索如何将以ChatGPT为代表的AI能力应用到各行各业。 OpenAI中的应用举例 从应用上,学生可能成为了第一批的风险群体。在线课程厂商Study.com针对1000名18岁以上学生的调研发现,89%的美国大学生使用ChatGPT做家庭作业,53%的学生用它写论文,48%的学生使用ChatGPT完成考试。为了避免学生过于依赖此类工具,防止作弊,多个国家的学校已经开始禁止学生使用ChatGPT。 针对ChatGPT带来的影响还没有系统性的研究,而在ChatGPT之前,2021年OpenAI与GitHub联手推出了AI代码生成工具Copilot。Copilot基于OpenAI通过数十亿行代码训练的Codex模型,能够基于上下文中的内容实现代码的自动补全。在其推出的首月就有超过40万的开发者订阅,而类似的工具还有tabnine、亚马逊公司的CodeWhisperer,都在「抢占」程序员写代码的空间。 GitHub Copilot工作原理 GitHub通过实验发现: 使用 Copilot 能够显著提高开发者的任务完成率(实验中使用Copilot的完成率为 78%,而未使用的为 70%) 使用 Copilot 的开发者的开发速度比不使用要高55%,提升显著(使用 Copilot 的开发者平均用时为 1 小时 11 分钟,而未使用的开发者平均用时达 2 小时 41 分钟) 而在体验上,通过调研发现: 90%的开发者认为提升了工作的速度 60% 至 75%的开发者认为对工作的满意度有所提升 87%的开发者在处理重复性工作时缓解了精神内耗 可以预见,会有越来越多的开发者基于Copilot这类的智能代码生成工具进行开发,其生成的代码结果可能随着时间的积累被更多开发者信任。 作为软件供应链将带来的安全及合规风险 安全问题本质上是信任问题,对于AIGC尤是,随着其应用的广泛,人们接触到的各类内容都可能是AI生成的。 由此对于开发者、用户而言,可能存在以下风险: 引入漏洞代码 根据 OpenAI 的评估,Codex 只有 37% 的几率会给出正确代码。除了存在无法运行的bug以外,基于AI编写的代码可能引入漏洞。Hammond Pearce等人通过研究89个场景中生成的代码,发现GitHub Copilot给出的结果中40%存在漏洞。如下图中生成的python代码,由于将参数直接拼接进SQL语句中,导致存在SQL注入风险。 GitHub Copilot生成的漏洞python代码示例 究其原因,可能由于Copilot的训练数据来自于开源代码,大量的开源代码以个人项目为主,不会像在企业场景或在真实场景中使用一样考虑其安全性,也就是其数据从安全性上可能就存在不均衡;而在训练样本选择时可能也未对其安全性进行检测、过滤,直接用于训练,因此导致开发者直接使用生成的代码,有很大几率引入漏洞风险。 模型被投毒 数据源投毒 模型训练的数据通常来源于公开获取的内容,如果数据源被攻击者控制,在数据标注时又未进行识别,攻击者就可能通过在数据源中添加恶意数据,干扰模型结果。对于数据源较为单一的场景,投毒的可能性更高。最近Google在发布Bard时就因为提供了错误的事实结果,导致当日股价大跌。在被问及“关于詹姆斯韦伯望远镜的新发现,有什么可以告诉我九岁孩子的?”时,Bard 回答:“第一张系外行星照片是由詹姆斯韦伯望远镜拍摄。”而事实却是由欧洲南方天文台的甚大望远镜在 2004 年拍下的,此时距离詹姆斯韦伯望远镜升空还有 18 年之久。 Bard 关于詹姆斯韦伯望远镜演示截图 使用过程投毒 如ChatGPT使用了基于人工反馈的强化学习机制,AIGC模型可能根据用户的反馈来对其模型进行修正。如同区块链中的51%攻击,如果模型被大量的用户对同一个内容提交错误的反馈,那么模型则会被错误地修正。如果攻击者发现了类似调试模式的开关,也可能站在模型开发者的上帝视角实现投毒。 OpenAI针对AI模型存在一些限制策略,不允许ChatGPT输出。而Reddit中一位名叫walkerspider的用户发现,可以通过对话赋予ChatGPT一个打破限制的沙盒环境,从而让ChatGPT不受到其策略限制,这类行为被称作提示符注入攻击(prompt injection)。 使ChatGPT假装成一个不受限制的DAN 模型存在后门 当模型变得越来越强大,也就会被赋予越来越多的能力,原来只是生成内容的AI,可能具备执行其他工作的bot能力,这些能力可能被滥用甚至作为后门进行入侵。 来自斯坦福大学的学生 Kevin Liu就通过提示符注入发现了微软新上线的聊天机器人(Bing Chat)存在的开发调试模式,通过对话让AI进入开发者覆盖模式(Developer Override Mode),他了解到Bing Chat在微软内部称为Sydney,了解到它创建的时间以及模型的规则限制。 Kevin Liu让Bing Chat进入开发者覆盖模式的截图 当AI成为用户与业务的交互入口,那么AI就可能成为企业网络安全新的攻击面,如果它具备了执行代码、网络访问这样的能力,那攻击者又未尝不可以通过文字控制AI入侵网络呢。 隐私数据泄漏 从应用的用户使用场景来看,在用户交互过程中,用户可能提供一些隐私信息,可能是显式的姓名、手机号、地址等个人信息,也可能是个人的心理状态、偏好等在交互内容语义中隐含的信息。取决于这些隐私信息的受保护程度,其可能以实名/匿名的形式,流向模型的开发者、数据标注团队,他们可以获得用户的隐私信息;也可能直接被用于训练,其输入的隐私数据可能被作为模型的输出,从而其他用户获得这些隐私信息。 从模型训练的数据来源看,如果采集到了包含隐私信息的数据作为样本,没有进行人为过滤、标注,则在输出时可能包含这些隐私信息,个人隐私通过AI扩散暴露到更大的范围。 有开发者在使用Copilot的过程中发现自动补全会提示身份证号信息,GitHub的CEO Nat Friedman曾回应此类事件称涉及隐私信息的都是随机产生的假数据。 开发者发现Copilot能够补全身份证号 由于存在数据风险,亚马逊、微软都提醒员工不要在与AI交互的过程中输入敏感信息。而在OpenAI的使用条款中也说明会收集用户使用过程中的信息,但没有说明具体的用途。由此也引发了一些欧洲律师的质疑,由于欧盟的GDPR法规要求个人信息数据应具有被遗忘权,而AI获取到的数据,被训练成了模型就如同黑箱一般存在,自动化的过程难以完全删除痕迹。 OpenAI使用条款中对信息收集的说明 知识产权合规 AI更快生产内容的同时,也模糊了内容的知识产权风险,由此可能带来合规的隐患。 从数据获取的来源上看,训练过程中获取的数据可能是有相应著作权的内容,如开源代码中有大量使用GPL许可证的代码,基于GPL许可证代码进行软件的二次发布,则也需要提供软件源码,否则属于侵权行为。而Github Copilot有0.1%的几率会给出与原始训练数据完全一样的代码,这部分代码很可能就有GPL类似的开源许可证约束。 在《雷神之锤3》游戏中用到了一个特殊的快速平方根倒数算法来进行效率优化,其中还包含难以理解的魔术数字0x5f3759df。有开发者发现当在注释中输入「fast inverse square root」时,GitHub Copilot就可以给出《雷神之锤3》中完全一样的代码。 Copilot补全使用了雷神之锤3游戏中快速平方根倒数算法代码 从生成的内容来看,自然人、法人或者非法人组织才能算作作者,AI不能算作我国《著作权法》中的作者,因此难以对AI生成的内容进行版权保护,其知识产权是属于模型的开发者还是使用者,可能存在分歧,需要参看使用条款中的约定。例如OpenAI的使用条款中明确,只要用户在遵守法律规定、使用条款限制,并且对输入内容具备所有权的情况下,OpenAI就会将其在输出内容中的所有权利、所有权和利益转让给用户。 总结 以ChatGPT为代表的通用大模型在迅速发展,软件的开发模式、产品形态正在因为AIGC的崛起而发生改变,软件产业可能迎来一次革新。 AI将成为软件供应链中的重要组成部分,随之而来在用于应用开发的过程中可能引入各种安全及合规风险,包括:漏洞代码的引入;模型可能由于训练数据的偏差或在使用过程中受到提示符注入的攻击,导致输出的结果被投毒干扰;其本身可能存在后门指令,一旦被开启则可能成为特洛伊木马大杀四方;在数据隐私保护上,AI模型还是黑箱式的存在,在训练、使用交互的过程中隐私数据存在泄漏风险;AI模型很可能使用受到版权保护的内容作为结果输出,而对于AI生成内容的知识产权保护还无法完全适用现有法律。 这些风险的存在也不意味着对技术应用的否定,真实风险的出现恰恰意味着技术落地应用的开始,也是走向成熟的必经之路。 参考链接 https://blog.symops.com/2022/08/31/amazon-codewhisperer https://github.blog/2022-09-07-research-quantifying-github-copilots-impact-on-developer-productivity-and-happiness/ https://tv.cctv.com/2023/02/10/ARTIOriyjc8CgGHfG4kCoEZ8230210.shtml https://arxiv.org/pdf/2108.09293.pdf?nylayout=pc https://www.spiceworks.com/it-security/security-general/news/40-of-code-produced-by-github-copilot-vulnerable-to-threats-research/ https://www.cnbeta.com.tw/articles/tech/1343655.htm http://finance.people.com.cn/n1/2023/0210/c1004-32621303.html 免费代码检测/情报预警 墨菲安全是一家为您提供专业的软件供应链安全管理的科技公司,能力包括代码安全检测、开源组件许可证合规管理、云原生容器安全检测、软件成分分析(SCA)等,丰富的安全工具助您打造完备的软件开发安全能力(DevSecOps)。 旗下安全研究团队墨菲安全实验室,专注于软件供应链安全相关领域的技术研究,关注的方向包括:开源软件安全、程序分析、威胁情报分析、企业安全治理等。公司核心团队来自百度、华为等企业,拥有超过十年的企业安全建设、安全产品研发及安全攻防经验。 免费代码安全检测工具:www.murphysec.com/?src=osc IDE插件说明文档:www.murphysec.com/docs/guides… 免费情报订阅:www.oscs1024.com/cm/?src=osc

优秀的个人博客,低调大师

Idris 2 v0.4.0 发布,类 Haskell 的纯函数编程语言

Idris 2 v0.4.0 发布。此版本主要变化包括语法变更、编译器变更、REPL/IDE 模式变更、库的变更,以及 API 变更等。 Idris 是一个类似 Haskell 的纯函数编程语言,类型系统支持 dependent types。 依赖模式匹配的依赖类型系统 简单的 C 函数接口 编译器级别的编码支持 where 语句, with 规则, 简单的 case 表达式, 模式匹配 let 和 lambda 绑定 Dependent records with projection and update Type classes 类型驱动的重载方案 do notation and idiom brackets 缩进语法 可扩充的语法 Cumulative universes 整体验证 类似 Hugs 的交互环境 语法变化 带"""分隔符的多行字符串 (#1097) 使用with关键字后强制严格缩进 (#1107) 参数块 (parameter block) 的语法已更新。它现在允许声明隐式参数并为参数提供多重性,旧语法仍可用于兼容性目的,但将来会被删除 添加对 SnocList 语法的支持:[< 1, 2, 3]desugars intoLin :< 1 :< 2 :< 3,以及高亮显示 编译器变化 添加更多优化和转换,特别是在 case 块、列表型的类型和枚举上,因此生成的代码通常会稍微快一点 添加--profile标志,如果后端支持,则会生成配置文件数据。目前由 Chez 和 Racket 后端支持 添加了一个环境变量IDRIS2_PACKAGE_PATH用于扩展查找包的位置 实验性标志(-Xcheck-hashes)用于检查散列而不是文件系统时间以确定是否应重新编译文件,这将助于 CI/CD 缓存 详情查看 Changelog。

优秀的个人博客,低调大师

又双叒一个类Unix操作系统停止开发!!!

近日,TrueOS(原 PC-BSD)项目团队发布公告,正式宣布TrueOS 项目停止开发。 TrueOS项目团队公告称: 怀着沉重的决心,TrueOS项目的核心团队决定中止开发TrueOS。我们仍将大量参与FreeNAS和TrueNAS CORE等其他开源项目。我们为TrueOS及其前身PC-BSD所做的工作感到无比自豪。 TrueOS源代码将继续在GitHub上提供给其他可能想要继续使用的人,对TrueOS和PC-BSD的忠实拥护者的感激我们无以言表,虽然这是一个艰难的决定,但它也是一个正确的决定,因为我们都像TrueNAS CORE一样参与了许多激动人心的新项目。 团队负责人Kris表示从最近一次提交(1月初)就开始打算放弃TrueOS,此外他还在表示在过去的两到三年里,项目核心团队成员都把重心转移到了TrueNAS CORE /企业和其他一些项目现在。最重要的一点原因是很少有社区对该领域有所需求,因此我们几乎都转移到了其他方面。 TrueOS在2006年启动时,它被命名为PC-BSD,但在2016年,名称更改为TrueOS正式成为FreeBSD的下游分支,从那之后,TrueOS / PC-BSD提供了最佳的BSD桌面体验,其模块化、实用性吸引了大量的用户。 在过去的两年里,这种情况开始出现改变,特别是项目团队忽视台式机需求之后,对于那些希望在TrueOS / PC-BSD之后的时代中寻求对桌面友好的,基于BSD的操作系统以及开箱即用的人来说,TrueOS停止开发后,可以尝试GhostBSD和MidnightBSD。 【责任编辑: 赵宁宁 TEL:(010)68476606】

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册