рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЬреЛрдЦрд┐рдо рд╡реНрдпрд╡рд╕реНрдерд╛рдкрдирдХреЛ рдПрдЙрдЯрд╛ рдорд╣рддреНрддреНрд╡рдкреВрд░реНрдг рднрд╛рдЧ рднрдиреЗрдХреЛ рдЖрдзреБрдирд┐рдХ рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВ рдмрдирд╛рдЙрдиреЗ рд╕рдлреНрдЯрд╡реЗрдпрд░ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдЖрдкреВрд░реНрддрд┐ рд╢реНрд░реГрдВрдЦрд▓рд╛рд▓рд╛рдИ рд░рд╛рдореНрд░рд░реА рдмреБрдЭреНрди рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рдЧрд░реНрдиреБ рд╣реЛред Agile рд░ DevOps рдЯреЛрд▓реАрд╣рд░реВрд▓реЗ рд╡рд┐рдХрд╛рд╕ рд╕рдордп рд░ рд▓рд╛рдЧрдд рдХрдо рдЧрд░реНрди рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВ рд░ рдлреНрд░реЗрдорд╡рд░реНрдХрд╣рд░реВрдХреЛ рд╡реНрдпрд╛рдкрдХ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдЫрдиреНред рддрд░ рдпреЛ рдкрджрдХрдХреЛ рдкрдирд┐ рдирдХрд╛рд░рд╛рддреНрдордХ рдкрдХреНрд╖ рдЫ: рдЕрд░реВ рдорд╛рдирд┐рд╕рд╣рд░реВрдХрд╛ рдЧрд▓реНрддреАрд╣рд░реВ рд░ рдХрдордЬреЛрд░реАрд╣рд░реВрд▓рд╛рдИ рдЙрддреНрддрд░рд╛рдзрд┐рдХрд╛рд░реА рдмрдирд╛рдЙрдиреЗ рдЕрд╡рд╕рд░ред

рд╕реНрдкрд╖реНрдЯ рд░реВрдкрдорд╛, рдЯреЛрд▓реАрд▓реЗ рдЖрдлреНрдиреЛ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╣рд░реВрдорд╛ рдХреБрди рдЦреБрд▓рд╛ рд╕реНрд░реЛрдд рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд╕рдорд╛рд╡реЗрд╢ рдЫрдиреН рднрдиреЗрд░ рдЬрд╛рдиреНрди рдирд┐рд╢реНрдЪрд┐рдд рд╣реБрдиреБрдкрд░реНрджрдЫ, рдЬреНрдЮрд╛рдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдЬреНрдЮрд╛рдд рд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рд╕реНрд░реЛрддрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░рд┐рдПрдХреЛ рдЫ рднрдиреЗрд░ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдЧрд░реНрдиреБрд╣реЛрд╕реН, рд░ рднрд░реНрдЦрд░реИ рдкрддреНрддрд╛ рд▓рд╛рдЧреЗрдХреЛ рдХрдордЬреЛрд░реАрд╣рд░реВ рдкреНрдпрд╛рдЪ рдЧрд░рд┐рд╕рдХреЗрдкрдЫрд┐ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВрдХреЛ рдЕрдкрдбреЗрдЯ рдЧрд░рд┐рдПрдХреЛ рд╕рдВрд╕реНрдХрд░рдгрд╣рд░реВ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдиреБрд╣реЛрд╕реНред

рдпрд╕ рдкреЛрд╖реНрдЯрдорд╛, рд╣рд╛рдореА рдирд┐рд░реНрдорд╛рдг рд░рджреНрдж рдЧрд░реНрди OWASP рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдБрдЪ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рд╣реЗрд░реНрдиреЗрдЫреМрдВ рдпрджрд┐ рдпрд╕рд▓реЗ рддрдкрд╛рдИрдВрдХреЛ рдХреЛрдбрдорд╛ рдЧрдореНрднреАрд░ рд╕рдорд╕реНрдпрд╛рд╣рд░реВ рдкрддреНрддрд╛ рд▓рдЧрд╛рдпреЛ рднрдиреЗред

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

рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдБрдЪрд▓реЗ NIST рдХреЛ рд░рд╛рд╖реНрдЯреНрд░рд┐рдп рдЬреЛрдЦрд┐рдо рдбрд╛рдЯрд╛рдмреЗрд╕ (NVD) рдмрд╛рдЯ рдЬреНрдЮрд╛рдд рдХрдордЬреЛрд░реАрд╣рд░реВ рднрдПрдХрд╛ рд╕рдмреИ рдХрдореНрдкреЛрдиреЗрдиреНрдЯрд╣рд░реВ рд░рд┐рдкреЛрд░реНрдЯ рдЧрд░реНрджрдЫ рд░ NVD рд╕рдорд╛рдЪрд╛рд░ рдлрд┐рдбрд╣рд░реВрдмрд╛рдЯ рдбрд╛рдЯрд╛ рдЕрджреНрдпрд╛рд╡рдзрд┐рдХ рдЧрд░рд┐рдПрдХреЛ рдЫред

