热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

开源软件_又一个编程神器来了!微软开源软件特征源码分析工具ApplicationInspector

本文由编程笔记#小编为大家整理,主要介绍了又一个编程神器来了!微软开源软件特征源码分析工具ApplicationInspector相关的知识,希望对你有一定的参考价值。
本文由编程笔记#小编为大家整理,主要介绍了又一个编程神器来了!微软开源软件特征源码分析工具 Application Inspector相关的知识,希望对你有一定的参考价值。














开源最前线(ID:OpenSourceTop) 猿妹编译


链接:https://www.microsoft.com/security/blog/2020/01/16/introducing-microsoft-application-inspector/








现代软件开发通常涉及数百个组件来构建应用程序,这些组件可能是来自组织中的另一个团队,外部供应商,或开源社区中的某个人编写的,这样做有很多好处,诸如发布时间、质量和互操作性,但有时会带来隐藏的风险。






尽管你信任自己的团队,但是他们编写的代码通常只占整个应用程序的一小部分,你对这些外部组件了解多少呢?
从某种程度来说,你对这些组件的信任程度和团队是一样的。






为了提高软件的质量,避免开源软件的固有风险,微软开源了其内部使用的源码分析器是 Application Inspector,可以识别软件中的一些特性和元数据。






Application Inspector与典型的静态分析工具的不同之处在于,它并不局限于检测糟糕的编程实践,相反的,它会在代码中显示一些有趣的特性,它会根据 500 多种规则模式报告发现的内容,并进行特征检测,包括影响安全性的特征,例如加密技术的使用等。






这边,我们一起来看一下这段代码:








我们可以看到一段程序代码,它从URL下载内容,将其写入文件系统,然后执行shell命令以列出该文件的详细信息。
如果通过Application Inspector运行此代码,它就会识别出以下内容:


  • FileOperation.Write


  • Network.Connection.Http


  • Process.DynamicExecution








在这个小例子中,手动检查代码片段以识别那些相同的功能很简单,但是许多组件包含成千上万行代码,现代Web应用程序经常使用数百个这样的组件。
而Application Inspector就是专门为大规模的应用程序设计。






Application Inspector是一个跨平台的命令行工具,可以生成多种格式的输出,包括JSON和交互式html
以下是HTML报告的示例:


又一个编程神器来了!微软开源软件特征源码分析工具 Application Inspector




上方报告中的每个图标代表源代码中标识的功能。
展开功能后单击链接,你就可以查看相关代码。






Application Inspector 包含一个可过滤的置信度指示器,可帮助最大程度减少误报匹配以及可自定义的默认规则和条件匹配逻辑,其带有数百种功能检测模式,涵盖了许多流行的编程语言,并且对以下类型的特征提供了良好的支持:


  • 应用程序框架(开发、测试)


  • 云/服务 API(Microsoft Azure、Amazon AWS 和 Google Cloud Platform)


  • 密码学相关(对称、非对称、哈希和 TLS)


  • 数据类型(敏感的个人身份信息)


  • 操作系统功能(平台标识、文件系统、注册表和用户帐户)


  • 安全功能(身份验证和授权)









目前,Application Inspector 已经在Github上获得
266
个Star,
23
个Fork(Github地址:
https://github.com/Microsoft/ApplicationInspector
)感兴趣的伙伴们赶紧尝试下吧。






●编号894,输入编号直达本文

●输入m获取到文章目录



推荐阅读
  • 本文探讨了Web开发与游戏开发之间的主要区别,旨在帮助开发者更好地理解两种开发领域的特性和需求。文章基于作者的实际经验和网络资料整理而成。 ... [详细]
  • Barbican 是 OpenStack 社区的核心项目之一,旨在为各种环境下的云服务提供全面的密钥管理解决方案。 ... [详细]
  • Spring Cloud Config 使用 Vault 作为配置存储
    本文探讨了如何在Spring Cloud Config中集成HashiCorp Vault作为配置存储解决方案,基于Spring Cloud Hoxton.RELEASE及Spring Boot 2.2.1.RELEASE版本。文章还提供了详细的配置示例和实践建议。 ... [详细]
  • 微信小程序中实现位置获取的全面指南
    本文详细介绍了如何在微信小程序中实现地理位置的获取,包括通过微信官方API和腾讯地图API两种方式。文中不仅涵盖了必要的准备工作,如申请开发者密钥、下载并配置SDK等,还提供了处理用户授权及位置信息获取的具体代码示例。 ... [详细]
  • 在Linux系统上构建Web服务器的详细步骤
    本文详细介绍了如何在Linux系统上搭建Web服务器的过程,包括安装Apache、PHP和MySQL等关键组件,以及遇到的一些常见问题及其解决方案。 ... [详细]
  • 本文将详细介绍如何在ThinkPHP6框架中实现多数据库的部署,包括读写分离的策略,以及如何通过负载均衡和MySQL同步技术优化数据库性能。 ... [详细]
  • 深入解析SSL Strip攻击机制
    本文详细介绍了SSL Strip(一种网络攻击形式)的工作原理及其对网络安全的影响。通过分析SSL与HTTPS的基本概念,探讨了SSL Strip如何利用某些网站的安全配置不足,实现中间人攻击,以及如何防范此类攻击。 ... [详细]
  • 本文探讨了浏览器的同源策略限制及其对 AJAX 请求的影响,并详细介绍了如何在 Spring Boot 应用中优雅地处理跨域请求,特别是当请求包含自定义 Headers 时的解决方案。 ... [详细]
  • 全能终端工具推荐:高效、免费、易用
    介绍一款备受好评的全能型终端工具——MobaXterm,它不仅功能强大,而且完全免费,适合各类用户使用。 ... [详细]
  • 探索Squid反向代理中的远程代码执行漏洞
    本文深入探讨了在网站渗透测试过程中发现的Squid反向代理系统中存在的远程代码执行漏洞,旨在帮助网站管理者和开发者了解此类漏洞的危害及防范措施。 ... [详细]
  • 尽管PHP是一种强大且灵活的Web开发语言,但开发者在使用过程中常会陷入一些典型的陷阱。本文旨在列出PHP开发中最为常见的10种错误,并提供相应的预防建议。 ... [详细]
  • 在Windows Server 2008 R2上配置IIS FTP服务
    本文详细介绍了如何在Windows Server 2008 R2操作系统上通过IIS配置FTP服务的过程,包括服务器角色的选择与安装、FTP站点的创建以及必要的服务和防火墙设置检查。 ... [详细]
  • Ubuntu GamePack:专为游戏爱好者打造的Linux发行版
    随着Linux系统在游戏领域的应用越来越广泛,许多Linux用户开始寻求在自己的系统上畅玩游戏的方法。UALinux,一家致力于推广GNU/Linux使用的乌克兰公司,推出了基于Ubuntu 16.04的Ubuntu GamePack,旨在为Linux用户提供一个游戏友好型的操作环境。 ... [详细]
  • WinSCP: 跨Windows与Linux系统的高效文件传输解决方案
    本文详细介绍了一款名为WinSCP的开源图形化SFTP客户端,该工具支持SSH协议,适用于Windows操作系统,能够实现与Linux系统之间的文件传输。对于从事嵌入式开发的技术人员来说,掌握WinSCP的使用方法将极大提高工作效率。 ... [详细]
  • 本文详细介绍了 Python 中的 with 语句及其背后的上下文管理器机制,从基本概念入手,通过具体示例和原理分析,帮助读者深入理解这一重要的资源管理工具。 ... [详细]
author-avatar
卖火柴的冰枫_939
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有