本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载

作者:蛋酱

机器之心整理

在 GitHub 发布项目之前,你可以用免费的官方代码扫描程序来检查 Bug 了。

编程很难,难就难在常有 Bug 而不自知。有程序员调侃:「我不是在写代码,我是在写 Bug。」

从现在开始,你在 GitHub 上传的代码可以免费使用 Bug 筛查程序了。早发现,早报告,早诊断…… 以及早修复。

去年 9 月,GitHub 收购代码分析平台企业 Semmle,宣布将在 GitHub 的开发者工作流程中引入代码安全性流程。

代码扫描是 GitHub Advanced Security 计划中的一部分。今年 5 月的 Github Satellite 2020 大会,GitHub 率先推出了代码扫描功能的 beta 版,免费提供开源代码扫描功能。启用后,将对每个「git push」进行扫描以查找新的潜在安全漏洞,并将结果直接显示在请求中。

据 GitHub 介绍,在内测阶段,有 12000 个存储库接受了代码扫描,扫描次数达到 140 万次,总共发现了 20000 多个安全问题,包括远程代码执行(RCE)、SQL 注入和跨站脚本(XSS)的漏洞。开发者和维护人员在一个月内修复了 72% 的已报告安全问题,比例远高于业内统计的 32% 的 30 天内修复率。

经过几个月来众多开发者的的测试与反馈,九月的最后一天,GitHub 宣布「代码扫描」正式上线了。

目前,代码扫描面向公共存储库是免费的。此外,面向使用 GitHub Enterprise 团队,代码扫描功能是 GitHub Advanced Security 的一部分,能够帮助团队更早地查找出项目中的安全漏洞。

代码扫描功能首先是基于开发者的需求设计的,默认情况下,代码扫描不会提供过多的建议以免造成干扰,只会在保证安全的原则下运行,让开发者能够专注于手头的任务。

代码扫描与 GitHub Actions 或用户现有的 CI / CD 环境集成在一起,为团队工作提供最大的灵活度。它会在代码被创建时进行扫描,并拉取请求以及用户日常使用的其他 GitHub 服务中可操作的安全性审查,使得自动化安全检查成为工作流的一部分——这样做的目的是让漏洞无法进入生产环境。

该功能由目前功能最强大的代码分析引擎 CodeQL 提供支持。用户可以使用 GitHub 及社区创建的 2000 多个 CodeQL 查询,也可以创建自定义查询来查找和避免新的安全问题。

运行代码扫描程序可能需要几分钟:首先,在 GitHub 上找到存储库的主页,点击存储库名称的「Security」按钮。

然后点击「代码扫描」右侧的「Set up code scanning」:

在「Get started with code scanning」下,在 CodeQL 分析工作流或第三方工作流上单击「Set up this workflow」。

之后可以自定义代码扫描,通常可提交 CodeQL 分析工作流,无需对其进行任何更改。但许多第三方工作流程需要其他配置,因此在提交之前还需要读一下工作流程中的注释。使用「Start commit」下拉菜单,然后输入提交信息,并选择直接提交到默认分支,还是创建一个新分支。

检查流程运行完毕后,用户可以查看已识别的所有代码扫描警报的详细信息。比如触发警报的代码行以及警报的属性,还有何时首次出现该问题的地方,对于通过 CodeQL 分析确定的警报,还能看到有关如何解决问题的指引。

操作指南全文:https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/enabling-code-scanning-for-a-repository

基于 SARIF 标准,代码扫描功能是可扩展的,用户可以将其他静态应用安全检查方案加入 GitHub 原生体验中,比如集成第三方扫描引擎以实现在单个界面查看所有安全检查的结果,或者通过单个 API 导出多个扫描结果。后续 GitHub 也会发布一些有关扩展功能和合作伙伴生态的信息。

同时,开发者们也会发现,GitHub 正悄悄完善「同性交友平台」的功能。就在今天,GitHub 还上线了「限制拉取仓库」、「关闭互动区」等功能。

比如你可以设置某个项目的互动时限,24 小时、3 天、一个月、半年内。这一幕好像有点熟悉……

不知这样的「朋友圈」,是不是符合程序员们的口味?

--end--

扫描下方二维码

添加好友,备注【交流群

拉你到学习路线和资源丰富的交流群

