рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЕрдирд░ рд╡рд╛рдкрд░рдгреЗ - рдЧрд┐рдЯрд▓реЕрдмрд╕реАрдЖрдпрдордзреНрдпреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛

рдЕрд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирд╛рдЪрд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгрдЬреЗ рдЖрдзреБрдирд┐рдХ рдкреНрд░рдгрд╛рд▓реА рдмрдирд╡рд┐рдгрд╛рд▒реНрдпрд╛ рд╕реЙрдлреНрдЯрд╡реЗрдЕрд░ рдШрдЯрдХрд╛рдВрдЪреА рдкреБрд░рд╡рдард╛ рд╕рд╛рдЦрд│реА рдкреВрд░реНрдгрдкрдгреЗ рд╕рдордЬреВрди рдШреЗрдгреЗ рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рдд рдХрд░рдгреЗ. рдЪрдкрд│ рдЖрдгрд┐ DevOps рдХрд╛рд░реНрдпрд╕рдВрдШ рд╡рд┐рдХрд╛рд╕ рд╡реЗрд│ рдЖрдгрд┐ рдЦрд░реНрдЪ рдХрдореА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдореБрдХреНрдд рд╕реНрддреНрд░реЛрдд рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рдлреНрд░реЗрдорд╡рд░реНрдХрдЪрд╛ рд╡реНрдпрд╛рдкрдХ рд╡рд╛рдкрд░ рдХрд░рддрд╛рдд. рдкрд░рдВрддреБ рдпрд╛ рдкрджрдХрд╛рд▓рд╛ рдПрдХ рдирдХрд╛рд░рд╛рддреНрдордХ рдмрд╛рдЬреВ рджреЗрдЦреАрд▓ рдЖрд╣реЗ: рдЗрддрд░ рд▓реЛрдХрд╛рдВрдЪреНрдпрд╛ рдЪреБрдХрд╛ рдЖрдгрд┐ рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╡рд╛рд░рд╢рд╛рдиреЗ рдШреЗрдгреНрдпрд╛рдЪреА рд╕рдВрдзреА.

рд╕рд╛рд╣рдЬрд┐рдХрдЪ, рд╕рдВрдШрд╛рдиреЗ рддреНрдпрд╛рдЪреНрдпрд╛ рдНрдкреНрд▓рд┐рдХреЗрд╢рдиреНрд╕рдордзреНрдпреЗ рдХреЛрдгрддреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдШрдЯрдХ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реЗ рдЖрд╣реЗрдд рд╣реЗ рдЬрд╛рдгреВрди рдШреЗрдгреЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХреЗрд▓реЗ рдкрд╛рд╣рд┐рдЬреЗ, рдЬреНрдЮрд╛рдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рдЖрд╡реГрддреНрддреНрдпрд╛ рдЬреНрдЮрд╛рдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрддреНрд░реЛрддрд╛рдВрдХрдбреВрди рдбрд╛рдЙрдирд▓реЛрдб рдХреЗрд▓реНрдпрд╛ рдЧреЗрд▓реНрдпрд╛ рдЖрд╣реЗрдд рдпрд╛рдЪреА рдЦрд╛рддреНрд░реА рдХрд░рд╛ рдЖрдгрд┐ рдирд╡реАрди рд╢реЛрдзрд▓реЗрд▓реНрдпрд╛ рднреЗрджреНрдпрддрд╛ рдкреЕрдЪ рдЭрд╛рд▓реНрдпрд╛рдирдВрддрд░ рдШрдЯрдХрд╛рдВрдЪреНрдпрд╛ рдЕрджреНрдпрддрдирд┐рдд рдЖрд╡реГрддреНрддреНрдпрд╛ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рд╛.

рдпрд╛ рдкреЛрд╕реНрдЯрдордзреНрдпреЗ, рддреБрдордЪреНрдпрд╛ рдХреЛрдбрдордзреНрдпреЗ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдЖрдврд│рд▓реНрдпрд╛рд╕ рдмрд┐рд▓реНрдб рд░рджреНрдж рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрдореНрд╣реА OWASP рдбрд┐рдкреЗрдВрдбрдиреНрд╕реА рдЪреЗрдХ рд╡рд╛рдкрд░рдгрд╛рд░ рдЖрд╣реЛрдд.

"рдбреЗрд╡реНрд╣рд▓рдкрдореЗрдВрдЯ рд╕рд┐рдХреНрдпреБрд░рд┐рдЯреА рдЗрди рдПрдЬрд╛рдЗрд▓ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕" рдпрд╛ рдкреБрд╕реНрддрдХрд╛рдд рдЦрд╛рд▓реАрд▓рдкреНрд░рдорд╛рдгреЗ рд╡рд░реНрдгрди рдХреЗрд▓реЗ рдЖрд╣реЗ. OWASP рдбрд┐рдкреЗрдВрдбрдиреНрд╕реА рдЪреЗрдХ рд╣реЗ рдПрдХ рд╡рд┐рдирд╛рдореВрд▓реНрдп рд╕реНрдХреЕрдирд░ рдЖрд╣реЗ рдЬреЗ рдНрдкреНрд▓рд┐рдХреЗрд╢рдирдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗрд▓реЗ рд╕рд░реНрд╡ рдУрдкрди рд╕реЛрд░реНрд╕ рдШрдЯрдХ рдХреЕрдЯрд▓реЙрдЧ рдХрд░рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдд рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рднреЗрджреНрдпрддрд╛ рджрд╛рдЦрд╡рддреЗ. Java, .NET, Ruby (gemspec), PHP (рд╕рдВрдЧреАрддрдХрд╛рд░), Node.js рдЖрдгрд┐ Python, рддрд╕реЗрдЪ рдХрд╛рд╣реА C/C++ рдкреНрд░рдХрд▓реНрдкрд╛рдВрд╕рд╛рдареА рдЖрд╡реГрддреНрддреНрдпрд╛ рдЖрд╣реЗрдд. рдбрд┐рдкреЗрдВрдбрдиреНрд╕реА рдЪреЗрдХ рдЕрдБрдЯ, рдореЕрд╡реЗрди рдЖрдгрд┐ рдЧреНрд░реЕрдбрд▓ рдЖрдгрд┐ рдЬреЗрдирдХрд┐рдиреНрд╕ рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рддрдд рдПрдХреАрдХрд░рдг рд╕рд░реНрд╡реНрд╣рд░рд╕рд╣ рд╕рд╛рдорд╛рдиреНрдп рдмрд┐рд▓реНрдб рдЯреВрд▓реНрд╕рд╕рд╣ рдПрдХрддреНрд░рд┐рдд рд╣реЛрддреЗ.

рдбрд┐рдкреЗрдВрдбрдиреНрд╕реА рдЪреЗрдХ NIST рдЪреНрдпрд╛ рдиреЕрд╢рдирд▓ рд╡реНрд╣рд▓реНрдиреЗрд░реЗрдмрд┐рд▓рд┐рдЯреА рдбреЗрдЯрд╛рдмреЗрд╕ (NVD) рд╡рд░реВрди рдЬреНрдЮрд╛рдд рднреЗрджреНрдпрддрд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд╕рд░реНрд╡ рдШрдЯрдХрд╛рдВрдЪрд╛ рдЕрд╣рд╡рд╛рд▓ рджреЗрддреЛ рдЖрдгрд┐ NVD рдиреНрдпреВрдЬ рдлреАрдбреНрд╕рдордзреАрд▓ рдбреЗрдЯрд╛рд╕рд╣ рдЕрджреНрдпрддрдирд┐рдд рдХреЗрд▓рд╛ рдЬрд╛рддреЛ.

рд╕реБрджреИрд╡рд╛рдиреЗ, рд╣реЗ рд╕рд░реНрд╡ рдУрдбрдмреНрд▓реНрдпреВрдПрдПрд╕рдкреА рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЪреЗрдХ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХрд┐рдВрд╡рд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╕рд╛рд░рдЦреНрдпрд╛ рд╕рд╛рдзрдирд╛рдВрдЪрд╛ рд╡рд╛рдкрд░ рдХрд░реВрди рд╕реНрд╡рдпрдВрдЪрд▓рд┐рддрдкрдгреЗ рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рдмреНрд▓реЕрдХ рдбрдХ, рдЬреЗрдлреНрд░реЙрдЧ рдПрдХреНрд╕рд░реЗ, Snyk, Nexus Lifecycle рд╕реЛрдирд╛рдЯрд╛рдИрдк рдХрд┐рдВрд╡рд╛ рд╕реЛрд░реНрд╕ рдХреНрд▓рд┐рдпрд░.

рд╣реА рд╕рд╛рдзрдиреЗ рдУрдкрди рд╕реЛрд░реНрд╕ рдЕрд╡рд▓рдВрдмрдирд╛рдВрдЪреА рдЖрдкреЛрдЖрдк рдпрд╛рджреА рддрдпрд╛рд░ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдмрд┐рд▓реНрдб рдкрд╛рдЗрдкрд▓рд╛рдЗрдирдордзреНрдпреЗ рд╕рдорд╛рд╡рд┐рд╖реНрдЯ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрддрд╛рдд, рдЬреНрдЮрд╛рдд рдЕрд╕реБрд░рдХреНрд╖рд╛ рдЕрд╕рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдгрд┐ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреНрдпрд╛ рдХрд╛рд▓рдмрд╛рд╣реНрдп рдЖрд╡реГрддреНрддреНрдпрд╛ рдУрд│рдЦрд╛ рдЖрдгрд┐ рдЧрдВрднреАрд░ рд╕рдорд╕реНрдпрд╛ рдЖрдврд│рд▓реНрдпрд╛рд╕ рдмрд┐рд▓реНрдб рд░рджреНрдж рдХрд░рд╛.

OWASP рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рдгреА

рдбрд┐рдкреЗрдВрдбреЗрдВрд╕реА рдЪреЗрдХ рдХрд╕реЗ рдХрд╛рд░реНрдп рдХрд░рддреЗ рдпрд╛рдЪреА рдЪрд╛рдЪрдгреА рдЖрдгрд┐ рдкреНрд░рд╛рддреНрдпрдХреНрд╖рд┐рдХ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдореНрд╣реА рд╣реЗ рднрд╛рдВрдбрд╛рд░ рд╡рд╛рдкрд░рддреЛ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡-рддрдкрд╛рд╕рдгреА-рдЙрджрд╛рд╣рд░рдг.

HTML рдЕрд╣рд╡рд╛рд▓ рдкрд╛рд╣рдгреНрдпрд╛рд╕рд╛рдареА, рддреБрдореНрд╣рд╛рд▓рд╛ рддреБрдордЪреНрдпрд╛ gitlab-runner рд╡рд░ nginx рд╡реЗрдм рд╕рд░реНрд╡реНрд╣рд░ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

рдХрд┐рдорд╛рди 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 {
    }
}

рд╕рдВрдореЗрд▓рдирд╛рдЪреНрдпрд╛ рд╢реЗрд╡рдЯреА рдЖрдкрдг рд╣реЗ рдЪрд┐рддреНрд░ рдкрд╛рд╣реВ рд╢рдХрддрд╛:

рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЕрдирд░ рд╡рд╛рдкрд░рдгреЗ - рдЧрд┐рдЯрд▓реЕрдмрд╕реАрдЖрдпрдордзреНрдпреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛

рджреБрд╡реНрдпрд╛рдЪреЗ рдЕрдиреБрд╕рд░рдг рдХрд░рд╛ рдЖрдгрд┐ рдЕрд╡рд▓рдВрдмрди рддрдкрд╛рд╕рдгреА рдЕрд╣рд╡рд╛рд▓ рдкрд╣рд╛.

рдкрд╣рд┐рд▓рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рд╣рд╛ рд╕рд╛рд░рд╛рдВрд╢рд╛рд╕рд╣ рдЕрд╣рд╡рд╛рд▓рд╛рдЪрд╛ рд╡рд░рдЪрд╛ рднрд╛рдЧ рдЖрд╣реЗ.

рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЕрдирд░ рд╡рд╛рдкрд░рдгреЗ - рдЧрд┐рдЯрд▓реЕрдмрд╕реАрдЖрдпрдордзреНрдпреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛

рджреБрд╕рд░рд╛ рд╕реНрдХреНрд░реАрдирд╢реЙрдЯ рддрдкрд╢реАрд▓ 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 рдЖрд╣реЗрдд.

рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЕрдирд░ рд╡рд╛рдкрд░рдгреЗ - рдЧрд┐рдЯрд▓реЕрдмрд╕реАрдЖрдпрдордзреНрдпреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛

рдЬрд░ рддреБрдореНрд╣рд╛рд▓рд╛ рдЧрд┐рдЯрд▓реЕрдм рдкреГрд╖реНрдареЗ рд╡рд╛рдкрд░рд╛рдпрдЪреА рдЕрд╕рддреАрд▓ рддрд░ рддреЗ рдХрд╛рд░реНрдп рдХрд░рдгрд╛рд░ рдирд╛рд╣реА - рдкрдбрд▓реЗрд▓реНрдпрд╛ рдХрд╛рд░реНрдпрд╛рдореБрд│реЗ рдЖрд░реНрдЯрд┐рдлреЕрдХреНрдЯ рддрдпрд╛рд░ рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА.

