静态分析客户机支持

本主题介绍支持的操作系统以及在执行静态分析时 AppScan 360° 可以扫描的项目类型。

操作系统支持

HCL AppScan 360° 客户机在以下操作系统上受支持:
  • Windows: HCL AppScan 360° 在 64 位系统上受支持,并以 64 位方式运行。
  • macOS: HCL AppScan 360° 在 64 位系统上受支持,并以 64 位方式运行。
  • Linux: HCL AppScan 360° 仅在 64 位系统上受支持。

命令行实用程序支持

应用程序服务器支持

Command Line Utility 包含用于基本 JavaServer Page 编译的 Apache Tomcat V7 应用程序服务器 .jar 文件。要实现更好的兼容性,可配置 CLI 以使用您自己的应用程序服务器(受支持应用程序服务器包括 Apache Tomcat V7 和更高版本、WebSphere® Application Server V7、V8.0 和 V8.5.x 以及 Oracle Weblogic Server V10.3 和 V12.x)。

Command Line Utility 和版本兼容性

当您执行以下操作时,会自动执行您的 Static Analyzer Command Line Utility 版本检查:

  • 发出 appscan prepare 命令(Windows 上)或 appscan.sh prepare 命令(Linux 和 macOS 上)。
  • 在安装了静态分析插件的集成开发环境中使用 运行静态分析 操作。
  • 使用 prepare 选项为 Maven 项目生成 IRX 文件。
  • 使用 IRX 命令(appscan queue_analysis 上)或 Windows 命令(appscan.sh queue_analysis 上)上载 Linux 和 macOS 文件。
  • IRX 文件上载到云。
当您执行任何 prepare运行静态分析 操作时,都可能会收到一条警告,指示您可用 Command Line Utility 的新版本。在此情况下,您可以不升级 Command Line Utility 继续,也可以升级 Command Line Utility 以获取新增特性和功能优势。
注: 为确保兼容性,必须从 Static Analyzer Command Line Utility 服务器下载 AppScan 360°

当您使用不再受支持的 Command Line Utility 版本执行任何以上操作时,系统将显示一条消息,指示必须更新 Command Line Utility。在此情况下,下载和设置最新 Command Line Utility

插件支持

Gradle 支持

HCL AppScan 360° Gradle 插件用于自动扫描 Gradle 中的 Java 和 Java Web 项目。它为应用了“java”插件和/或“war”插件的 Gradle 项目生成 IRX 文件。它还可以将生成的 IRX 文件提交到云服务以进行分析。

要使用插件,请向 build.gradle 添加以下行。

使用 plugins.dsl
  • Groovy:
    plugins {
    	id "com.hcl.security.appscan" version "1.0.1"
    }				
  • Kotlin:
    plugins {
    	id("com.hcl.security.appscan") version "1.0.1"
    }					
使用旧版插件应用程序:
  • Groovy:
    buildscript {
    	repositories {
    		maven { 
    			url "https://plugins.gradle.org/m2/" 
    		}
    	}
    	dependencies { 
    		classpath "gradle.plugin.com.hcl.security:application-security-gradle-plugin:1.0.1" 
    		}
    	}
    
    apply plugin: "com.hcl.security.appscan"
    						
  • Kotlin:
    buildscript {
    	repositories {
    		maven { 
    			url=uri("https://plugins.gradle.org/m2/")
    		}
    	}
    	dependencies { 
    		classpath("gradle.plugin.com.hcl.security:application-security-gradle-plugin:1.0.1")
    		}
    	}
    
    apply(plugin="com.hcl.security.appscan")
    

Maven 支持

Maven AppScan 360° 插件现已存在于 Maven 中央存储库中,不再需要手动安装。

使用 appscan-maven-pluginprepare 目标,以为您构建中的所有 jarwar ear 项目生成 IRX 文件。使用 appscan-maven-pluginanalyze 目标,为构建中的所有 jarwarear 项目生成 IRX 文件,将其提交给 AppScan 360° 服务进行分析。

JetBrains 支持

