ΠΠ°ΠΆΠ½ΠΎ ΡΠΏΡΠ°Π²Π»Π΅Π½ΠΈΠ΅ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ, ΠΏΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ Ρ ΠΎΡΠΎΡΠΎ ΠΏΠΎΠ½ΠΈΠΌΠ°ΡΡ ΠΈ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠΈΠ²Π°ΡΡ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡΡ ΡΠ΅ΠΏΠΎΡΠΊΠΈ ΠΏΠΎΡΡΠ°Π²ΠΎΠΊ ΡΠ΅Ρ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠΎΠ² ΠΠ, ΠΈΠ· ΠΊΠΎΡΠΎΡΡΡ ΡΠΎΡΡΠΎΡΡ ΡΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΡ. ΠΠΎΠΌΠ°Π½Π΄Ρ, ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΡΡΠΈΠ΅ Π³ΠΈΠ±ΠΊΠΈΠ΅ ΠΌΠ΅ΡΠΎΠ΄ΠΈΠΊΠΈ ΠΈ 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, ΠΈΠ»ΠΈ ΠΊΠΎΠΌΠΌΠ΅ΡΡΠ΅ΡΠΊΠΈΡ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌ, ΡΠ°ΠΊΠΈΡ ΠΊΠ°ΠΊ , , , ΠΊΠΎΠΌΠΏΠ°Π½ΠΈΡ Sonatype ΠΈΠ»ΠΈ .
ΠΡΠΈ ΠΈΠ½ΡΡΡΡΠΌΠ΅Π½ΡΡ ΠΌΠΎΠΆΠ½ΠΎ ΠΈΠ½ΡΠ΅Π³ΡΠΈΡΠΎΠ²Π°ΡΡ Π² ΡΠ±ΠΎΡΠΎΡΠ½ΡΠ΅ ΠΊΠΎΠ½Π²Π΅ΠΉΠ΅ΡΡ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΎΠ³ΠΎ ΡΠΎΡΡΠ°Π²Π»Π΅Π½ΠΈΡ ΠΏΠ΅ΡΠ΅ΡΠ½Ρ Π·Π°Π²ΠΈΡΠΈΠΌΠΎΡΡΠ΅ΠΉ Ρ ΠΎΡΠΊΡΡΡΡΠΌ ΠΈΡΡ ΠΎΠ΄Π½ΡΠΌ ΠΊΠΎΠ΄ΠΎΠΌ, Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΡΡΠ°ΡΠ΅Π²ΡΠΈΡ Π²Π΅ΡΡΠΈΠΉ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ ΠΈ Π±ΠΈΠ±Π»ΠΈΠΎΡΠ΅ΠΊ Ρ ΠΈΠ·Π²Π΅ΡΡΠ½ΡΠΌΠΈ ΡΡΠ·Π²ΠΈΠΌΠΎΡΡΡΠΌΠΈ, Π° ΡΠ°ΠΊΠΆΠ΅ Π΄Π»Ρ ΠΏΡΠ΅ΡΡΠ²Π°Π½ΠΈΡ ΡΠ±ΠΎΡΠΊΠΈ Π² ΡΠ»ΡΡΠ°Π΅ Π²ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠ΅ΡΡΠ΅Π·Π½ΡΡ ΠΏΡΠΎΠ±Π»Π΅ΠΌ.
OWASP Dependency Check
ΠΠ»Ρ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ ΠΈ Π΄Π΅ΠΌΠΎΠ½ΡΡΡΠ°ΡΠΈΠΈ ΡΠ°Π±ΠΎΡΡ Dependency Check ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ ΡΡΠΎΡ ΡΠ΅ΠΏΠΎΠ·ΠΈΡΠΎΡΠΈΠΉ .
ΠΠ° Π΄Π° Π²ΠΈΠ΄ΠΈΡΠ΅ HTML ΠΎΡΡΠ΅ΡΠ°, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΡΠ΅Π± ΡΡΡΠ²ΡΡ 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-mirrorNist-data-mirror ΠΈΠ·ΡΠ΅Π³Π»Ρ CVE JSON NIST Π² /var/www/repos/nist-data-mirror/ ΠΏΡΠΈ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ ΠΈ ΠΎΠ±Π½ΠΎΠ²ΡΠ²Π° Π΄Π°Π½Π½ΠΈΡΠ΅ Π½Π° Π²ΡΠ΅ΠΊΠΈ 24 ΡΠ°ΡΠ°.
ΠΠ° Π΄Π° ΠΈΠ·ΡΠ΅Π³Π»ΠΈΡΠ΅ CVE JSON NIST, ΡΡΡΠ±Π²Π° Π΄Π° Π½Π°ΡΡΡΠΎΠΈΡΠ΅ ΡΠ΅Π± ΡΡΡΠ²ΡΡ 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 ΡΠ΅ ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° ΡΠ°ΠΊΠ°:
ΠΏΡΠΎΠΌΠ΅Π½Π»ΠΈΠ²ΠΈ:
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"
ΠΊΠ΅Ρ:
ΠΏΡΡΠΈΡΠ°:
- .m2/repository
ΠΏΡΠΎΠ²Π΅ΡΠΊΠ°:
Π΅ΡΠ°ΠΏ: ΡΠ΅ΡΡ
ΡΠΊΡΠΈΠΏΡ:
- 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}
Π΅ΡΠΈΠΊΠ΅ΡΠΈ:
- shell
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: habr.com