рд╕реМрднрд╛рдЧреНрдп рджреЗрдЦрд┐, рдпреЛ рд╕рдмреИ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рд░реВрдкрдорд╛ рдЙрдкрдХрд░рдгрд╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ OWASP рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдБрдЪ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╡рд╛ рд╡реНрдпрд╛рд╡рд╕рд╛рдпрд┐рдХ рдХрд╛рд░реНрдпрдХреНрд░рдорд╣рд░реВ рдЬрд╕реНрддреИред рдХрд╛рд▓реЛ рдмрддрдЦ, JFrog Xray, 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 {
    }
}

рд╕рднрд╛рдХреЛ рдЕрдиреНрддреНрдпрдорд╛ рддрдкрд╛рдИрдВрд▓реЗ рдпреЛ рддрд╕реНрд╡реАрд░ рджреЗрдЦреНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ:

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рд▓рд┐рдЩреНрдХ рдкрдЫреНрдпрд╛рдЙрдиреБрд╣реЛрд╕реН рд░ рдирд┐рд░реНрднрд░рддрд╛ рдЬрд╛рдБрдЪ рд░рд┐рдкреЛрд░реНрдЯ рд╣реЗрд░реНрдиреБрд╣реЛрд╕реНред

рдкрд╣рд┐рд▓реЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рд╕рд╛рд░рд╛рдВрд╢рдХреЛ рд╕рд╛рде рд░рд┐рдкреЛрд░реНрдЯрдХреЛ рд╢реАрд░реНрд╖ рднрд╛рдЧ рд╣реЛред

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рджреЛрд╕реНрд░реЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ рд╡рд┐рд╡рд░рдг CVE-2017-5638ред рдпрд╣рд╛рдБ рд╣рд╛рдореА CVE рд╕реНрддрд░ рд░ рд╢реЛрд╖рдгрдХреЛ рд▓рд┐рдЩреНрдХрд╣рд░реВ рджреЗрдЦреНрдЫреМрдВред

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рддреЗрд╕реНрд░реЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ log4j-api-2.7.jar рдХреЛ рд╡рд┐рд╡рд░рдг рд╣реЛред рд╣рд╛рдореА CVE рд╕реНрддрд░ 7.5 рд░ 9.8 рджреЗрдЦреНрдЫреМрдВред

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдЪреМрдереЛ рд╕реНрдХреНрд░рд┐рдирд╕рдЯ Commons-fileupload-1.3.2.jar рдХреЛ рд╡рд┐рд╡рд░рдг рд╣реЛред рд╣рд╛рдореА CVE рд╕реНрддрд░ 7.5 рд░ 9.8 рджреЗрдЦреНрдЫреМрдВред

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдпрджрд┐ рддрдкрд╛рдЗрдБ gitlab рдкреГрд╖реНрдард╣рд░реВ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рдЪрд╛рд╣рдиреБрд╣реБрдиреНрдЫ рднрдиреЗ, рддреНрдпрд╕рдкрдЫрд┐ рдпрд╕рд▓реЗ рдХрд╛рдо рдЧрд░реНрджреИрди - рдПрдХ рдкрддрд┐рдд рдХрд╛рд░реНрдпрд▓реЗ рдХрд▓рд╛рдХреГрддрд┐ рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░реНрджреИрдиред

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

рдЖрдЙрдЯрдкреБрдЯ рдирд┐рд░реНрдорд╛рдг рдЧрд░реНрдиреБрд╣реЛрд╕реН: рдХреБрдиреИ рдХрд▓рд╛рдХреГрддрд┐рд╣рд░реВ рдЫреИрдирдиреН, рдо html рд░рд┐рдкреЛрд░реНрдЯ рджреЗрдЦреНрджрд┐рдиред рддрдкрд╛рдИрдВрд▓реЗ рдХрд▓рд╛рдХреГрддрд┐ рдкреНрд░рдпрд╛рд╕ рдЧрд░реНрдиреБрдкрд░реНрдЫ: рд╕рдзреИрдВ

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

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

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) рд▓рдЧрд╛рддрд╛рд░ рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрдЫ:

рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдПрдХреЛ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдХрдордЬреЛрд░реА рд╕реНрдХреНрдпрд╛рдирд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрджреИ рдирд┐рд░реНрднрд░рддрд╛-GitlabCI рдорд╛ рдЬрд╛рдБрдЪ рдЧрд░реНрдиреБрд╣реЛрд╕реН

рдбрд╛рдЙрдирд▓реЛрдб рдЧрд░реНрди, рддрдкрд╛рдИрдВ рдЙрдкрдпреЛрдЧрд┐рддрд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХреНрдиреБрд╣реБрдиреНрдЫ 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/ рдорд╛ рдЕрдкрд▓реЛрдб рдЧрд░реНрдЫ рд░ рд╣рд░реЗрдХ реирек рдШрдгреНрдЯрд╛рдорд╛ рдбрд╛рдЯрд╛ рдЕрдкрдбреЗрдЯ рдЧрд░реНрдЫред

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдердкреНрди