应用程序检查器现在是开源的 所以用它来测试代码安全性
微软发布了Microsoft Application Checker,这是一个跨平台的开源命令行工具,其工程师使用它来快速检测第三方开源软件组件的安全问题。
静态源代码分析器的目的是帮助开发人员在将开源组件(如软件库)集成到项目中时,通过代码重用来处理潜在的安全问题。
微软客户安全和信任团队成员Guy Acosta和Michael Scovetta写道:“重用有很大的好处,包括上市时间、质量和互操作性,但有时也会带来隐藏复杂性和风险的成本。”
“您信任您的工程团队,但他们编写的代码通常只是整个应用程序的一小部分。您如何理解所有这些外部软件组件的实际效果?”
正如他们所注意到的,现代网络应用程序通常有数百个第三方组件,包括成千上万个贡献者编写的数万行代码。而且,通常使用这些组件的开发人员依赖于作者的描述,微软认为这是不可靠的,不足以满足微软运输安全规范的责任,包括外部组件。
微软认为Application Checker是一个独特的静态代码分析器,因为它不会标记“好”或“坏”模式,而是在基于500多个规则模式的报告中突出“有趣”的功能。这个想法是,这个工具可以比手动内省更快地帮助识别这些有趣的特性。
该工具的目标是影响安全性的软件组件的特征,例如加密技术的使用、连接到远程实体的组件(例如公共云)以及它运行的平台。
应用程序检查器基于。NETCore,这意味着开发者可以在Windows、Linux或MacOS上使用它。
应用程序检查员的主要目标是以系统和可扩展的方式识别源代码特征,这在典型的静态分析器中是找不到的。这使得开发人员和安全专业人员能够验证所谓的组件目标,例如,字符串填充库只做它所说的事情,”微软在wiki中解释道。
该工具可以分析用许多流行编程语言构建的组件的数百万行源代码。
应用程序检查器生成基于浏览器的报告,该报告总结了已识别的主要功能,包括应用程序框架、云接口、加密、访问密钥等敏感数据、个人身份信息、操作系统功能和安全功能。
然而,该公司强调,应用检查员不排除安全代码审查或安全静态分析器的需要。然而,对于面临紧迫截止日期的开发人员来说,这可能是一个有用的补充。
Acosta最近在加拿大的SecTor会议上展示了应用检查器。
标签: