本文介绍云效支持的代码检测规则种类。
云效支持多语言的代码检测规则,覆盖源码开发质量规范和源码安全,以及依赖包风险漏洞扫描,覆盖CWE\OWASP\SANS\CERT等标准。
规则说明
规则包名称 | 适用语言 | 规则介绍 |
Java开发规范 | Java | 阿里巴巴Java开发规约基于《阿里巴巴 Java 开发手册》,是阿里内部 Java 工程师所遵循的开发规范,涵盖编程规约、单元测试规约、异常日志规约、MySQL 规约、工程规约、安全规约等,这是近万名阿里 Java 技术精英的经验总结,并经历了多次大规模一线实战检验及完善。 |
Java安全检测 | 基于spotbugs提供一系列规则和模式来检测代码中的常见问题,帮助开发人员提高代码质量、减少潜在的安全漏洞。 | |
源码漏洞检测 | 在软件编程中大多数安全漏洞都源于撰写者,虽然编码工具偶尔也会发生意外,但大部分的错误还是由于编码不当造成的。企业可以通过为开发者提供更多的编码安全培训来尽可能的减少安全风险,但是效果通常并没有设想的有效。 云效源码漏洞检测基于专业安全产品Sourcebrella Pinpoint,为用户提供编码漏洞检测服务,包括:
| |
依赖包漏洞检测 | 现代企业常用开源组件,开源依赖提供方通常没有较多的预算进行安全性测试,黑客的主要攻击目标也是开源包内的漏洞。为了杜绝安全隐患,企业需要做到以下三点:
依赖包漏洞检测基于丰富的安全漏洞库,高效识别代码直接和间接依赖的漏洞风险,并可推荐直接依赖包的修复版本,进而屏蔽直接和间接的风险引入。 | |
代码补丁推荐 | 基于业界和学术界流行的缺陷检测手段,并分析和规避其局限性,云效通过自研算法,更精准高效的分析代码缺陷并推荐优化方案,该算法被国际软件工程大会(ICSE)收录。 代码补丁推荐服务目前应用于合并请求的代码自动扫描场景,基于最佳实践样本训练的智能代码补丁推荐算法,为开发者提供缺陷补丁建议。 | |
JavaScript开发规范(Vue\React) | JavaScript | 基于《阿里巴巴前端规约》配套的ESLint配置,JavaScript开发规范主要包含了编码风格、语言特性、注释、命名检查等。 |
TypeScript开发规范(Vue\React) | TypeScript | 基于《阿里巴巴前端规约》配套的ESLint配置,TypeScript开发规范主要包含了编码风格、语言特性、注释、命名检查等。 |
Golang开发规范 | Golang | 支持 Go 代码规范问题扫描,包含代码风格、代码简化、不具结构性的段落以及未使用的函数、变量和类型等。 |
Golang安全检测 | 基于 gosec 静态分析 Go 代码,检测和识别潜在的安全漏洞和问题,并提供实时反馈和建议,帮助开发人员在上线前及时发现问题并解决。 | |
Python开发规范 | Python | 分析 Python 代码中的错误,查找不符合代码风格标准、有潜在问题的代码并提供重构建议。 |
Python安全检测 | 基于bandit检测工具帮助开发者检测和修复python代码中的编码安全问题。 | |
Python编码风格检测 | 基于pycodestyle检测工具帮助开发者检测和修复Python代码中的风格问题。 | |
NodeJs安全检测 | NodeJs | 基于 ESLint 规则,检测 Node 应用中常见的潜在安全隐患。 |
C/C++安全检测 | C/C++ | C/C++ 安全检测规则包,基于 CppLint 实现的安全检测功能。根据 Google 的编程风格指南,CppLint 可以扫描代码,并检查代码中的每行是否符合 Google 的编码风格规则且能快速识别代码中的安全问题,并提供优秀的代码安全规范建议,帮助开发人员改进代码质量和安全性。 |
C/C++基础规则包 | C/C++基础规则包,它提供了独特的代码分析来检测错误,不需要提供编译信息,执行的检查包括:代码出现未定义行为或其他错误、代码风格检查、以及性能因素检查等。 | |
Lua通用检测 | Lua | 基于luacheck检测工具帮助开发者检测和修复Lua代码中的语法,编码风格和安全问题。 |
Scala编码风格检测 | Scala | 基于scalastyle工具进行scala编码风格检测,帮助开发者优化编码过程的产生的scala编码风格问题。 |
Kotlin基础规则包 | Kotlin | 基于detekt检测工具帮助开发者检测与修复kotlin开发过程中的编码问题,帮助开发人员提高代码质量、减少潜在的代码漏洞。 |
Android基础规则包 | Android | 基于androidlint检测工具帮助开发者检测与修复开发过程中出现的编码规范,安全问题,帮助开发人员提高代码质量、减少潜在的代码漏洞。 |
敏感信息检测 | 不限语言 | 检测代码中的 API keys 等敏感凭证和密钥,有效防止敏感信息意外提交和泄露。 |