GitHub 最新 AI 工具可帮助用户自动修复代码中的错误和漏洞

感谢GitHub 今天为所有 Advanced Security(GHAS)许可用户推出了全新的“代码扫描”功能(预览版),用于搜索 GitHub 代码中潜在的安全漏洞和编码错误。这项新功能可利用 Copilot 与 CodeQL(IT之家注:CodeQL 是 GitHub 开发的代码分析引擎,用于自动执行安全检查)发现你的代码中可能存在漏洞或错误,并且对其进行分类和确定修复的优先级。值得一提的是,“代码扫描”需要消耗 GitHub Actions 的分钟数。据介绍,“代码扫描”还可防止开发者引入新问题,还支持在特
感谢GitHub 今天为所有 Advanced Security(GHAS)许可用户推出了全新的“代码扫描”功能(预览版),用于搜索 GitHub 代码中潜在的安全漏洞和编码错误。

GitHub 最新 AI 工具可帮助用户自动修复代码中的错误和漏洞

这项新功能可利用 Copilot 与 CodeQL(IT之家注:CodeQL 是 GitHub 开发的代码分析引擎,用于自动执行安全检查)发现你的代码中可能存在漏洞或错误,并且对其进行分类和确定修复的优先级。值得一提的是,“代码扫描”需要消耗 GitHub Actions 的分钟数。

据介绍,“代码扫描”还可防止开发者引入新问题,还支持在特定日期和时间进行扫描,或在存储库中发生特定事件(例如推送)时触发扫描。

如果 AI 发现你的代码中可能存在漏洞或错误,GitHub 就会在仓库中进行告警,并在用户修复触发警报的代码之后取消告警。

要监控你的仓库或组织的“代码扫描”结果,你可以使用 web 挂钩和 code scanning API。此外,“代码扫描”也可与输出静态分析结果交换格式 (SARIF) 数据的第三方代码扫描工具互操作。

目前,对“代码扫描”使用 CodeQL 分析有三种主要方法:

使用默认设置在存储库上快速配置对“代码扫描”的 CodeQL 分析。默认设置自动选择要分析的语言、要运行的查询套件和触发扫描的事件,如果需要也可以手动选择要运行的查询套件以及要分析的语言。启用 CodeQL 后,GitHub Actions 将执行工作流运行以扫描代码。

使用高级设置将 CodeQL 工作流添加到存储库。这会生成一个可自定义的工作流文件,该文件使用 github / codeql-action 运行 CodeQL CLI。

直接在外部 CI 系统中运行 CodeQL CLI 并将结果上传到 GitHub。

GitHub 最新 AI 工具可帮助用户自动修复代码中的错误和漏洞

GitHub 承诺,这一 AI 系统可以修复其发现的三分之二以上的漏洞,所以一般来说开发人员无需主动编辑代码。该公司还承诺,代码扫描自动修复将覆盖其支持的语言中超过 90% 的告警类型,目前包括 JavaScript、Typescript、Java 和 Python。

参考资料:

《About code scanning - GitHub Docs》

《About code scanning with CodeQL - GitHub Docs》

相关资讯

GitHub代码一键转VS Code:只需+1s

被微软收购后的 GitHub,正在变得越来越易用,现在又有人把它和「宇宙第一 IDE」VS Code 紧密联系起来了。

从现在起,GitHub上超1亿开发者可直接访问全球顶级大模型,构建AI应用

GitHub 推出的全新功能「GitHub Models」将有望加快 AI 工程师时代的到来。什么?大家熟悉的代码托管平台 GitHub 又进化了!该平台也开始提供 AI 大模型的 Playgroud 了。所有你能叫得上名字的业界流行大模型,包括微软的 Phi-3、OpenAI 的 GPT-4o、Meta 的 Llama 3.1、Cohere 的 Command R 、Mistral AI 的 Mistral Large,都可以在一个交互式沙盒中试用。在未来几个月,Github 也将添加更多语言、视觉以及其他类型的

Stable Code Instruct 3B AI 模型亮相:可精准翻译转换编程语言

Stability AI 公司近日面向程序员,推出 Stable Code Instruct 3B 大语言模型,其亮点在于可以从一种编程语言翻译转换成另一种编程语言。IT之家附上 Stable Code Instruct 3B 大语言模型的功能如下:该模型可以根据代码上下文情境自动生成代码。基于相关代码情境,自动插入、补全相关代码。Stable Code Instruct 3B 能够生成与数据库交互的代码。该模型可以将代码从一种编程语言翻译成另一种编程语言。该模型可以注释现有代码功能。根据用户指令,稳定代码指示器