开源、跨平台、多用途安全审计工具
注意: DevAudit 使用 OSS Index 数据库,该数据库有一定的速率限制。如果您注意到达到限制,请提交问题。经过身份验证的用户可以获得更高的限制,我们很快将在 DevAudit 中实现身份验证。大多数未经身份验证的用户可能不会注意到很多用例的限制。它通常只会在更大的项目或更高的项目数量下触发。
从 releases 页面获取最新版本。


DevAudit 是一种开源、跨平台、多用途的安全审计工具,面向采用 DevOps 和 DevSecOps 的开发者和团队,能够检测解决方案堆栈多个层面的安全漏洞。DevAudit 提供了广泛的审计能力,可自动化安全实践以及软件开发生命周期中的安全审计实施。DevAudit 可以扫描您的操作系统和应用程序包依赖、应用程序及应用服务器配置以及应用程序代码,基于由 OSS Index 和 Vulners 等提供从广泛来源和数据源(如国家漏洞数据库(NVD)的 CVE 数据源、Debian 安全公告数据源、Drupal 安全公告等)聚合的数据,发现潜在漏洞。
DevAudit 帮助开发者应对 OWASP Top 10 中至少 4 项 Web 应用程序开发风险:
以及 MITRE 在 CWE 词典中分类的风险,例如 CWE-2 环境 和 CWE-200 信息泄露
随着开发进展及其能力成熟,DevAudit 将能够解决 OWASP Top 10 和 CWE 列表中的其他风险,例如注入和跨站脚本(XSS)。随着对 Web、云以及分布式多用户应用程序的关注,今天的软件开发日益复杂,安全问题在开发者赖以交付应用程序的堆栈各个层面可能出现。DevAudit 的目标是提供一个平台,用于自动化在解决方案堆栈各个层面实施开发安全审查和最佳实践,从库包依赖到程序和服务配置,再到源代码。
跨平台,同时提供 Docker 镜像。 DevAudit 可在 Windows 和 Linux 上运行,*BSD、Mac 和 ARM Linux 支持计划中。只需要最新版本的 .NET 或 Mono 即可运行 DevAudit。也可以从 Docker Hub 拉取 DevAudit Docker 镜像 并运行,而无需安装 Mono。
CLI 接口。 DevAudit 拥有 CLI 接口,支持非交互式输出,可轻松集成到 CI 构建流水线或作为开发者 IDE 中的构建后命令行任务。将核心审计库集成到 IDE GUI 的工作已经开始,即 Audit.Net Visual Studio 扩展。
持续更新的漏洞数据。 DevAudit 使用后端数据提供者,如 OSS Index 和 Vulners,它们提供从 广泛 的安全数据源和来源(如 NVD CVE 数据源、Drupal 安全公告等)汇总的持续更新的漏洞数据。未来将增加对 vFeed 和 Libraries.io 等其他漏洞和包数据提供者的支持。
审计操作系统和开发包依赖。 DevAudit 对通过 Windows MSI、Chocolatey 和 OneGet 安装的 Windows 应用程序和包,以及通过 Dpkg、RPM 和 YUM 安装的 Debian、Ubuntu 和 CentOS Linux 包进行审计,检查特定版本是否报告了漏洞。对于开发包依赖和库,DevAudit 审计 .NET 的 NuGet v2 依赖、nodejs 的 Yarn/NPM 和 Bower 依赖、PHP 的 Composer 包依赖。支持其他语言的包管理器会定期添加。
审计应用服务器配置。 DevAudit 对 OpenSSH sshd、Apache httpd、MySQL/MariaDB、PostgreSQL 和 Nginx 服务器的服务器版本和配置进行审计,更多服务器即将支持。配置审计基于 Alpheus 库,通过对服务器配置文件进行完整语法分析来完成。服务器配置规则存储在 YAML 文本文件中,可根据开发者需求定制。定期添加更多服务器、应用程序以及数据库审计等分析类型的支持。
审计应用程序配置。 DevAudit 审计 Microsoft ASP.NET 应用程序,检测应用程序配置中的漏洞。应用程序配置规则存储在 YAML 文本文件中,可根据开发者需求定制。Drupal、WordPress 和 DNN CMS 等应用程序的配置审计即将到来。
通过静态分析审计应用程序代码。 DevAudit 目前支持对 .NET CIL 字节码进行静态分析。分析器位于外部脚本文件中,可根据开发者需求完全定制。未来将通过 Roslyn 支持 C# 源代码分析、PHP7 源代码以及更多语言和外部静态代码分析工具。
远程无代理审计。 DevAudit 可通过 SSH 连接远程主机,远程环境中的审计功能与本地环境相同。只需有效的 SSH 登录即可审计远程主机,运行在 Windows 上的 DevAudit 可通过 SSH 连接并审计 Linux 主机。在 Windows 上,DevAudit 还可以通过 WinRM 远程连接并审计其他 Windows 机器。
无代理 Docker 容器审计。 DevAudit 可从 Docker 主机审计运行中的 Docker 容器,容器环境中的功能与本地环境相同。
GitHub 仓库审计。 DevAudit 可直接连接到托管在 GitHub 上的项目仓库,执行包源和应用程序配置审计。
PowerShell 支持。 DevAudit 也可以在 PowerShell 系统管理环境中作为 cmdlet 运行。目前 PowerShell 支持已经暂停,但将在不久的将来恢复,支持跨平台的 PowerShell,包括 Windows 和 Linux。
DevAudit 是一个 .NET 4.6 应用程序。要在本地安装,您需要在 Windows 上拥有 Microsoft .NET Framework 4.6 运行时,或在 Linux 上拥有 Mono 4.4+。大多数较新版本的 Windows 应已安装 .NET 4.6,如果没有,它可作为 Windows 功能启用,或从消费者 Windows 的“程序和功能”控制面板小程序中安装,或在服务器版本的 Windows 上使用“添加角色和功能”选项安装。对于较旧版本的 Windows,可以从 这里 找到 Microsoft 的 .NET 4.6 安装程序。
在 Linux 上,支持的最低 Mono 版本是 4.4。虽然 DevAudit 可以在 Mono 4 上运行(有一个已知问题),但建议安装 Mono 5。Mono 5 在构建和运行时组件方面带来了许多 改进,有利于 DevAudit。
您的发行版提供的现有 Mono 包可能还不是 Mono 5,因此您必须手动安装 Mono 包才能使用 Mono 5。Mono 项目为几个主要 Linux 发行版提供的最新包的安装说明在 这里。建议安装 mono-devel 包,这样可以减少缺少程序集的可能性。
或者,在 Linux 上,如果您不想安装 Mono 并且机器上已经安装了 Docker,您可以使用 DevAudit Docker 镜像。
DevAudit 可以通过以下方法安装:
前置条件:Mono 4.4+(推荐 Mono 5)和 mono-devel 包(提供构建 Mono 应用程序所需的编译器等工具)。您的发行版应至少提供 Mono 4.4 或更高版本的包,否则,Mono 项目为几个主要 Linux 发行版提供的最新包的手动安装说明在 这里。
从 https://github.com/OSSIndex/DevAudit.git 克隆 DevAudit 仓库。
在 DevAudit 根目录下运行 build.sh 脚本。DevAudit 应能无错误地编译。
运行 ./devaudit --help,您应该能看到 DevAudit 版本和帮助屏幕。
注意:Linux 上的 NuGet 有时可能以 Error: NameResolutionFailure 退出,这似乎是连接包含 NuGet 包的服务器时的临时问题。您只需再次运行 ./build.sh,直到构建正常完成。
前置条件:您必须具有以下之一:
从 https://github.com/OSSIndex/DevAudit.git 克隆 DevAudit 仓库。
从 Visual Studio 2015 或 .NET 控制台,运行 DevAudit 根目录下的 build.cmd 脚本。DevAudit 应能无错误地编译。
运行 ./devaudit --help,您应该能看到 DevAudit 版本和帮助屏幕。
前置条件:在 Linux 上必须有 Mono 4.4+,或在 Windows 上有 .NET 4.6。
从项目的 releases 页面下载适用于 Windows 或 Linux 的最新发布归档文件。将此文件解压到一个目录。
从解压发布归档的目录,在 Windows 上运行 devaudit --help,或在 Linux 上运行 ./devaudit --help。您应该能看到版本和帮助屏幕。
(可选)将 DevAudit 安装目录添加到 PATH 环境变量。
发布的 MSI 安装程序可以在 Github 发布页面找到。
DevAudit 也可以在 Chocolatey 上获得。
choco install devaudit从 Docker Hub 拉取 Devaudit 镜像:docker pull ossindex/devaudit。标记为 ossindex/devaudit:latest(这是默认下载的镜像)基于最新发布版本构建,而 ossindex/devaudit:unstable 基于源代码的 master 分支构建,包含最新添加的功能,但测试较少。
表示审计功能的逻辑分组。DevAudit 目前支持以下审计目标: