当前位置: 首页 > 科技观察

还在写bug?GitHub官方代码扫描工具上线,免费找bug

时间:2023-03-21 18:37:03 科技观察

在GitHub上发布项目之前,您可以使用免费的官方代码扫描程序来检查错误。编程是难的,难的是经常有bug而不自知。一些程序员开玩笑说:“我不是在写代码,我是在写漏洞。”从现在开始,你上传到GitHub的代码可以免费使用Bug筛选程序。早发现、早报告、早诊断……和早修复。去年9月,GitHub收购了代码分析平台公司Semmle,并宣布将在GitHub的开发者工作流程中引入代码安全流程。代码扫描是GitHub高级安全计划的一部分。在今年5月的GithubSatellite2020大会上,GitHub率先推出扫码功能测试版,免费提供开源扫码功能。启用后,每个“gitpush”都会扫描新的潜在安全漏洞,结果将直接显示在请求中。据GitHub统计,在内测阶段,对12000个仓库进行了代码扫描,扫描次数达到140万次。总共发现了20,000多个安全问题,包括远程代码执行(RCE)、SQL注入和跨站点脚本(XSS)漏洞。开发人员和维护人员在一个月内修复了72%的报告安全问题,远高于业界30天内32%的修复率。经过几个月的测试和众多开发者的反馈,在九月的最后一天,GitHub宣布“扫码”正式上线。公共存储库的代码扫描目前是免费的。此外,对于使用GitHubEnterprise的团队,代码扫描功能是GitHubAdvancedSecurity的一部分,可帮助团队及早发现项目中的安全漏洞。扫码功能首先是根据开发者的需求设计的。默认情况下,扫码不会提供太多建议,避免干扰。它只会在确保安全的原则下运行,让开发者专注于手头的任务。代码扫描与GitHubActions或用户现有的CI/CD环境集成,为团队工作提供最大的灵活性。它会在代码创建时对其进行扫描,并使安全审查在拉取请求和用户日常使用的其他GitHub服务中可操作,从而使自动安全检查成为工作流程的一部分——这样做可以防止生产环境中出现错误。此功能由CodeQL提供支持,CodeQL是目前最强大的代码分析引擎。用户可以使用GitHub和社区创建的2,000多个CodeQL查询,或创建自定义查询来查找和避免新的安全问题。代码扫描器可能需要几分钟才能运行:首先,转到GitHub上存储库的主页,然后单击存储库名称的“安全”按钮。然后点击“CodeScanning”右侧的“Setupcodescanning”:在“Getstartedwithcodescanning”下,在CodeQL分析工作流或第三方工作流上点击“Setupthisworkflow”。然后可以自定义代码扫描并通常将其提交给CodeQL分析工作流,而无需对其进行任何更改。但是很多第三方工作流需要额外的配置,所以提交前还需要阅读工作流中的注释。使用“开始提交”下拉菜单,然后输入提交消息,并选择是直接提交到默认分支,还是创建一个新分支。检查过程运行后,用户可以查看识别出的所有代码扫描警报的详细信息。触发警报的代码行、警报的属性、问题首次发生的时间,以及通过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天、1个月或半年。这一幕似乎有点眼熟……不知道这样的“朋友圈”是不是符合程序员的口味呢?参考链接:https://github.blog/2020-09-30-