security - 原始代码的 SAST 更好或编译代码
问题描述
从安全代码审查 (SAST) 的角度来看,我需要通过自动化工具扫描哪些代码?原始代码还是编译代码?
解决方案
我会说这取决于你想找到什么。分析编译代码有机会找到生成的代码片段并对其进行分析。它也可能更容易一些,因为编译的代码必须在语法上是正确的。要执行数据流分析,该工具实际上需要先编译代码本身。我最喜欢的免费代码扫描工具(Find Security Bugs 和 OWASP Dependency Check)适用于二进制文件。
另一方面,您可以在源代码上使用 grep 和 regex。您可以看到所有可能从二进制文件中优化的 FIXME 和 TODO 注释和变量。我的一位同事编写了一个基于一组正则表达式来查找安全漏洞的工具,他为自己的所作所为感到非常自豪。源代码分析也不会受到二进制文件混淆的影响。
推荐阅读
- google-cloud-platform - 如何提供对 Google SQL DB 的 Google Build 触发器访问?
- php - 如何自定义 Laravel HTTP 基本身份验证中的密码字段?
- shell - 在 shell 脚本中运行 ssh 命令后,如何在本地运行命令?
- php - $.post 结果回显 HTML 而不是值
- java - SpringBoot 2.0.5.RELEASE 版本的 Springboot Initializer 项目
- asp.net-core - Azure AD 身份验证后执行代码
- scala - 组合部分函数以减少代码长度
- c# - 从工作簿中获取 excel 工作表并将其作为电子邮件附件发送
- c# - 在非 Form 的类上接收和读出 KeyEventArgs 事件
- python - 如何将精灵从矩形更改为图像?