Google рдиреЗ ClusterFuzzLite рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдкреЗрд╢ рдХреА

Google рдиреЗ ClusterFuzzLite рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдкреЗрд╢ рдХрд┐рдпрд╛ рд╣реИ, рдЬреЛ рдирд┐рд░рдВрддрд░ рдПрдХреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд╕рдВрдЪрд╛рд▓рди рдХреЗ рджреМрд░рд╛рди рд╕рдВрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХрд╛ рд╢реАрдШреНрд░ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдХреЗ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред рд╡рд░реНрддрдорд╛рди рдореЗрдВ, рдХреНрд▓рд╕реНрдЯрд░рдлрд╝рдЬрд╝ рдХрд╛ рдЙрдкрдпреЛрдЧ GitHub Actions, Google Cloud Build рдФрд░ Prow рдореЗрдВ рдкреБрд▓ рдЕрдиреБрд░реЛрдзреЛрдВ рдХреЗ рдлрд╝рдЬрд╝ рдкрд░реАрдХреНрд╖рдг рдХреЛ рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рднрд╡рд┐рд╖реНрдп рдореЗрдВ рдЕрдиреНрдп CI рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдерди рдХреА рдЙрдореНрдореАрдж рд╣реИред рдпрд╣ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рдХреНрд▓рд╕реНрдЯрд░рдлрд╝рдЬрд╝ рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ, рдЬрд┐рд╕реЗ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдХреНрд▓рд╕реНрдЯрд░ рдХреЗ рдХрд╛рдо рдХреЛ рд╕рдордиреНрд╡рд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЕрдкрд╛рдЪреЗ 2.0 рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд рд╡рд┐рддрд░рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред

рдпрд╣ рдзреНрдпрд╛рди рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ 2016 рдореЗрдВ Google рджреНрд╡рд╛рд░рд╛ OSS-Fuzz рд╕реЗрд╡рд╛ рд╢реБрд░реВ рдХрд░рдиреЗ рдХреЗ рдмрд╛рдж, 500 рд╕реЗ рдЕрдзрд┐рдХ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдУрдкрди рд╕реЛрд░реНрд╕ рдкреНрд░реЛрдЬреЗрдХреНрдЯреНрд╕ рдХреЛ рдирд┐рд░рдВрддрд░ рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдореЗрдВ рд╕реНрд╡реАрдХрд╛рд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред рдХрд┐рдП рдЧрдП рдкрд░реАрдХреНрд╖рдгреЛрдВ рдХреЗ рдЖрдзрд╛рд░ рдкрд░, 6500 рд╕реЗ рдЕрдзрд┐рдХ рдкреБрд╖реНрдЯрд┐ рдХреА рдЧрдИ рдХрдордЬреЛрд░рд┐рдпреЛрдВ рдХреЛ рд╕рдорд╛рдкреНрдд рдХрд░ рджрд┐рдпрд╛ рдЧрдпрд╛ рдФрд░ 21 рд╣рдЬрд╛рд░ рд╕реЗ рдЕрдзрд┐рдХ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреЛ рдареАрдХ рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдХреНрд▓рд╕реНрдЯрд░рдлрд╝рдЬрд╝рд▓рд╛рдЗрдЯ рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреЗ рд╕рдореАрдХреНрд╖рд╛ рдЪрд░рдг рдореЗрдВ рд╕рдорд╕реНрдпрд╛рдУрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреА рдХреНрд╖рдорддрд╛ рдХреЗ рд╕рд╛рде рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рддрдВрддреНрд░ рд╡рд┐рдХрд╕рд┐рдд рдХрд░рдирд╛ рдЬрд╛рд░реА рд░рдЦрддрд╛ рд╣реИред ClusterFuzzLite рдХреЛ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рд╕рд┐рд╕реНрдЯрдордб рдФрд░ рдХрд░реНрд▓ рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдкрд░рд┐рд╡рд░реНрддрди рд╕рдореАрдХреНрд╖рд╛ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдореЗрдВ рд▓рд╛рдЧреВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдирдП рдХреЛрдб рдХреА рдЬрд╛рдВрдЪ рдХреЗ рдкреНрд░рд╛рд░рдВрднрд┐рдХ рдЪрд░рдг рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдП рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╕реНрдереИрддрд┐рдХ рд╡рд┐рд╢реНрд▓реЗрд╖рдХреЛрдВ рдФрд░ рд▓рд┐рдВрдЯрд░реНрд╕ рджреНрд╡рд╛рд░рд╛ рдЫреВрдЯреА рдЧрдИ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдирд╛ рд╕рдВрднрд╡ рдмрдирд╛ рджрд┐рдпрд╛ рд╣реИред