рдпреЗрдереЗ рдЙрджрд╛рд╣рд░рдг https://gitlab.com/anton_patsev/dependency-check-example-gitlab-pages.

рдЖрдЙрдЯрдкреБрдЯ рддрдпрд╛рд░ рдХрд░рд╛: рдХреЛрдгрддреАрд╣реА рдХрд▓рд╛рдХреГрддреА рдирд╛рд╣реА, рдорд▓рд╛ html рдЕрд╣рд╡рд╛рд▓ рджрд┐рд╕рдд рдирд╛рд╣реА. рддреБрдореНрд╣реА рдЖрд░реНрдЯрд┐рдлреЕрдХреНрдЯ рд╡рд╛рдкрд░реВрди рдкрд╣рд╛: рдиреЗрд╣рдореА

https://gitlab.com/anton_patsev/dependency-check-example-gitlab-pages/-/jobs/400004246

рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЕрдирд░ рд╡рд╛рдкрд░рдгреЗ - рдЧрд┐рдЯрд▓реЕрдмрд╕реАрдЖрдпрдордзреНрдпреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛

CVE рдЕрд╕реБрд░рдХреНрд╖рд╛ рдкрд╛рддрд│реАрдЪреЗ рдирд┐рдпрдорди рдХрд░рдгреЗ

gitlab-ci.yaml рдлрд╛рдИрд▓рдордзреАрд▓ рд╕рд░реНрд╡рд╛рдд рдорд╣рддреНрд╡рд╛рдЪреА рдУрд│:

mvn $MAVEN_CLI_OPTS test org.owasp:dependency-check-maven:check -DfailBuildOnCVSS=7

failBuildOnCVSS рдкреЕрд░рд╛рдореАрдЯрд░рд╕рд╣ рддреБрдореНрд╣реА CVE рднреЗрджреНрдпрддреЗрдЪреА рдкрд╛рддрд│реА рд╕рдорд╛рдпреЛрдЬрд┐рдд рдХрд░реВ рд╢рдХрддрд╛ рдЬреНрдпрд╛рд▓рд╛ рддреБрдореНрд╣рд╛рд▓рд╛ рдкреНрд░рддрд┐рд╕рд╛рдж рджреЗрдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдЖрд╣реЗ.

рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реВрди NIST Vulnerability Database (NVD) рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреЗ

рддреБрдордЪреНрдпрд╛ рд▓рдХреНрд╖рд╛рдд рдЖрд▓реЗ рдЖрд╣реЗ рдХрд╛ рдХреА NIST рд╕рддрдд NIST рд╡реНрд╣рд▓рдирд░реЗрдмрд┐рд▓рд┐рдЯреА рдбреЗрдЯрд╛рдмреЗрд╕ (NVD) рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░реВрди рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рддреЗ:

рд╡рд╛рдкрд░рд▓реЗрд▓реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдВрд╕рд╛рдареА рдЕрд╕реБрд░рдХреНрд╖рд╛ рд╕реНрдХреЕрдирд░ рд╡рд╛рдкрд░рдгреЗ - рдЧрд┐рдЯрд▓реЕрдмрд╕реАрдЖрдпрдордзреНрдпреЗ рдЕрд╡рд▓рдВрдмрд┐рддреНрд╡ рддрдкрд╛рд╕рд╛

рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдЖрдкрдг рдЙрдкрдпреБрдХреНрддрддрд╛ рд╡рд╛рдкрд░реВ рд╢рдХрддрд╛ nist_data_mirror_golang

рдЪрд▓рд╛ рддреЗ рд╕реНрдерд╛рдкрд┐рдд рдЖрдгрд┐ рд▓реЙрдиреНрдЪ рдХрд░реВрдпрд╛.

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 рд╕реНрдЯрд╛рд░реНрдЯрдЕрдкрд╡рд░ NIST JSON CVE /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 рдЕрд╕реЗ рджрд┐рд╕реЗрд▓:

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

DevOps рдЖрдгрд┐ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдмрджреНрджрд▓ рдЯреЗрд▓реАрдЧреНрд░рд╛рдо рдЪреЕрдЯ
рдЯреЗрд▓рд┐рдЧреНрд░рд╛рдо рдЪреЕрдиреЗрд▓ DevSecOps / SSDLC - рд╕реБрд░рдХреНрд╖рд┐рдд рд╡рд┐рдХрд╛рд╕

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