ΠΠ°ΠΆΠ½Π°Ρ ΡΠ°ΡΡΡ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ ΡΠΎΡΡΠΎΠΈΡ Π² ΡΠΎΠΌ, ΡΡΠΎΠ±Ρ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΠ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΡΡΠΎΡΡΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠΌΠ°Π½Π΄Ρ, ΠΏΡΠ°ΠΊΡΠΈΠΊΡΡΡΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΈ DevOps, ΡΠΈΡΠΎΠΊΠΎ ΠΏΡΠΈΠΌΠ΅Π½ΡΡΡ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ ΠΈ ΠΊΠ°ΡΠΊΠ°ΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, ΡΡΠΎΠ±Ρ ΡΠΎΠΊΡΠ°ΡΠΈΡΡ Π²ΡΠ΅ΠΌΡ ΠΈ ΡΡΠΎΠΈΠΌΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ. ΠΠΎ ΡΡΠ° ΠΌΠ΅Π΄Π°Π»Ρ ΠΈΠΌΠ΅Π΅Ρ ΠΈ ΠΎΠ±ΡΠ°ΡΠ½ΡΡ ΡΡΠΎΡΠΎΠ½Ρ: Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡΡ ΠΏΠΎΠ»ΡΡΠΈΡΡ Π² Π½Π°ΡΠ»Π΅Π΄ΡΡΠ²ΠΎ ΡΡΠΆΠΈΠ΅ ΠΎΡΠΈΠ±ΠΊΠΈ ΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ.
ΠΡΠ΅Π²ΠΈΠ΄Π½ΠΎ, ΠΊΠΎΠΌΠ°Π½Π΄Π° Π΄ΠΎΠ»ΠΆΠ½Π° ΠΎΠ±ΡΠ·Π°ΡΠ΅Π»ΡΠ½ΠΎ Π·Π½Π°ΡΡ, ΠΊΠ°ΠΊΠΈΠ΅ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ Π²ΠΊΠ»ΡΡΠ΅Π½Ρ Π² Π΅Π΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, ΡΠ»Π΅Π΄ΠΈΡΡ Π·Π° ΡΠ΅ΠΌ, ΡΡΠΎΠ±Ρ Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΡΠΊΠ°ΡΠΈΠ²Π°Π»ΠΈΡΡ ΠΈΠ· Π·Π°Π²Π΅Π΄ΠΎΠΌΠΎ Π½Π°Π΄Π΅ΠΆΠ½ΡΡ ΠΈΡΡΠΎΡΠ½ΠΈΠΊΠΎΠ², ΠΈ Π·Π°Π³ΡΡΠΆΠ°ΡΡ ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½Π½ΡΠ΅ Π²Π΅ΡΡΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΏΠΎΡΠ»Π΅ ΠΈΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΡ Π²Π½ΠΎΠ²Ρ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ.
Π ΡΡΠΎΠΌ ΠΏΠΎΡΡΠ΅ ΡΠ°ΡΡΠΌΠΎΡΡΠΈΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°Π½ΠΈΠ΅ OWASP Dependency Check Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ Ρ Π²Π°ΡΠΈΠΌ ΠΊΠΎΠ΄ΠΎΠΌ.
Π ΠΊΠ½ΠΈΠ³Π΅ «ΠΠ΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠΈ Π² Agile-ΠΏΡΠΎΠ΅ΠΊΡΠ°Ρ » ΠΎΠΏΠΈΡΠ°Π½ ΡΠ°ΠΊ. OWASP Dependency Check β ΡΡΠΎ Π±Π΅ΡΠΏΠ»Π°ΡΠ½ΡΠΉ ΡΠΊΠ°Π½Π΅Ρ, ΠΊΠΎΡΠΎΡΡΠΉ ΠΊΠ°ΡΠ°Π»ΠΎΠ³ΠΈΠ·ΠΈΡΡΠ΅Ρ Π²ΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠ΅ Π² ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΡ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ ΠΈ ΠΏΠΎΠΊΠ°Π·ΡΠ²Π°Π΅Ρ ΠΈΠΌΠ΅ΡΡΠΈΠ΅ΡΡ Π² Π½ΠΈΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ. ΠΠΌΠ΅ΡΡΡΡ Π²Π΅ΡΡΠΈΠΈ Π΄Π»Ρ Java, .NET, Ruby (gemspec), PHP (composer), Node.js ΠΈ Python, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ Π½Π΅ΠΊΠΎΡΠΎΡΡΡ ΠΏΡΠΎΠ΅ΠΊΡΠΎΠ² Π½Π° C/C++. Dependency Check ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΡΠ΅ΡΡΡ Ρ ΡΠ°ΡΠΏΡΠΎΡΡΡΠ°Π½Π΅Π½Π½ΡΠΌΠΈ ΡΡΠ΅Π΄ΡΡΠ²Π°ΠΌΠΈ ΡΠ±ΠΎΡΠΊΠΈ, Π² Ρ. Ρ. Ant, Maven ΠΈ Gradle ΠΈ ΡΠ΅ΡΠ²Π΅ΡΠ°ΠΌΠΈ Π½Π΅ΠΏΡΠ΅ΡΡΠ²Π½ΠΎΠΉ ΠΈΠ½ΡΠ΅Π³ΡΠ°ΡΠΈΠΈ ΡΠΈΠΏΠ° Jenkins.
Dependency Check ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ ΠΎΠ±ΠΎ Π²ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°Ρ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ ΠΈΠ· ΠΠ°ΡΠΈΠΎΠ½Π°Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΒΡΠ΅ΠΉ (NVD) NIST ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅ΡΡΡ Π½Π° ΠΎΡΠ½ΠΎΠ²Π°Π½ΠΈΠΈ Π΄Π°Π½Π½ΡΡ ΠΈΠ· Π½ΠΎΠ²ΠΎΡΡΠ½ΡΡ ΠΊΠ°Π½Π°Π»ΠΎΠ² NVD.
ΠΠΎ ΡΡΠ°ΡΡΡΡ, Π²ΡΠ΅ ΡΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ Π΄Π΅Π»Π°ΡΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ ΡΠ°ΠΊΠΈΡ
ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΠΎΠ², ΠΊΠ°ΠΊ ΠΏΡΠΎΠ΅ΠΊΡ OWASP Dependency Check, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ
ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ ΡΠΈΠΏΠ°
ΠΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ Π² ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ, ΡΡΠΎΠ±Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ ΡΠΎΡΡΠ°Π²Π»ΡΡΡ ΠΎΠΏΠΈΡΡ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΡΡΠ²Π»ΡΡΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΠ΅ Π²Π΅ΡΡΠΈΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊΠΈ, ΡΠΎΠ΄Π΅ΡΠΆΠ°ΡΠΈΠ΅ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠΈ, ΠΈ ΠΏΡΠ΅ΡΡΠ²Π°ΡΡ ΡΠ±ΠΎΡΠΊΡ Π² ΡΠ»ΡΡΠ°Π΅ ΠΎΠ±Π½Π°ΡΡΠΆΠ΅Π½ΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
OWASP Dependency Check
ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Dependency Check ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ
ΠΠ»Ρ ΠΏΡΠΎΡΠΌΠΎΡΡΠ° HTML ΠΎΡΡΠ΅ΡΠ° Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ web-ΡΠ΅ΡΠ²Π΅Ρ nginx Π½Π° Π²Π°ΡΠ΅ΠΌ gitlab-runner.
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° nginx:
server {
listen 9999;
listen [::]:9999;
server_name _;
root /home/gitlab-runner/builds;
location / {
autoindex on;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Π ΠΊΠΎΠ½ΡΠ΅ ΡΠ±ΠΎΡΠΊΠΈ Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π²ΠΈΠ΄Π΅ΡΡ Π²ΠΎΡ ΡΠ°ΠΊΡΡ ΠΊΠ°ΡΡΠΈΠ½Ρ:
ΠΠ΅ΡΠ΅Ρ ΠΎΠ΄ΠΈΠΌ ΠΏΠΎ ΡΡΡΠ»ΠΊΠ΅ ΠΈ Π²ΠΈΠ΄ΠΈΠΌ ΠΎΡΡΠ΅Ρ Dependency Check.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΊΡΠΈΠ½ΡΠΎΡ β Π²Π΅ΡΡ Π½ΡΡ ΡΠ°ΡΡΡ ΠΎΡΡΠ΅ΡΠ° Ρ ΠΊΡΠ°ΡΠΊΠΈΠΌ ΡΠΎΠ΄Π΅ΡΠΆΠ°Π½ΠΈΠ΅ΠΌ.
ΠΡΠΎΡΠΎΠΉ ΡΠΊΡΠΈΠ½ΡΠΎΡ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ CVE-2017-5638. ΠΠ΄Π΅ΡΡ ΠΌΡ Π²ΠΈΠ΄ΠΈΠΌ ΡΡΠΎΠ²Π΅Π½Ρ CVE ΠΈ ΡΡΡΠ»ΠΊΠΈ Π½Π° ΡΠΊΡΠΏΠ»ΠΎΠΈΡΡ.
Π’ΡΠ΅ΡΠΈΠΉ ΡΠΊΡΠΈΠ½ΡΠΎΡ β ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ log4j-api-2.7.jar. ΠΠΈΠ΄ΠΈΠΌ ΡΡΠΎ ΡΡΠΎΠ²Π½ΠΈ CVE 7.5 ΠΈ 9.8.
Π§Π΅ΡΠ²Π΅ΡΡΡΠΉ ΡΠΊΡΠΈΠ½ΡΠΎΡ β ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ commons-fileupload-1.3.2.jar. ΠΠΈΠ΄ΠΈΠΌ ΡΡΠΎ ΡΡΠΎΠ²Π½ΠΈ CVE 7.5 ΠΈ 9.8.
ΠΡΠ»ΠΈ Π²Ρ Ρ ΠΎΡΠΈΡΠ΅ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ gitlab pages, ΡΠΎ Π½Π΅ ΠΏΠΎΠ»ΡΡΠΈΡΡΡ β ΡΠΏΠ°Π²ΡΠ°Ρ ΡΠ°ΡΠΊΠ° Π½Π΅ ΡΠΎΠ·Π΄Π°ΡΡ Π°ΡΡΠ΅ΡΠ°ΠΊΡ.
ΠΡΠΈΠΌΠ΅Ρ Π·Π΄Π΅ΡΡ
ΠΡΠ²ΠΎΠ΄ ΡΠ±ΠΎΡΠΊΠΈ: Π°ΡΡΠ΅ΡΠ°ΠΊΡΠΎΠ² Π½Π΅Ρ, html ΠΎΡΡΠ΅ΡΠ° Π½Π΅ Π²ΠΈΠΆΡ. ΠΠ°Π΄ΠΎ ΠΏΠΎΠΏΡΠΎΠ±ΠΎΠ²Π°ΡΡ Artifact: always
Π Π΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠΎΠ²Π½Ρ CVE ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ
Π‘Π°ΠΌΠ°Ρ Π³Π»Π°Π²Π½Π°Ρ ΡΡΡΠΎΠΊΠ° Π² ΡΠ°ΠΉΠ»Π΅ gitlab-ci.yaml:
mvn $MAVEN_CLI_OPTS test org.owasp:dependency-check-maven:check -DfailBuildOnCVSS=7
ΠΠ°ΡΠ°ΠΌΠ΅ΡΡΠΎΠΌ failBuildOnCVSS Π²Ρ ΠΌΠΎΠΆΠ΅ΡΠ΅ ΡΠ΅Π³ΡΠ»ΠΈΡΠΎΠ²Π°ΡΡ ΡΡΠΎΠ²Π΅Π½Ρ CVE ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΠ΅ΠΉ, Π½Π° ΠΊΠΎΡΠΎΡΡΠ΅ Π½ΡΠΆΠ½ΠΎ ΡΠ΅Π°Π³ΠΈΡΠΎΠ²Π°ΡΡ.
Π‘ΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΠ΅ Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ° Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΒΡΠ΅ΠΉ (NVD) NIST
ΠΡ Π·Π°ΠΌΠ΅ΡΠΈΠ»ΠΈ ΡΡΠΎ ΠΏΠΎΡΡΠΎΡΠ½Π½ΠΎ ΡΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ Π±Π°Π·Ρ Π΄Π°Π½Π½ΡΡ ΡΡΠ·Π²ΠΈΠΌΠΎΡΒΡΠ΅ΠΉ (NVD) NIST Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅ΡΠ°:
ΠΠ»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ ΡΡΠΈΠ»ΠΈΡΡ
Π£ΡΡΠ°Π½ΠΎΠ²ΠΈΠΌ ΠΈ Π·Π°ΠΏΡΡΡΠΈΠΌ Π΅Π΅.
yum -y install yum-plugin-copr
yum copr enable antonpatsev/nist_data_mirror_golang
yum -y install nist-data-mirror
systemctl start nist-data-mirror
Nist-data-mirror Π·Π°ΠΊΠ°ΡΠΈΠ²Π°Π΅Ρ CVE JSON NIST Π² /var/www/repos/nist-data-mirror/ ΠΏΡΠΈ Π·Π°ΠΏΡΡΠΊΠ΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²Π»ΡΠ΅Ρ Π΄Π°Π½Π½ΡΠ΅ ΠΊΠ°ΠΆΠ΄ΡΠ΅ 24 ΡΠ°ΡΠ°.
ΠΠ»Ρ ΡΠΊΠ°ΡΠΈΠ²Π°Π½ΠΈΡ CVE JSON NIST Π½ΡΠΆΠ½ΠΎ Π½Π°ΡΡΡΠΎΠΈΡΡ web-ΡΠ΅ΡΠ²Π΅Ρ nginx (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π½Π° Π²Π°ΡΠ΅ΠΌ gitlab-runner).
ΠΡΠΈΠΌΠ΅Ρ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΠΎΠ³ΠΎ ΠΊΠΎΠ½ΡΠΈΠ³Π° nginx:
server {
listen 12345;
listen [::]:12345;
server_name _;
root /var/www/repos/nist-data-mirror/;
location / {
autoindex on;
}
error_page 404 /404.html;
location = /40x.html {
}
error_page 500 502 503 504 /50x.html;
location = /50x.html {
}
}
Π§ΡΠΎΠ±Ρ Π½Π΅ Π΄Π΅Π»Π°ΡΡ Π΄Π»ΠΈΠ½Π½ΡΡ ΡΡΡΠΎΠΊΡ Π³Π΄Π΅ Π·Π°ΠΏΡΡΠΊΠ°Π΅ΡΡΡ mvn Π²ΡΠ½Π΅ΡΠ΅ΠΌ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΡ Π² ΠΎΡΠ΄Π΅Π»ΡΠ½ΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½ΡΡ DEPENDENCY_OPTS.
ΠΡΠΎΠ³ΠΎΠ²ΡΠΉ ΠΌΠΈΠ½ΠΈΠΌΠ°Π»ΡΠ½ΡΠΉ ΠΊΠΎΠ½ΡΠΈΠ³ .gitlab-ci.yml ΠΏΠΎΠ»ΡΡΠΈΡΡΡ Π²ΠΎΡ ΡΠ°ΠΊ:
variables:
MAVEN_OPTS: "-Dhttps.protocols=TLSv1.2 -Dmaven.repo.local=$CI_PROJECT_DIR/.m2/repository -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=WARN -Dorg.slf4j.simpleLogger.showDateTime=true -Djava.awt.headless=true"
MAVEN_CLI_OPTS: "--batch-mode --errors --fail-at-end --show-version -DinstallAtEnd=true -DdeployAtEnd=true"
DEPENDENCY_OPTS: "-DfailBuildOnCVSS=7 -DcveUrlModified=http://localhost:12345/nvdcve-1.1-modified.json.gz -DcveUrlBase=http://localhost:12345/nvdcve-1.1-%d.json.gz"
cache:
paths:
- .m2/repository
verify:
stage: test
script:
- set +e
- mvn $MAVEN_CLI_OPTS install org.owasp:dependency-check-maven:check $DEPENDENCY_OPTS || EXIT_CODE=$?
- export PATH_WITHOUT_HOME=$(pwd | sed -e "s//home/gitlab-runner/builds//g")
- echo "************************* URL Dependency-check-report.html *************************"
- echo "http://$HOSTNAME:9999$PATH_WITHOUT_HOME/target/dependency-check-report.html"
- set -e
- exit ${EXIT_CODE}
tags:
- shell
ΠΡΡΠΎΡΠ½ΠΈΠΊ: habr.com