GitHub官方代码扫描工具上线,免费查找代码漏洞 !相关推荐

  1. GitHub 官方代码扫描工具上线!

    点击上方 Java后端,选择 设为星标 优质项目,及时送达 作者:蛋酱:本文经机器之心(微信公众号:almosthuman2014)授权转载,禁止二次转载. 在 GitHub 发布项目之前,你可以用免 ...

  2. Android Studio 工具:Lint 代码扫描工具(含自定义lint)

    什么是 Lint Android Lint 是 SDK Tools 16(ADT 16)开始引入的一个代码扫描工具,通过对代码进行静态分析,可以帮助开发者发现代码质量问题和提出一些改进建议.除了检查 ...

  3. 静态代码扫描工具(多种)简要入门介绍-SonarQube社区版-免费、TscanCode工具、PMD工具、flake8工具

    SonarQube社区版-免费 适用语言:Java, C#, JavaScript, TypeScript, CloudFormation, Terraform, Kotlin, Ruby, Go, ...

  4. 【解锁】flake8——python官方代码扫描工具

    传送门 python官方代码扫描工具 Flake8 是由Python官方发布的一款辅助检测Python代码是否规范的工具,flake8是下面三个工具的封装: PyFlakes Pep8 NedBatc ...

  5. coverity代码检测工具介绍_Coverity代码扫描工具

    1.说明:Coverity代码扫描工具可以扫描java,C/C++等语言,可以和jenkins联动,不过就是要收钱,jenkins上的插件可以用,免费的,适用于小的java项目 2.这是Coverit ...

  6. 静态代码扫描工具汇总

    一.概述 在软件开发过程中,开发团队往往要花费大量的时间和精力发现并修改代码缺陷.传统的代码评审.同事复审,通过人工方式来检查缺陷仍然是一件耗时耗力的事情.而静态代码扫描工具能够在代码构建过程中帮助开 ...

  7. Android和iOS静态代码扫描工具

    Android 名称 来源 功能特点 检查SQL注入 检查NullPointException 支持IDE情况 Android Lint Android SDK 针对Android,检查范围广 否 是 ...

  8. 想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研

    想做一个整合开源安全代码扫描工具的代码安全分析平台 - Android方向调研 http://blog.csdn.net/testing_is_believing/article/details/22 ...

  9. java 静态扫描_静态代码扫描工具 – (八)- 扫描Java项目

    静态代码扫描工具 – (八)- 扫描Java项目 1.准备好Java项目代码 只要是java语言实现的项目均可. 比如,自动化测试的代码,测试平台等均可以. 本次案例,使用java语言实现的测试平台来 ...

最新文章

  1. Ext4核心组件Grid的变化及学习(3):可编辑的grid
  2. 如何防止WordPress博客内容被恶意复制的教程
  3. 两个有序链表序列的交集_腾讯50题---合并两个有序链表(简单)
  4. 删除苹果自带软件后果_ghost explorer工具怎么删除ghost自带软件【详细教程】
  5. 吉林大学计算机专业宿舍研究生,吉林大学计算机系的研究生宿舍怎么样?我想考那的..._在职考研_帮考网...
  6. 51Nod-1031 骨牌覆盖【递推】
  7. 荔枝hsv空间图像分割程序matlab,基于稀疏场水平集的荔枝图像分割算法_毛亮
  8. C++对象在内存中的布局
  9. 1.9w粉丝带动近100w播放量,推广黑马不止一位
  10. W25Q128芯片的SPI驱动设计
  11. 娜璋荆棘(二)不忘曾经眼里的对方多美好,程序员的荆棘人生
  12. matlab的程序设计心得和体会,程序设计心得体会(多篇).doc
  13. Qt实现在QLabel上显示图片并进行线条/矩形框/多边形的绘制
  14. 苹果Airplay协议以及AirTunes流程总结
  15. DCS、PLC与SCADA的区别
  16. 计算机科技文献中cam,模具加工论文,关于CAD/CAM在高精密模具设计制造中的应用相关参考文献资料-免费论文范文...
  17. 什么是X window
  18. Android Fragment异常:java.lang.IllegalStateException: Fragment XXXFragment not attached to Activity
  19. 人工智能AI、机器学习模型理解
  20. 无法自动进入单步执行服务器。未能连接到服务器计算机“×.×.×.×”。调试器无法连接到远程计算机。原因是远程计算机不存在或防火墙阻止与远程计算机通信。请参阅”帮助“以协助解决问题

热门文章

  1. 卸载office时显示的是安装包的语言不支持程序,而且也卸载不了..
  2. 高中计算机会考不及格,高中会考能补考吗?会考不及格后果啊?
  3. TortoiseGit切换用户
  4. Slither工具解决solc版本与当前sol文件版本不兼容的问题
  5. 进程同步控制(锁,信号量,事件), 进程通讯(队列和管道,生产者消费者模型) 数据共享(进程池和mutiprocess.Pool模块)...
  6. 团队编程——web应用之人事管理系统
  7. 160个creak之008
  8. android 挂载system 读写,android使用mount挂载/system/app为读写权限,删除或替换系统应用...
  9. 一种刷下行流量的方式 [爱快 docker版]
  10. Android音频架构工程师开篇引言