使用HP Fortify SCA扫描Linux内核

问题描述 投票:2回答:1

我正在尝试使用HP Fortify SCA来扫描RHEL7.5服务器内核[linux-3.10.0-862.el7]。我在虚拟机上的RHEL工作站操作系统上。

在工作目录中,我正在做:

“sourceanalyzer -b mybuild touchless make”

内核自己编译使用“make”。 sourceanalyzer经历了一些代码,但它似乎错误地说:

CC arch / x86 / purgatory / purgatory.o

Fortify是否能够扫描内核?我是否需要使用更复杂的命令进行扫描?

输出错误段是:

touchless-script /home/sail/.fortify/sca18.1/build/myscan/build6382721854835965459/gcc用args调用:-Wp,-MD,arch / x86 / purgatory / .purgatory.od -nostdinc -isystem touchless-script / home / sail / .fortify / sca18.1 / build / myscan / build6382721854835965459 / gcc用args调用:-print-file-name = include /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include -I ./arch/x86/include -Iarch / x86 / include / generated -Iinclude -I./arch/x86/include/uapi -Iarch / x86 / include / generated / uapi -I./include/uapi -Iinclude / generated / uapi -include ./include/linux/kconfig.h -D__KERNEL__ -fno-strict-aliasing -Wall -Wstrict-prototypes -fno-zero-initialized-in-bss -fno-builtin -ffreestanding -c -MD -Os -mcmodel = large -m64 -DKBUILD_STR(s)=#s -DKBUILD_BASENAME = KBUILD_STR(炼狱)-DKBUILD_MODNAME = KBUILD_STR(炼狱)-c -o arch / x86 / purgatory / .tmp_purgatory.o arch / x86 / purgatory / purgatory.c / usr / lib / gcc / x86_64-redhat-linux / 4.8.5 / include [警告]:未找到文件[警告]:找不到文件[警告]:文件参数:不是foun d [警告]:文件/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include not found gcc:error:called:没有这样的文件或目录gcc:error:with:没有这样的文件或目录gcc:错误:args ::没有这样的文件或目录objdump:'arch / x86 / purgatory / .tmp_purgatory.o':没有这样的文件mv:不能统计'arch / x86 / purgatory / .tmp_purgatory.o':没有这样的文件或目录make [1]:* [arch / x86 / purgatory / purgatory.o]错误1 make:* [archprepare]错误2

c linux gcc rhel fortify
1个回答
0
投票

简短的回答是,当Fortify(或任何其他静态分析器)无法与您的构建系统相处时,您应该将它集成到编译器中。也就是说,告诉Makefile将shell脚本用于编译器:

make GCC=gcc_and_fortify.sh

gcc_and_fortify.sh脚本应如下所示:

#!/bin/sh
ARGS=$@
# run GCC
gcc $ARGS
# run Fortify
sourceanalyzer -b my_project $ARGS
© www.soinside.com 2019 - 2024. All rights reserved.