PVS-Studio
PVS-Studio - статический анализатор кода
Кастомный импортер в GitLab: pvs-studio.json
Образ с интеграцией: registry.cybercodereview.ru/cybercodereview/security-images/pvs-studio:7.37
Запуск задания аудитора для C/C++/C# языков:
echo '<license_name>
<license_code>
' > lic.lic
pvs-studio-analyzer trace -- cmake build ./$SEC_CODE_FOLDER
pvs-studio-analyzer analyze -f strace_out -l lic.lic -o report
plog-converter -t json -o /data/$REPORT_FILE_NAME report
Запуск задания аудитора для Java языков:
java -jar ~/.config/PVS-Studio-Java/7.37.94487/pvs-studio.jar -s ./$SEC_CODE_FOLDER -o /data/$REPORT_FILE_NAME --license-key <license_code> --user-name <license_name>
Пример Dockerfile
для сборки образа, способного запускать версии анализатора для всех языков:
FROM debian:bookworm-slim
ARG PVS_VER="7.37.94487.552-1"
ARG PVS_DOTNET_VER="7.37.94606.2558"
ARG PVS_CORE="7.37.94487"
RUN apt update -y && apt install -y wget gnupg ca-certificates unzip && apt clean && rm -rf /var/lib/apt/lists/*
RUN wget -q -O - https://files.pvs-studio.com/etc/pubkey.txt | apt-key add -
RUN wget https://packages.microsoft.com/config/debian/12/packages-microsoft-prod.deb -O packages-microsoft-prod.deb && dpkg -i packages-microsoft-prod.deb && rm packages-microsoft-prod.deb
RUN wget -O /etc/apt/sources.list.d/viva64.list https://files.pvs-studio.com/etc/viva64.list
RUN wget "https://files.pvs-studio.com/java/pvsstudio-cores/${PVS_CORE}.zip"\
-O ${PVS_CORE}.zip \
&& mkdir -p ~/.config/PVS-Studio-Java \
&& unzip ${PVS_CORE}.zip -d ~/.config/PVS-Studio-Java \
&& rm -rf ${PVS_CORE}.zip
RUN apt update -yq && apt install -yq dotnet-sdk-9.0 openjdk-17-jre maven pvs-studio=${PVS_VER} pvs-studio-dotnet=${PVS_DOTNET_VER} strace gcc cmake make && apt clean && rm -rf /var/lib/apt/lists/*
Last updated