Google рд▓реЗ ClusterFuzzLite рдлрдЬрд┐рдЩ рдкрд░реАрдХреНрд╖рдг рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╕реНрддреБрдд рдЧрд░реНтАНрдпреЛ

Google рд▓реЗ ClusterFuzzLite рдкрд░рд┐рдпреЛрдЬрдирд╛ рдкреНрд░рд╕реНрддреБрдд рдЧрд░реЗрдХреЛ рдЫ, рдЬрд╕рд▓реЗ рдирд┐рд░рдиреНрддрд░ рдПрдХреАрдХрд░рдг рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд╕рдЮреНрдЪрд╛рд▓рдирдХреЛ рдХреНрд░рдордорд╛ рд╕рдореНрднрд╛рд╡рд┐рдд рдХрдордЬреЛрд░реАрд╣рд░реВрдХреЛ рдкреНрд░рд╛рд░рдореНрднрд┐рдХ рдкрддреНрддрд╛ рд▓рдЧрд╛рдЙрди рдХреЛрдбрдХреЛ рдлрдЬрд┐рдЩ рдкрд░реАрдХреНрд╖рдг рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред рд╣рд╛рд▓, ClusterFuzz GitHub рдХрд╛рд░реНрдпрд╣рд░реВ, Google Cloud Build, рд░ Prow рдорд╛ рдкреБрд▓ рдЕрдиреБрд░реЛрдзрд╣рд░реВрдХреЛ рдлрдЬ рдкрд░реАрдХреНрд╖рдг рд╕реНрд╡рдЪрд╛рд▓рд┐рдд рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫ, рддрд░ рдЕрдиреНрдп CI рдкреНрд░рдгрд╛рд▓реАрд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рд╕рдорд░реНрдерди рднрд╡рд┐рд╖реНрдпрдорд╛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЫред рдпреЛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рдХреНрд▓рд╕реНрдЯрд░рдлрдЬ рдкреНрд▓реЗрдЯрдлрд░реНрдордорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ, рдлрдЬрд┐рдЩ рдЯреЗрд╕реНрдЯрд┐рдЩ рдХреНрд▓рд╕реНрдЯрд░рд╣рд░реВрдХреЛ рдХрд╛рдордХреЛ рд╕рдордиреНрд╡рдп рдЧрд░реНрди рд╕рд┐рд░реНрдЬрдирд╛ рдЧрд░рд┐рдПрдХреЛ рд╣реЛ, рд░ Apache 2.0 рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрдд рд╡рд┐рддрд░рдг рдЧрд░рд┐рдПрдХреЛ рдЫред

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

ClusterFuzzLite рд▓реЗ C, C++, Java (рд░ рдЕрдиреНрдп JVM-рдЖрдзрд╛рд░рд┐рдд рднрд╛рд╖рд╛рд╣рд░реВ), Go, Python, Rust, рд░ Swift рдорд╛ рдкрд░рд┐рдпреЛрдЬрдирд╛ рд╕рдореАрдХреНрд╖рд╛ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫред LibFuzer рдЗрдиреНрдЬрд┐рди рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ Fuzzing рдкрд░реАрдХреНрд╖рдг рдЧрд░рд┐рдиреНрдЫред рдареЗрдЧрд╛рдирд╛ рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд░, рдореЗрдореЛрд░реА рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд░, рд░ UBSan (рдЕрдкрд░рд┐рднрд╛рд╖рд┐рдд рд╡реНрдпрд╡рд╣рд╛рд░ рд╕реЗрдирд┐рдЯрд╛рдЗрдЬрд░) рдЙрдкрдХрд░рдгрд╣рд░реВ рдкрдирд┐ рдореЗрдореЛрд░реА рддреНрд░реБрдЯрд┐рд╣рд░реВ рд░ рд╡рд┐рд╕рдВрдЧрддрд┐рд╣рд░реВ рдкрд╣рд┐рдЪрд╛рди рдЧрд░реНрди рдХрд▓ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред

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

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

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

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