您可以选择从用户界面将插件安装到受支持的 JetBrains IDE。支持 JetBrains 2021.1 和更高版本。

要获取并安装此插件,请在 JetBrains 插件存储库中查找此插件。或者,在 JetBrains IDE 中,转至文件 > 设置,选择插件并单击浏览存储库...。搜索 HCL AppScan

Microsoft Visual Studio 支持

可选择将插件安装到 Visual Studio,这样就可从用户界面扫描 .NET(C#、ASP.NET、VB.NET)解决方案、项目和网站。必须首先在系统上安装 Visual Studio,然后才能安装 Visual Studio 插件。

要获取并安装 Visual Studio 插件,请在 Visual Studio 市场查找此插件。或者,在 Visual Studio 中,转至工具 > 扩展和更新。选择联机并搜索 AppScan

AppScan 360° 支持以下 Visual Studio 版本:
.NET(C#、ASP.NET、VB.NET) C++
Visual Studio 2015 X X
Visual Studio 2017 X X
Visual Studio 2019 X X
Visual Studio 2022 X
注: AppScan 360° 支持 Visual Studio 2015、2017 和 2019 的 C++14 语言标准模式 (/std:c++14)。 AppScan 360° 支持 Visual Studio 2017 和 2019 的 C++17 语言标准模式 (/std:c++17)。
对于受支持的语言,AppScan 360° 可以通过 IDE 插件以交互方式扫描 Visual Studio 项目,也可以使用 AppScan CLI 自动化扫描。提供以下集成:
Visual Studio 插件 命令行界面 (CLI)
Visual Studio 2015 X
Visual Studio 2017 X
Visual Studio 2019 X
Visual Studio 2022 X X
注: macOS 或 Linux 上不支持 Visual Studio 插件。

Jenkins 支持

AppScan 360° Jenkins 插件可用于将动态和静态分析构建步骤添加到 Jenkins 构建项目中。您可以将此插件安装到 Jenkins V2.222.4 或更高版本中。通过此插件,您可以登录到 Cloud Marketplace 上的 AppScan 360° 服务。

Visual Studio Team Services/Team Foundation Server (Azure DevOps) 支持

Visual Studio Team Services/Team Foundation Server (Azure DevOps) 插件使您可以扫描静态和动态 VSTS 和 TFS 项目。 HCL AppScan 360° 支持 TFS 版本 2018 更新 2 及更高版本。要了解有关插件的更多信息,请参阅 安装和使用 Azure DevOps Services 插件

AppScan Go! 支持

AppScan Go!WindowsLinux 和 Mac 上受支持。

REST API

可以编写通过 REST API 进行通信的脚本,以便与 DevOps 工具轻松集成。未来将提供与 AppScan 360° Static Analysis 配合使用的 DevOps 插件。
语言 上载源代码 上载源代码 + 构建工件 上载 IRX(本地生成 IRX)
C/C++ 扫描语言支持表中列为“仅源代码”的文件类型。1 扫描语言支持表中缺省内容下列出的字节代码文件类型。
Java 和 Java Web 内容 不适用
  • .jar

    使用配置文件定制扫描目标和依赖关系。

  • .class

    包含类文件的存档目录结构,

  • .war
    注: Tomcat 是缺省的 JSP 编译器。
  • .ear

  • .jar.class(当所有依赖关系都不能包括在存档中时)
  • .war(如果 JSP 编译需要 Tomcat 以外的 Web 服务器)
.NET 扫描语言支持表中列为“仅源代码”的文件类型。1 扫描语言支持表中缺省内容下列出的字节代码文件类型。
其他

始终。不需要 appscan-config

存档必须包含要扫描的目标代码的整个目录结构。

  1. 仅源代码选项会在不解析依赖关系的情况下对源代码执行扫描。如下所示,在配置文件中设置仅源代码选项:
    <?xml version="1.0" encoding="UTF-8"?>
    <Configuration sourceCodeOnly="true">
      <Targets>
       <Target path=./SimpleIOT" />
      </Targets>
    </Configuration>