请选择 进入手机版 | 继续访问电脑版
搜索
房产
装修
汽车
婚嫁
健康
理财
旅游
美食
跳蚤
二手房
租房
招聘
二手车
教育
茶座
我要买房
买东西
装修家居
交友
职场
生活
网购
亲子
情感
龙城车友
找美食
谈婚论嫁
美女
兴趣
八卦
宠物
手机

GitHub 开源代码分析引擎 CodeQL,并启动 3000 美元漏洞奖励计划

[复制链接]
查看: 86|回复: 0

8157

主题

8157

帖子

2万

积分

管理员

Rank: 9Rank: 9Rank: 9

积分
24481
发表于 2019-12-3 08:59 | 显示全部楼层 |阅读模式
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 20161215161228511-1294618395
  克日,GitHub 在举世斥地者大会上,公布启动了一个名为「平安实行室 (Security Lab)」的新社区筹划。该筹划中,GitHub 不单开源了代码分析引擎 CodeQL,还设备了嘉奖金最高为 3000 美圆的毛病嘉奖筹划。
  GitHub 平安实行室的使命是启发并赋能举世平安研讨社区,庇护举世代码的平安;意将进一步打点代码平安困难,美满开源社区不够,为开源社区的优良代码进献打下杰出根柢。这一筹划也获得了很多大牛企业为代表的支持,包含 Microsoft,Google,Intel 等,现雷锋网 AI 斥地者将这一社区具体内容整理编辑以下。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326700-96865796

  平安毛病的火眼金睛 CodeQL
  CodeQL 是 GitHub 刚推出的一款新开源工具。这是一款语义代码分析引擎,旨在查找大量代码中同一毛病的差别版本。
  CodeQL 可以帮助我们跨代码库发现毛病;答应我们像查询数据一样查询代码、编写查询以查找毛病的全数变体,并将其永久消除;同享该查询结果以帮助其他人消除毛病。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326698-288840426

  其中,QL 是查询说话,也是 CodeQL 的根柢,公用于分析代码。这是一种逻辑编程说话,是以它由逻辑公式组成。QL 利用公共逻辑毗连词(如 and,or,和 not)、量词(如 forall 和 exists)、以及其他严重的逻辑概念。查询语句示例以下(实现将 null 增加到聚集):
  1. import javafrom MethodAccess call, Method addwherecall.getMethod () .overrides*(add) andadd.hasName ("add") andadd.getDeclaringType () .getSourceDeclaration () .hasQualifiedName ("java.util", "Collection") andcall.getAnArgument () instanceof NullLiteralselect call