ClusterFuzzLite C, C++, Java (рдФрд░ рдЕрдиреНрдп JVM-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛рдУрдВ), рдЧреЛ, рдкрд╛рдпрдерди, рд░рд╕реНрдЯ рдФрд░ рд╕реНрд╡рд┐рдлреНрдЯ рдореЗрдВ рдкреНрд░реЛрдЬреЗрдХреНрдЯ рд╕рдореАрдХреНрд╖рд╛ рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИред рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг LibFuzzer рдЗрдВрдЬрди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдФрд░ рд╡рд┐рд╕рдВрдЧрддрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдбреНрд░реЗрд╕рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝рд░, рдореЗрдореЛрд░реАрд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝рд░ рдФрд░ рдпреВрдмреАрд╕реИрди (рдЕрдирдбрд┐рдлрд╝рд╛рдЗрдВрдбрдмрд┐рд╣реЗрд╡рд┐рдпрд░рд╕реИрдирд┐рдЯрд╛рдЗрдЬрд╝рд░) рдЯреВрд▓ рдХреЛ рднреА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред

рдХреНрд▓рд╕реНрдЯрд░рдлрд╝рдЬрд╝рд▓рд╛рдЗрдЯ рдХреА рдореБрдЦреНрдп рд╡рд┐рд╢реЗрд╖рддрд╛рдПрдВ: рдХреЛрдб рд╕реНрд╡реАрдХреГрддрд┐ рд╕реЗ рдкрд╣рд▓реЗ рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдиреЗ рдХреЗ рд▓рд┐рдП рдкреНрд░рд╕реНрддрд╛рд╡рд┐рдд рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рддреНрд╡рд░рд┐рдд рдЬрд╛рдБрдЪ; рджреБрд░реНрдШрдЯрдирд╛ рд╕реНрдерд┐рддрд┐рдпреЛрдВ рдкрд░ рд░рд┐рдкреЛрд░реНрдЯ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛; рдХреЛрдб рдкрд░рд┐рд╡рд░реНрддрдиреЛрдВ рдХреА рдЬрд╛рдБрдЪ рдХреЗ рдмрд╛рдж рд╕рд╛рдордиреЗ рдирд╣реАрдВ рдЖрдиреЗ рд╡рд╛рд▓реА рдЧрд╣рд░реА рддреНрд░реБрдЯрд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЕрдзрд┐рдХ рдЙрдиреНрдирдд рдлрд╝рдЬрд╝рд┐рдВрдЧ рдкрд░реАрдХреНрд╖рдг рдХреА рдУрд░ рдмрдврд╝рдиреЗ рдХреА рдХреНрд╖рдорддрд╛; рдкрд░реАрдХреНрд╖рдг рдХреЗ рджреМрд░рд╛рди рдХреЛрдб рдХрд╡рд░реЗрдЬ рдХрд╛ рдЖрдХрд▓рди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд╡рд░реЗрдЬ рд░рд┐рдкреЛрд░реНрдЯ рддреИрдпрд╛рд░ рдХрд░рдирд╛; рдореЙрдбреНрдпреВрд▓рд░ рдЖрд░реНрдХрд┐рдЯреЗрдХреНрдЪрд░ рдЬреЛ рдЖрдкрдХреЛ рдЖрд╡рд╢реНрдпрдХ рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдХрд╛ рдЪрдпрди рдХрд░рдиреЗ рдХреА рдЕрдиреБрдорддрд┐ рджреЗрддрд╛ рд╣реИред

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

рд╕реНрд░реЛрдд: opennet.ru

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╝реЗрдВ