使用fluidattacks/cli执行iOS应用CASA扫描无有效结果的配置问题
问题分析与解决方法
核心问题原因
- 挂载路径不匹配:
fluidattacks/cli容器默认工作目录为/src,但你之前的命令将本地目录挂载到了容器的/working-dir,导致扫描程序在默认的/src目录下找不到待分析的代码,因此出现「Analysis on 0 paths」的结果。 - working_dir配置错误:当你修改
working_dir为非.时,容器的/src目录下并没有MyApp文件夹(因为代码挂载在/working-dir),所以触发FileNotFoundError。
具体解决步骤
1. 调整Docker挂载路径
将本地的FluidScanArtifacts目录挂载到容器的/src目录(容器默认工作目录),修改后的运行命令如下:
docker run -v $(pwd)/FluidScanArtifacts:/src fluidattacks/cli:arm64 skims scan /src/MyApp/config.yaml
2. 修正config.yaml配置
将working_dir设置为容器内代码所在的相对路径(相对于/src)或绝对路径,确保扫描程序能定位到代码目录。修改后的配置文件如下:
namespace: MyApp output: file_path: ./Fluid-Attacks-Results.csv format: CSV working_dir: ./MyApp # 或使用绝对路径 /src/MyApp language: EN sast: include: - . exclude: - glob(**/Pods/**) sca: include: - . exclude: - glob(**/Pods/**)
3. 验证代码是否正确挂载
运行扫描命令前,可临时启动容器查看/src目录内容,确认代码已挂载:
docker run -it --rm -v $(pwd)/FluidScanArtifacts:/src fluidattacks/cli:arm64 ls /src/MyApp
若能看到iOS代码文件,说明挂载成功。
补充说明
- 扫描耗时过短是因为没有实际分析任何代码路径,修正配置后扫描时间会根据代码量正常增加。
- 结果文件会生成在容器的
/src目录下,对应本地的FluidScanArtifacts目录,无需额外复制。
内容的提问来源于stack exchange,提问作者user1513171
相关产品推荐
相关产品推荐