复制代码
  QL 还支持递归和聚合,这答应我们可以利用简单的语法编写复杂的递归查询并间接利用函数库,比如:count,sum 和 average。
  是以,利用 CodeQL 编写的查询可以发现毛病及严重平安毛病的变体。而除了 GitHub 平台外,CodeQL 也已经利用于此外平台的毛病代码扫描活动中,如 Mozilla。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326702-1935141735

  更多关于 QL
  https://help.semmle.com/QL/learn-ql/
  CodeQL 该怎样利用?

  • 在线查询
  我们可以利用 LGTM 平台(https://lgtm.com/query/rule:1823453799/lang:java/)上的 CodeQL 查询控制台,在流行的开源代码库上间接运转现实查询。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326693-761194020

LGTM 平台界面,间接编写需要查询的代码

  当了解发现有毛病的形式后,我们就能在全部代码库中查找出类似的情况。鄙人面的示例中,我们利用了内置的 CodeQL 库对不服安的反序列化形式举行编码,以举行数据流和污点跟踪。
  1. UnsafeDeserialization.qlfrom DataFlow::PathNode source, DataFlow::PathNode sink, UnsafeDeserializationConfig confwhere conf.hasFlowPath (source, sink)select sink.getNode ().(UnsafeDeserializationSink) .getMethodAccess (), source, sink,"Unsafe deserialization of $@.", source.getNode (), "user input"
复制代码

  • 当地查询
  假如需要在当地编写和运转查询,可以经过安装 Visual Studio Code 的 CodeQL 扩大而实现。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326718-1823612037

在 Visual Studio 中写入和运转查询代码

  安装 CodeQL 扩大后,具体操纵步伐为:
  1. 获得 CodeQL 数据库
  在 LGTM.com 上搜索要研讨的开源项目,然后导入项目页面;
  将所下载的和项目自己的 CodeQL 数据库增加到 VS 代码中,实现对这些指令的利用;
  2. 查询代码并查找毛病
  复制 CodeQL starter 工作区并在 VS Code 中翻开它;
  经过右键单击查询并挑选「运转查询」来运转查询;
  有关具体信息,请参阅文档:
  https://help.semmle.com/codeql/codeql-for-vscode.html

  • 查询开源代码库
  按照 OSI 答应的开源答应证相关规定,我们可以为合适条件的任何项目建立 CodeQL 数据库。
  CodeQL 分析依靠于从代码中提取关系数据,并利用它来构建 CodeQL 数据库(https://help.semmle.com/codeql/glossary.html#codeql-database)——该目录包含在代码上运转查询所需的全数数据。
  在天生 CodeQL 数据库之前,您需要:
  安装并设备 CodeQL CLI。(有关更多信息,拜见下面的 CodeQL CLI 入门)
  迁出要分析的代码库的版本。该目录应已预备好建立,并已安装全数依靠项。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326681-1881359708

查询开源代码库示例

  但需要留意的是,GitHub CodeQL 只能用于在 OSI 答应的开源答应下公布的代码库,大要用于实行学术研讨。它不能用于自动化分析、持续集成或持续托付,不管是作为一般软件工程进程的一部分还是其他。
  CodeQL 扩大具体文档:
  https://help.semmle.com/codeql/codeql-for-vscode.html
  当地查询下载地址:
  https://marketplace.visualstudio.com/items?itemName=github.vscode-codeql
  CodeQL CLI 入门:
  https://help.semmle.com/codeql/codeql-cli/procedures/get-started.html
  CodeQL「捕捉标志」应战
  假如你想应战毛病搜索技术并快速进修 Semmle CodeQL,可以尝试完成给出的使命,即经过利用 CodeQL 来找到 jQuery 插件的变体——这些变领会使客户机袒露于未记载的 XSS(跨站点剧本)毛病。
  具体而言,jQuery 是一个很是流行的、但很旧的开源 JavaScript 库,旨在简化 HTML 文档遍历和操纵、事变处置、动画和 Ajax 等工作。制止 2019 年 5 月,jQuery 在 1000 万最受接待网站中的利用率为 73%。jQuery 库支持模块化插件,全国各地的斥地职员已经实现了数千个插件,无缝地扩大了 jQuery 的功用。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326691-31826469

  而 Bootstrap 则是一个普遍利用 jQuery 插件机制的流行库;可是 Bootstrap 中的 jQuery 插件曩昔是以一种不服安的方式实现,这大要会使 Bootstrap 的用户轻易遭到跨站点剧本(XSS)进犯。
  这是指进犯者利用 web 利用步伐向其他终极用户发送恶意代码(凡是是以阅读器端剧本的形式);而这些恶意剧本可以拜候阅读器保存并与该站点一路利用的任何 cookie、会话标志或其他敏感信息。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326688-1374563297

  是以,在全部查找进程中,你需要利用分步指南编写查询,从而查找指导中未平安实现的 jQuery 插件。完成后将答案发送至 ctf@github.com 则可获得获奖机遇。GitHub 将选出 2019 年 12 月 31 日前收到的两个最好 CodeQL 查询获得大奖;还将挑选 10 个额外的 CodeQL 查询来赢得此外奖品。
  检察畴前的应战:
  https://securitylab.github.com/ctf/jquery
  提升平安的更普遍筹划
  此外,近来 GitHub 还成为授权的 CVE 编号公布机构,即它可以也许为毛病公布 CVE 编号。这一功用已经增加至「平安倡议」办事功用中。毛病修复后,项目全数人便可以公布平安通告,而 GitHub 将向全数利用本来保护职员的代码的易受进犯版本的上游项目全数人;但在公布平安通告前,项目全数人同时可以间接向 GitHub 请求并收到 CVE 编号。
  固然,除了代表声誉的 CVE 之外,Github 也倡议了奖金机制,利用 CodeQL 举行挖掘新毛病的平安研讨员可以最高获得 2500 美圆的赏金;假如编写的 CodeQL 查询代码质量够高,甚至还能被授与 3000 美圆的嘉奖。
  赏金具体法则:
  https://securitylab.github.com/bounties
  除了新推出的平安实行室外,GitHub 还推出了「GitHub 平安通告数据库」,用于收集平台上能找到的全数平安通告,可以为大家追踪在 GitHub 托管项目中找到的平安毛病题目供给更大的便当空间。
  末端,GitHub 还更新了 Token Scanning 自有办事。它可以也许扫描用户项目中失慎在源代码中遗留的 API 密钥和令牌。该办事此前可以也许为 20 种办事检测 API 令牌,而新版本可以也许检测的格式又增加四个厂商:GoCardless、HashiCorp、Postman 和腾讯云。
我的关键词 GitHub 开源代码分析引擎 CodeQL,并启动 3000 美圆缝隙嘉奖计划  热门消息 34358-20191202155326704-158320227

  Github 地址:
  https://securitylab.github.com/tools/codeql/

免责声明:假如加害了您的权益,请联系站长,我们会实时删除侵权内容,感谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Copyright © 2006-2014 淄博新闻网-淄博日报 淄博晚报 淄博财经新报 掌中淄博 淄博专业新闻资讯发布网站 版权所有 法律顾问:高律师 客服电话:0791-88289918
技术支持:迪恩网络科技公司  Powered by Discuz! X3.2
快速回复 返回顶部 返回列表