静态扫描流程

FluidAttack

扫描工具 Web Mobile Local API Extension Serverless 操作说明
FluidAttacks Free & Open Source CLI

利用 FluidAttacks 开源 CLI 对您的应用执行自动静态 (SAST) 扫描。已创建一个 Docker 映像,其中包含所有必要的 CWE。只需启动容器并在其中运行扫描命令即可。

如需了解每种类型的定义,请点击此处 应用类型

您可以按照以下步骤扫描 Web 应用、移动应用、内部应用、浏览器扩展程序或无服务器函数的源代码:

  1. 创建一个文件夹来包含扫描工件。

  2. 为文件夹命名,然后上传 CASA 扫描 Dockerfile

  3. 克隆此文件夹中的应用代码库,并将 config.yaml 文件添加到根文件夹中。此文件位于以下位置: config.yaml

  4. 最终设置应如下所示:

    CASA 扫描文件夹目录

    以下应用类型有额外的打包注意事项。请遵循使扫描成功所需的格式。 

    Android Studio 项目:AndroidManifest.xml 必须位于“app/src/main/AndroidManifest.xml”中,并且目录“app/src/main/java/”必须存在。

  1. 配置文件 (config.yaml) 指定扫描结果的存储位置。此处显示了默认值。

    如果您要扫描原生 Android 应用,请在配置文件中更新以下内容,以指定所有 APK 的位置:

    apk:

    # Description: dynamic scan of Android APKs.

        include: 

    • app-arm-debug-Android.apk

    • app-arm-Android.apk

    使用相对于 config.yaml 文件位置的目标 APK 的文件路径更新“include”参数。

      output:
      file_path: ./Fluid-Attacks-Results.csv
      format: CSV   
      

将格式保持为 CSV,但您可以随意更改 config.yaml 文件中的输出名称。 

  1. 通过运行以下命令构建 Docker 映像:

      docker build -t casascan /path/to/Dockerfile
    
  1. 运行以下命令启动容器并启动 Fluid SAST 扫描(请注意,此步骤需要一段时间才能完成):

      docker run casascan m gitlab:fluidattacks/universe@trunk /skims scan {App Repo Name}/config.yaml
    
  1. 完成第 5 步后,结果将存储在应用代码库文件夹中的 CSV 文件中。

  2. 扫描完成后,通过运行 docker ps 并复制端口值来获取容器的 ID

  3. 运行以下命令,将扫描结果复制到主机:

      docker cp {Container ID}:/usr/scan/{App Repo Name}/Fluid-Attacks-Results.csv SAST-Results.csv