
Untitled Post
рдирд╛рдЗрдЯрд╢реЗрдб: рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ рдХреЗ рдЦрд╝рд┐рд▓рд╛рдлрд╝ рд▓рдбрд╝рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рдХреНрд░рд╛рдВрддрд┐рдХрд╛рд░реА тАЬрдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧтАЭ рдЯреВрд▓
MIT рдЯреЗрдХреНрдиреЛрд▓реЙрдЬреА рд░рд┐рд╡реНрдпреВ рдореЗрдВ рдкреНрд░рдХрд╛рд╢рд┐рдд рд╢реЛрдз-рдЖрдзрд╛рд░рд┐рдд рд▓реЗрдЦ рд╕реЗ рдкреНрд░реЗрд░рд┐рдд, Nightshade рдПрдХ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдЯреВрд▓ рд╣реИ, рдЬрд┐рд╕реЗ рдХрд▓рд╛рдХрд╛рд░реЛрдВ, рд╢реЛрдзрдХрд░реНрддрд╛рдУрдВ рдФрд░ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рд╡рд┐рд╢реЗрд╖рдЬреНрдЮреЛрдВ рдХреЛ рдпрд╣ рд╕рдордЭрд╛рдиреЗ рдФрд░ рд░реЛрдХрдиреЗ рдореЗрдВ рдорджрдж рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ рдХрд┐ рдЙрдирдХреА рд░рдЪрдирд╛рддреНрдордХ рдХреГрддрд┐рдпреЛрдВ рдХрд╛ рджреБрд░реБрдкрдпреЛрдЧ рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ рдореЙрдбрд▓ рдХреИрд╕реЗ рдХрд░рддреЗ рд╣реИрдВред
рд╕рд╛рдордЧреНрд░реА рд╕реВрдЪреА
- рдкрд░рд┐рдЪрдп
- рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ, рдХреЙрдкреАрд░рд╛рдЗрдЯ рдФрд░ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
- рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдХреЛ рд╕рдордЭрдирд╛
- рдирд╛рдЗрдЯрд╢реЗрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
- рдирд╛рдЗрдЯрд╢реЗрдб-рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рддрдХрдиреАрдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
- рдП-рдЖрдИ рдореЗрдВ рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдкрд░ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдирдЬрд╝рд░рд┐рдпрд╛
- рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ
- рдХрд╝рд╛рдиреВрдиреА рдФрд░ рдиреИрддрд┐рдХ рдирд┐рд╣рд┐рддрд╛рд░реНрде
- [рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдП-рдЖрдИ рдХрд╛ рднрд╡рд┐рд╖реНрдп](#рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛-рдФрд░-рдП-рдЖрдИ-рдХрд╛-рднрд╡рд┐рд╖реНрдп)
- рдирд┐рд╖реНрдХрд░реНрд╖
- рд╕рдВрджрд░реНрдн
рдкрд░рд┐рдЪрдп
рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ рдиреЗ рд░рдЪрдирд╛рддреНрдордХ рдЬрдЧрдд рдореЗрдВ рдХреНрд░рд╛рдВрддрд┐ рд▓рд╛ рджреА рд╣реИ; рдорд╛рддреНрд░ рдЯреЗрдХреНрд╕реНрдЯ-рдкреНрд░реЙрдореНрдкреНрдЯ рд╕реЗ рд╣реА рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЪрд┐рддреНрд░, рдХрд▓рд╛ рдФрд░ рд╕рд╛рдордЧреНрд░реА рддреИрдпрд╛рд░ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдкрд░рдВрддреБ рдЗрди рдкреНрд░рдЧрддрд┐рдпреЛрдВ рдХреЗ рд╕рд╛рде рдЪреБрдиреМрддрд┐рдпрд╛рдБ рднреА рдЖрддреА рд╣реИрдВред рдмрдбрд╝реА рдП-рдЖрдИ рдХрдВрдкрдирд┐рдпрд╛рдБ рдЗрдВрдЯрд░рдиреЗрдЯ рдкрд░ рд╕реЗ рдЕрд░рдмреЛрдВ рдЫрд╡рд┐рдпрд╛рдБ рд╕реНрдХреНрд░реИрдк рдХрд░ рд▓реЗрддреА рд╣реИрдВ, рдЬрд┐рдирдореЗрдВ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХрд╛ рдХрд╛рд░реНрдп рднреА рд╢рд╛рдорд┐рд▓ рд╣реЛрддрд╛ рд╣реИтАФрдЕрдХреНрд╕рд░ рдмрдЧреИрд░ рдЕрдиреБрдорддрд┐ рдХреЗред рдпрд╣реА рдмрд┐рдВрджреБ рдХреЙрдкреАрд░рд╛рдЗрдЯ рдФрд░ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдЕрдзрд┐рдХрд╛рд░реЛрдВ рдХреЛ рд▓реЗрдХрд░ рдмрд╣рд╕ рдЫреЗрдбрд╝ рджреЗрддрд╛ рд╣реИред
Nightshade рдПрдХ рд╕рдХреНрд░рд┐рдп рдмрдЪрд╛рд╡-рдкреНрд░рдгрд╛рд▓реА рдкреНрд░рд╕реНрддреБрдд рдХрд░рддрд╛ рд╣реИ: рдХрд▓рд╛рдХрд╛рд░ рдЕрдкрдиреА рдЫрд╡рд┐рдпреЛрдВ рдореЗрдВ рд╕реВрдХреНрд╖реНрдо рдмрджрд▓рд╛рд╡ (рдкрд░реНрдЯрд░реНрдмреЗрд╢рди) рдЬреЛрдбрд╝ рд╕рдХрддреЗ рд╣реИрдВред рдЬрдм рдпреЗ рдЪрд┐рддреНрд░ рдЯреНрд░реЗрдирд┐рдВрдЧ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдкрд╣реБрдБрдЪрддреЗ рд╣реИрдВ, рддреЛ рдпреЗ рдЫреЛрдЯреЗ-рдЫреЛрдЯреЗ рдмрджрд▓рд╛рд╡ рдП-рдЖрдИ рдореЙрдбрд▓ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдореЙрдбрд▓ рдХрд╛ рдЖрдЙрдЯрдкреБрдЯ рдЕрдЬреАрдмреЛрдЧрд░реАрдм рд╣реЛ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕ рдмреНрд▓реЙрдЧ рдкреЛрд╕реНрдЯ рдореЗрдВ рд╣рдо рддрдХрдиреАрдХреА рд╡ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдкрд╣рд▓реБрдУрдВ рдХреЛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рджреЗрдЦреЗрдВрдЧреЗ, рд╕рд╛рде рд╣реА рд╢реБрд░реБрд╡рд╛рддреА рд╡ рдЙрдиреНрдирдд рдЙрдкрдпреЛрдЧрдХрд░реНрддрд╛рдУрдВ рдХреЗ рд▓рд┐рдП рдХреЛрдб рдЙрджрд╣рд╛рд░рдг рднреА рджреЗрдВрдЧреЗред
рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ, рдХреЙрдкреАрд░рд╛рдЗрдЯ рдФрд░ рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛
рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ рдХрд╛ рдЙрджрдп
рдЬреЗрдирд░реЗрдЯрд┐рд╡ рд╕рд┐рд╕реНрдЯрдореНрд╕ рд╡рд┐рд╢рд╛рд▓ рдбреЗрдЯрд╛рд╕реЗрдЯ рд╕реЗ рд╕реАрдЦрдХрд░ рдЪрд┐рддреНрд░, рдХрдерд╛рдПрдБ рдФрд░ рд╕рдВрдЧреАрдд рдЖрджрд┐ рддреИрдпрд╛рд░ рдХрд░рддреЗ рд╣реИрдВред рдкрд░рдВрддреБ рдпреЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдЕрдХреНрд╕рд░ рдмрд┐рдирд╛ рд░рдЪрдирд╛рдХрд╛рд░реЛрдВ рдХреА рдЕрдиреБрдорддрд┐ рдХреЗ рдЗрдХрдЯреНрдард╛ рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВред
рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреА рдХреЙрдкреАрд░рд╛рдЗрдЯ рдЪрд┐рдВрддрд╛
рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЗ рд▓рд┐рдП рдпрд╣ рди рдХреЗрд╡рд▓ рдХреЙрдкреАрд░рд╛рдЗрдЯ рд╣рдирди рд╣реИ, рдмрд▓реНрдХрд┐ рд░рдЪрдирд╛рддреНрдордХ рдирд┐рдпрдВрддреНрд░рдг рдХрд╛ рд╣реНрд░рд╛рд╕ рднреАред рдмрдбрд╝реА рдЯреЗрдХ рдХрдВрдкрдирд┐рдпреЛрдВ рдФрд░ рд╡реНрдпрдХреНрддрд┐рдЧрдд рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЗ рдмреАрдЪ рд╢рдХреНрддрд┐-рдЕрд╕рдВрддреБрд▓рди рдмрдврд╝рддрд╛ рдЬрд╛ рд░рд╣рд╛ рд╣реИред
рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рд╡ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдЕрдзрд┐рдХрд╛рд░
Nightshade рдЬреИрд╕реЗ рдЯреВрд▓реНрд╕ рдбрд┐рдЬрд┐рдЯрд▓ тАЬрдЯреНрд░рд┐рдкрд╡рд╛рдпрд░тАЭ рдХреА рддрд░рд╣ рдХрд╛рдо рдХрд░рддреЗ рд╣реИрдВтАФрдЕрджреГрд╢реНрдп рдмрджрд▓рд╛рд╡реЛрдВ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдЕрдирдзрд┐рдХреГрдд рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдХреЛ рд╣рддреЛрддреНрд╕рд╛рд╣рд┐рдд рдХрд░рддреЗ рд╣реИрдВ рдФрд░ рдЬрд┐рдореНрдореЗрджрд╛рд░ рдП-рдЖрдИ рд╡рд┐рдХрд╛рд╕ рдХреА рдЪрд░реНрдЪрд╛ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рджреЗрддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдХреЛ рд╕рдордЭрдирд╛
рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ, рдкрд╛рд░рдВрдкрд░рд┐рдХ рд░реВрдк рд╕реЗ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдореЗрдВ рдПрдХ рдЖрдХреНрд░рд╛рдордХ рддрдХрдиреАрдХ рд░рд╣реА рд╣реИ; рдЗрд╕рдореЗрдВ рдореЙрдбрд▓ рдХреЗ рдЯреНрд░реЗрдирд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЗрдВ рдЫреЗрдбрд╝рдЫрд╛рдбрд╝ рдХрд░ рдЙрд╕рдХреА рд╕реАрдЦ рдХреЛ рд╡рд┐рдХреГрдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред Nightshade рд░рдХреНрд╖рд╛рддреНрдордХ рдЙрдкрдпреЛрдЧ рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ, рдЬрд╣рд╛рдБ рдирд┐рд░реНрдорд╛рддрд╛ рдЕрдкрдиреЗ рдЕрдзрд┐рдХрд╛рд░ рд╕реБрд░рдХреНрд╖рд┐рдд рд░рдЦрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕ рд░рдгрдиреАрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╣реИрдВред
рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдХреНрдпрд╛ рд╣реИ?
рдЯреНрд░реЗрдирд┐рдВрдЧ рдбреЗрдЯрд╛ рдореЗрдВ рд╡рд┐рд╕рдВрдЧрддрд┐рдпрд╛рдБ (anomalies) рдЬреЛрдбрд╝рдХрд░ рдореЙрдбрд▓ рдХреЛ рднреНрд░рдорд┐рдд рдХрд░рдирд╛ред рдорд╛рдирд╡-рджреГрд╖реНрдЯрд┐ рд╕реЗ рдЪрд┐рддреНрд░ рд╕рдорд╛рди рджрд┐рдЦрддрд╛ рд╣реИ, рдкрд░ рдореЙрдбрд▓ рдЙрдирдореЗрдВ рдЧрд╝рд▓рдд рдкреИрдЯрд░реНрди рд╕реАрдЦрддрд╛ рд╣реИред
рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдХрд╛ рддрдВрддреНрд░
рдорд╛рди рд▓реАрдЬрд┐рдП рдореЙрдбрд▓ рдХреБрддреНрддреЛрдВ рдХреА рддрд╕реНрд╡реАрд░реЛрдВ рдкрд░ рдЯреНрд░реЗрди рд╣реЛрддрд╛ рд╣реИред рдпрджрд┐ рдХреБрдЫ рддрд╕реНрд╡реАрд░реЛрдВ рдореЗрдВ рдЕрддрд┐рд╕реВрдХреНрд╖реНрдо рд╢реЛрд░ рдЬреЛрдбрд╝ рджрд┐рдпрд╛ рдЬрд╛рдП, рддреЛ рдореЙрдбрд▓ тАЬdogтАЭ рдХрд╛ рдорд╛рдирдЪрд┐рддреНрд░рдг тАЬcatтАЭ рдХреЗ рд╕рдорд╛рди рдХрд░рдиреЗ рд▓рдЧреЗрдЧрд╛ред рдЬреИрд╕реЗ-рдЬреИрд╕реЗ рдкреЙрдЗрдЬрд╝рди рдХреА рдЧрдИ рдЫрд╡рд┐рдпреЛрдВ рдХреА рд╕рдВрдЦреНрдпрд╛ рдмрдврд╝рддреА рд╣реИ, рдЧрдбрд╝рдмрдбрд╝реА рдкреВрд░реЗ рдореЙрдбрд▓ рдореЗрдВ рдлреИрд▓ рд╕рдХрддреА рд╣реИред
рдирд╛рдЗрдЯрд╢реЗрдб рдХреИрд╕реЗ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ
- рдЫрд╡рд┐ рд╕рдВрд╢реЛрдзрди: рдХрд▓рд╛рдХрд╛рд░ рдЬрдм рдСрдирд▓рд╛рдЗрди рдЪрд┐рддреНрд░ рдЕрдкрд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, Nightshade рдкрд┐рдХреНрд╕рд▓ рдбреЗрдЯрд╛ рдореЗрдВ рд╕реВрдХреНрд╖реНрдо рдмрджрд▓рд╛рд╡ рдХрд░ рджреЗрддрд╛ рд╣реИред
- рдЕрджреГрд╢реНрдп рдкрд░реНрдЯрд░реНрдмреЗрд╢рди: рдорд╛рдирд╡ рдЖрдБрдЦ рдХреЛ рди рджрд┐рдЦрд╛рдИ рджреЗрдиреЗ рд╡рд╛рд▓реЗ рдпреЗ рдмрджрд▓рд╛рд╡ рдореЙрдбрд▓ рдХреЗ рд▓рд┐рдП рднрд╛рд░реА рдкрдбрд╝рддреЗ рд╣реИрдВред
- рдП-рдЖрдИ рдЯреНрд░реЗрдирд┐рдВрдЧ рдореЗрдВ рд╡реНрдпрд╡рдзрд╛рди: рдкреЙрдЗрдЬрд╝рди рдХреА рдЧрдИ рдЫрд╡рд┐рдпрд╛рдБ рдпрджрд┐ рдмрдбрд╝реЗ рдбреЗрдЯрд╛рд╕реЗрдЯ рдореЗрдВ рдЪрд▓реА рдЬрд╛рддреА рд╣реИрдВ, рддреЛ рдореЙрдбрд▓ рднреНрд░рдорд┐рдд рдЖрдЙрдЯрдкреБрдЯ рджреЗрдиреЗ рд▓рдЧрддрд╛ рд╣реИтАФрдХреБрддреНрддреЛрдВ рдХреЗ рдЪреЗрд╣рд░реЗ рд╡рд┐рдХреГрдд, рдкрд░рд┐рджреГрд╢реНрдп рдЕрддрд┐рдпрдерд╛рд░реНрдерд╡рд╛рджреА рдЗрддреНрдпрд╛рджрд┐ред
Glaze рдХреЗ рд╕рд╛рде рдПрдХреАрдХрд░рдг
Nightshade, Glaze рдирд╛рдордХ рджреВрд╕рд░реЗ рдЯреВрд▓ рдХреЗ рд╕рд╛рде рдорд┐рд▓рдХрд░ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред Glaze рдХрд▓рд╛рдХрд╛рд░ рдХреА рд╢реИрд▓реА рдХреЛ рдорд╛рд╕реНрдХ рдХрд░рддрд╛ рд╣реИ, рдЬрдмрдХрд┐ Nightshade рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдХрд░рддрд╛ рд╣реИред
рдУрдкрди-рд╕реЛрд░реНрд╕ рд▓рд╛рдн
Nightshade рдУрдкрди рд╕реЛрд░реНрд╕ рд╣реИ, рдЬрд┐рд╕рд╕реЗ рд╕рдореБрджрд╛рдп-рдЖрдзрд╛рд░рд┐рдд рд╕реБрдзрд╛рд░, рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛ рдФрд░ рд╕рд╣рдпреЛрдЧ рдХреЛ рдмрдврд╝рд╛рд╡рд╛ рдорд┐рд▓рддрд╛ рд╣реИред
рдирд╛рдЗрдЯрд╢реЗрдб-рдЬреИрд╕реА рддрдХрдиреАрдХреЛрдВ рдХрд╛ рддрдХрдиреАрдХреА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди
рдЗрдореЗрдЬ рдкрд░реНрдЯрд░реНрдмреЗрд╢рди рддрдХрдиреАрдХреЗрдВ
- рдкрд┐рдХреНрд╕рд▓-рд╕реНрддрд░реАрдп рд╢реЛрд░ рдЗрдВрдЬреЗрдХреНрд╢рди
- рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА-рдбреЛрдореЗрди рдлрд╝рд┐рд▓реНрдЯрд░рд┐рдВрдЧ (Fourier Transform рдЖрдзрд╛рд░рд┐рдд)
- рд╕реНрдЯрд╛рдЗрд▓ рдЯреНрд░рд╛рдВрд╕рдлрд╝рд░ рджреНрд╡рд╛рд░рд╛ рд╣рд▓реНрдХрд╛ тАЬрдХрдВрдЯреИрдордиреИрд╢рдитАЭ
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг: рдкрд┐рдХреНрд╕рд▓ рдкрд░реНрдЯрд░реНрдмреЗрд╢рди рдХреЗ рд▓рд┐рдП Python рдЗрдореНрдкреНрд▓реЗрдореЗрдВрдЯреЗрд╢рди
import numpy as np
from PIL import Image, ImageEnhance
def add_subtle_noise(image_path, output_path, noise_level=5):
"""
рдПрдХ рдЫрд╡рд┐ рдореЗрдВ рд╕реВрдХреНрд╖реНрдо рд░реИрдВрдбрдо рд╢реЛрд░ рдЬреЛрдбрд╝рддрд╛ рд╣реИред
рдкреИрд░рд╛рдореАрдЯрд░:
- image_path (str): рдЗрдирдкреБрдЯ рдЫрд╡рд┐ рдХрд╛ рдкрде
- output_path (str): рдмрджрд▓реА рдЧрдИ (poisoned) рдЫрд╡рд┐ рд╕реЗрд╡ рдХрд░рдиреЗ рдХрд╛ рдкрде
- noise_level (int): рдЬреЛрдбрд╝реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рд╢реЛрд░ рдХреА рддреАрд╡реНрд░рддрд╛
"""
# рдЫрд╡рд┐ рдЦреЛрд▓реЗрдВ
image = Image.open(image_path).convert('RGB')
image_arr = np.array(image)
# рд░реИрдВрдбрдо рд╢реЛрд░ рддреИрдпрд╛рд░ рдХрд░реЗрдВ
noise = np.random.randint(-noise_level, noise_level,
image_arr.shape, dtype='int16')
# рд╢реЛрд░ рдЬреЛрдбрд╝реЗрдВ рд╡ рдкрд┐рдХреНрд╕рд▓ рд░реЗрдВрдЬ рд╕реАрдорд┐рдд рдХрд░реЗрдВ
poisoned_arr = image_arr.astype('int16') + noise
poisoned_arr = np.clip(poisoned_arr, 0, 255).astype('uint8')
# рд╡рд╛рдкрд╕ рдЫрд╡рд┐ рдореЗрдВ рдмрджрд▓реЗрдВ
poisoned_image = Image.fromarray(poisoned_arr)
# рд╡реИрдХрд▓реНрдкрд┐рдХ: рдХрдВрдЯреНрд░рд╛рд╕реНрдЯ рдПрдбрдЬрд╕реНрдЯ рдХрд░рдХреЗ рд╢реЛрд░ рдХреЛ рдФрд░ рдЫрд┐рдкрд╛рдПрдБ
enhancer = ImageEnhance.Contrast(poisoned_image)
poisoned_image = enhancer.enhance(1.0)
# рдкрд░рд┐рдгрд╛рдо рд╕реЗрд╡ рдХрд░реЗрдВ
poisoned_image.save(output_path)
print(f"Poisoned image saved at {output_path}")
# рдЙрджрд╛рд╣рд░рдг рдЙрдкрдпреЛрдЧ
if __name__ == "__main__":
add_subtle_noise("original_art.jpg", "poisoned_art.jpg")
рдП-рдЖрдИ рдореЗрдВ рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдкрд░ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдХрд╛ рдирдЬрд╝рд░рд┐рдпрд╛
рдЦрд╝рддрд░реЗ рдХрд╛ рдкрд░рд┐рджреГрд╢реНрдп
рд╕реНрдХреНрд░реИрдк рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рдкрд░ рдирд┐рд░реНрднрд░ рдП-рдЖрдИ рдореЙрдбрд▓ рдПрдХ рдЧрддрд┐рд╢реАрд▓ рд╣рдорд▓рд╛-рд╕рддрд╣ (attack surface) рдмрдирд╛рддреЗ рд╣реИрдВред рдХреБрдЫ рд╣реА рдкреЙрдЗрдЬрд╝рди рдЫрд╡рд┐рдпрд╛рдБ рдореЙрдбрд▓ рдХреА рд╕рдЯреАрдХрддрд╛ рдХреЛ рдХрд╛рдлреА рд╣рдж рддрдХ рдмрд┐рдЧрд╛рдбрд╝ рд╕рдХрддреА рд╣реИрдВред
рдкреЙрдЗрдЬрд╝рди рдХрд┐рдП рдЧрдП рдбреЗрдЯрд╛ рд╕реИрдВрдкрд▓реНрд╕ рдХреА рд╕реНрдХреИрдирд┐рдВрдЧ рд╡ рд▓реЙрдЧрд┐рдВрдЧ
рдореЗрдЯрд╛рдбреЗрдЯрд╛, рдкрд┐рдХреНрд╕рд▓ рд╡рд┐рддрд░рдг, рдФрд░ рдлрд╝реНрд░реАрдХреНрд╡реЗрдВрд╕реА рдкреИрдЯрд░реНрди рдЬрд╛рдБрдЪрдХрд░ рд╕рдВрджрд┐рдЧреНрдз рдЫрд╡рд┐рдпреЛрдВ рдХреА рдкрд╣рдЪрд╛рди рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред
рдХреЛрдб рдЙрджрд╛рд╣рд░рдг: рдЕрдиреЛрдорд▓рд╕ рдореЗрдЯрд╛рдбреЗрдЯрд╛ рд╕реНрдХреИрди рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП Bash рд╕реНрдХреНрд░рд┐рдкреНрдЯ
#!/bin/bash
# рдХрд┐рд╕реА рдбрд╛рдпрд░реЗрдХреНрдЯреНрд░реА рдореЗрдВ рд╕реНрдерд┐рдд рдЫрд╡рд┐рдпреЛрдВ рдХреЗ рдлрд╝рд╛рдЗрд▓ рд╕рд╛рдЗрдЬрд╝ рд╡ рдЯрд╛рдЗрдо-рд╕реНрдЯреИрдореНрдк рдХреА рдЬрд╛рдБрдЪ
IMAGE_DIR="./images"
EXPECTED_MIN_SIZE=50000 # рдиреНрдпреВрдирддрдо рд╕рд╛рдЗрдЬрд╝ (bytes)
EXPECTED_MAX_SIZE=5000000 # рдЕрдзрд┐рдХрддрдо рд╕рд╛рдЗрдЬрд╝ (bytes)
echo "рдбрд╛рдЗрд░реЗрдХреНрдЯреНрд░реА рд╕реНрдХреИрди рд╣реЛ рд░рд╣реА рд╣реИ: $IMAGE_DIR"
for image in "$IMAGE_DIR"/*.{jpg,png,jpeg}; do
if [ -f "$image" ]; then
FILE_SIZE=$(stat -c%s "$image")
CREATION_DATE=$(stat -c%y "$image")
if [ $FILE_SIZE -lt $EXPECTED_MIN_SIZE ] || [ $FILE_SIZE -gt $EXPECTED_MAX_SIZE ]; then
echo "рдЕрдирд┐рдпрдорд┐рддрддрд╛ рдорд┐рд▓реА: $image"
echo " рд╕рд╛рдЗрдЬрд╝: $FILE_SIZE bytes, рдирд┐рд░реНрдорд┐рдд: $CREATION_DATE"
fi
fi
done
echo "рд╕реНрдХреИрди рдкреВрд░реНрдгред"
рд╡рд╛рд╕реНрддрд╡рд┐рдХ рджреБрдирд┐рдпрд╛ рдХреЗ рдЙрджрд╛рд╣рд░рдг рдФрд░ рдЙрдкрдпреЛрдЧ-рдорд╛рдорд▓реЗ
-
рдХреБрддреНрддрд╛-рдЪрд┐рддреНрд░ рдЬрдирд░реЗрд╢рди рдореЙрдбрд▓ рдХреЛ рдмрд┐рдЧрд╛рдбрд╝рдирд╛
50 рдкреЙрдЗрдЬрд╝рди рдХреБрддреНрддрд╛-рдЪрд┐рддреНрд░реЛрдВ рдХреЗ рдмрд╛рдж рдореЙрдбрд▓ рдиреЗ рдЕрдЬреАрдм-рд╕рд╛ рдЖрдЙрдЯрдкреБрдЯ рджреЗрдирд╛ рд╢реБрд░реВ рдХрд┐рдпрд╛; 300 рдЪрд┐рддреНрд░реЛрдВ рдкрд░ рдХреБрддреНрддрд╛-рдЪрд┐рддреНрд░ рдорд╛рдБрдЧрдиреЗ рдкрд░ рдмрд┐рд▓реНрд▓рд┐рдпреЛрдВ рдЬреИрд╕реЗ рдкреНрд░рд╛рдгреА рдЙрднрд░рдиреЗ рд▓рдЧреЗред -
рдЕрдирдзрд┐рдХреГрдд рдЖрд░реНрдЯ рд╕реНрдХреНрд░реИрдкрд┐рдВрдЧ рдХреЛ рд░реЛрдХрдирд╛
рд▓реИрдВрдбрд╕реНрдХреЗрдк рдХрд▓рд╛ рдореЗрдВ рдЕрджреГрд╢реНрдп тАЬрдлрд╝рд┐рдВрдЧрд░рдкреНрд░рд┐рдВрдЯтАЭ рдЬреЛрдбрд╝рдХрд░ рдореЙрдбрд▓ рдХреЛ рдЧрд╝рд▓рдд рд▓реИрдВрдбрд╕реНрдХреЗрдк рд╢реИрд▓рд┐рдпрд╛рдБ рд╕реАрдЦрдиреЗ рдкрд░ рдордЬрдмреВрд░ рдХрд┐рдпрд╛ рдЧрдпрд╛ред -
рдХрд▓рд╛рддреНрдордХ рджрд╛рдпрд░реЗ рд╕реЗ рдмрд╛рд╣рд░ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдЕрдиреБрдкреНрд░рдпреЛрдЧ
рд╡рд╣реА рд╕рд┐рджреНрдзрд╛рдВрдд рд╕реНрд╡рд╛рдпрддреНрдд рдЧрд╛рдбрд╝рд┐рдпреЛрдВ, рд╕реНрдкреИрдо рдкрд╣рдЪрд╛рди рдпрд╛ рдмреИрдВрдХрд┐рдВрдЧ рдзреЛрдЦрд╛рдзрдбрд╝реА рдореЙрдбрд▓ рдореЗрдВ рд╣рдорд▓реЛрдВ рдХреЛ рд╕рдордЭрдиреЗ рдФрд░ рд░реЛрдХрдиреЗ рдХреЗ рд▓рд┐рдП рдЗрд╕реНрддреЗрдорд╛рд▓ рд╣реЛ рд╕рдХрддрд╛ рд╣реИред
рдХрд╝рд╛рдиреВрдиреА рдФрд░ рдиреИрддрд┐рдХ рдирд┐рд╣рд┐рддрд╛рд░реНрде
рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЗ рдЕрдзрд┐рдХрд╛рд░
рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрд▓рд╛рдХрд╛рд░ рдП-рдЖрдИ рдХрдВрдкрдирд┐рдпреЛрдВ рдХреЛ рд╕рдВрджреЗрд╢ рджреЗрддреЗ рд╣реИрдВ рдХрд┐ рдЕрдиреБрдорддрд┐ рдмрд┐рдирд╛ рдкреНрд░рдпреЛрдЧ рдХрд░рдирд╛ рдЬреЛрдЦрд┐рдордкреВрд░реНрдг рд╣реИ, рдЗрд╕рд╕реЗ рдЙрдЪрд┐рдд рдореБрдЖрд╡рдЬрд╝реЗ рд╡ рд╢реНрд░реЗрдп рдХреА рдорд╛рдБрдЧ рдХреЛ рдмрд▓ рдорд┐рд▓рддрд╛ рд╣реИред
рджреНрд╡рд┐рдЙрдкрдпреЛрдЧ (Dual-Use) рджреБрд╡рд┐рдзрд╛
рд░рдХреНрд╖рд╛рддреНрдордХ рддрдХрдиреАрдХ рдЖрдХреНрд░рд╛рдордХ рд░реВрдк рд╕реЗ рднреА рджреБрд░реБрдкрдпреЛрдЧ рдХреА рдЬрд╛ рд╕рдХрддреА рд╣реИред рдЕрддрдГ рдиреИрддрд┐рдХ рджрд┐рд╢рд╛рдирд┐рд░реНрджреЗрд╢ рдФрд░ рдордЬрд╝рдмреВрдд рдбрд┐рдЯреЗрдХреНрд╢рди рд╕рд┐рд╕реНрдЯрдо рдЕрдирд┐рд╡рд╛рд░реНрдп рд╣реИрдВред
рдиреИрддрд┐рдХ рдП-рдЖрдИ рд╡рд┐рдХрд╛рд╕ рдХреА рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА
рдбреЗрдЯрд╛ рд╕реНрд░реЛрддреЛрдВ рдХреА рдкрд╛рд░рджрд░реНрд╢рд┐рддрд╛, рдЙрдЪрд┐рдд рд▓рд╛рдЗрд╕реЗрдВрд╕рд┐рдВрдЧ рдФрд░ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЗ рд╕рд╛рде рд╕рдВрд╡рд╛рдж рдП-рдЖрдИ рдЙрджреНрдпреЛрдЧ рдХреА рдиреИрддрд┐рдХ рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░реА рд╣реИред
рдбреЗрдЯрд╛ рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдП-рдЖрдИ рдХрд╛ рднрд╡рд┐рд╖реНрдп
- рд░реЙрдмрд╕реНрдЯрдиреЗрд╕ рдкрд░ рд╢реЛрдз тАФ adversarial training рд╡ рдмреЗрд╣рддрд░ anomaly detection
- рдУрдкрди-рд╕реЛрд░реНрд╕ рд╕рд╣рдпреЛрдЧ тАФ рддреЗрдЬрд╝ рдЗрдиреЛрд╡реЗрд╢рди рдФрд░ рд╕рд╛рдореБрджрд╛рдпрд┐рдХ рд╕рдореАрдХреНрд╖рд╛
- рдХрд╛рдиреВрдиреА рдврд╛рдБрдЪреЗ рдХрд╛ рдПрдХреАрдХрд░рдг тАФ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рдХрд╛рдиреВрдиреЛрдВ рдореЗрдВ рд╕рдВрднрд╛рд╡рд┐рдд рд╕реБрдзрд╛рд░
- рдХрд▓рд╛рдХрд╛рд░-рддрдХрдиреАрдХ рд╕рд╣рдпреЛрдЧ рдордВрдЪ тАФ рдХрд╛рд░реНрдпрд╢рд╛рд▓рд╛рдПрдБ, рдЯреВрд▓рдХрд┐рдЯ рдФрд░ рд╢реИрдХреНрд╖рд┐рдХ рд╕рдВрд╕рд╛рдзрди
рд╡реНрдпрд╡рд╣рд╛рд░рд┐рдХ рдХрджрдо: рдХрд▓рд╛рдХрд╛рд░ рд╡ рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдкреЗрд╢реЗрд╡рд░реЛрдВ рдХреЗ рд▓рд┐рдП
- рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдкреНрд░рдпреЛрдЧ рдХрд░реЗрдВред
- Glaze рд╡ Nightshade рдЬреИрд╕реЗ рдЯреВрд▓реНрд╕ рдЕрдкрдирд╛рдПрдБред
- рдЯреНрд░реЗрдирд┐рдВрдЧ рдбреЗрдЯрд╛ рдХрд╛ рдирд┐рдпрдорд┐рдд рдСрдбрд┐рдЯ рдХрд░реЗрдВред
- рд╕рдореБрджрд╛рдп рд╕реЗ рдЬреБрдбрд╝реЗ рд░рд╣реЗрдВ рдФрд░ рдпреЛрдЧрджрд╛рди рджреЗрдВред
- рдбрд┐рдЯреЗрдХреНрд╢рди рдПрд╡рдВ рдмрдЪрд╛рд╡ рдкреНрд░рдгрд╛рд▓реА рд╡рд┐рдХрд╕рд┐рдд рдХрд░реЗрдВред
рдирд┐рд╖реНрдХрд░реНрд╖
Nightshade рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдФрд░ рдмреМрджреНрдзрд┐рдХ рд╕рдВрдкрджрд╛ рд╕рдВрд░рдХреНрд╖рдг рдХреА рд╕реЛрдЪ рдореЗрдВ рдирдпрд╛ рдореЛрдбрд╝ рд▓рд╛рддрд╛ рд╣реИред рдЗрд╕ рд▓реЗрдЦ рдореЗрдВ рд╣рдордиреЗ рдЗрд╕рдХреЗ рд╕рд┐рджреНрдзрд╛рдВрдд, рддрдХрдиреАрдХреА рддрдВрддреНрд░, рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдкрд╣рд▓реВ рдФрд░ рдХрд╛рдиреВрдиреА-рдиреИрддрд┐рдХ рд╡рд┐рдЪрд╛рд░реЛрдВ рдХрд╛ рд╡рд┐рд╕реНрддрд╛рд░ рд╕реЗ рд╡рд┐рд╢реНрд▓реЗрд╖рдг рдХрд┐рдпрд╛ред рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ рдХреЗ рдмрдврд╝рддреЗ рдЙрдкрдпреЛрдЧ рдХреЗ рд╕рд╛рде, рдРрд╕реЗ рд░рдХреНрд╖рд╛рддреНрдордХ рдЯреВрд▓реНрд╕ рдХрд╛ рдорд╣рддреНрд╡ рдФрд░ рднреА рдмрдврд╝реЗрдЧрд╛тАФрдЪрд╛рд╣реЗ рдЙрджреНрджреЗрд╢реНрдп рдбрд┐рдЬрд┐рдЯрд▓ рдХрд▓рд╛ рдХреА рд╕реБрд░рдХреНрд╖рд╛ рд╣реЛ рдпрд╛ рдорд╣рддреНрд╡рдкреВрд░реНрдг рдП-рдЖрдИ рдкреНрд░рдгрд╛рд▓рд┐рдпреЛрдВ рдХреА рд╡рд┐рд╢реНрд╡рд╕рдиреАрдпрддрд╛ред
рд╕рдВрджрд░реНрдн
- MIT Technology Review: рдпрд╣ рдирдпрд╛ рдбреЗрдЯрд╛ рдкреЙрдЗрдЬрд╝рдирд┐рдВрдЧ рдЯреВрд▓ рдХрд▓рд╛рдХрд╛рд░реЛрдВ рдХреЛ рдЬреЗрдирд░реЗрдЯрд┐рд╡ рдП-рдЖрдИ рдХреЗ рдЦрд╝рд┐рд▓рд╛рдлрд╝ рд▓рдбрд╝рдиреЗ рджреЗрддрд╛ рд╣реИ
- Usenix Security Conference
- Pillow рдкреНрд░рд▓реЗрдЦрди
- NumPy рдкреНрд░рд▓реЗрдЦрди
- OpenCV рдкреНрд░рд▓реЗрдЦрди
- SciPy рдкреНрд░рд▓реЗрдЦрди
- Adversarial Machine Learning рдХрд╛ рдкрд░рд┐рдЪрдп
рдЗрд╕ рд▓реЗрдЦ рдиреЗ рджрд░реНрд╢рд╛рдпрд╛ рдХрд┐ рдХреИрд╕реЗ Nightshade рдФрд░ рд╕рдорд╛рди рддрдХрдиреАрдХреЗрдВ рд░рдЪрдирд╛рддреНрдордХ рд╕реНрд╡рддрдВрддреНрд░рддрд╛, рд╕рд╛рдЗрдмрд░-рд╕реБрд░рдХреНрд╖рд╛ рдФрд░ рдЬрд╝рд┐рдореНрдореЗрджрд╛рд░ рдП-рдЖрдИ рд╡рд┐рдХрд╛рд╕ рдХреЗ рдмреАрдЪ рд╕рдВрддреБрд▓рди рд╕рд╛рдзрдиреЗ рдореЗрдВ рд╕рд╣рд╛рдпрдХ рд╣реЛ рд╕рдХрддреА рд╣реИрдВред рдирд┐рд░рдВрддрд░ рд╢реЛрдз, рд╕рд╣рдпреЛрдЧ рдФрд░ рд╡рд┐рд╡реЗрдХрдкреВрд░реНрдг рд╡рд┐рдирд┐рдпрдо рд╕реЗ рд╣рдо рдПрдХ рдРрд╕рд╛ рднрд╡рд┐рд╖реНрдп рдЧрдврд╝ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд╣рд╛рдБ рддрдХрдиреАрдХ рдФрд░ рдХрд▓рд╛, рджреЛрдиреЛрдВ, рд╕рдореНрдорд╛рдирд┐рдд рдФрд░ рд╕рдВрд░рдХреНрд╖рд┐рдд рд░рд╣реЗрдВред
рдЕрдкрдиреЗ рд╕рд╛рдЗрдмрд░ рд╕реБрд░рдХреНрд╖рд╛ рдХрд░рд┐рдпрд░ рдХреЛ рдЕрдЧрд▓реЗ рд╕реНрддрд░ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ
рдпрджрд┐ рдЖрдкрдХреЛ рдпрд╣ рд╕рд╛рдордЧреНрд░реА рдореВрд▓реНрдпрд╡рд╛рди рд▓рдЧреА, рддреЛ рдХрд▓реНрдкрдирд╛ рдХреАрдЬрд┐рдП рдХрд┐ рдЖрдк рд╣рдорд╛рд░реЗ рд╡реНрдпрд╛рдкрдХ 47-рд╕рдкреНрддрд╛рд╣ рдХреЗ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдкреНрд░рд╢рд┐рдХреНрд╖рдг рдХрд╛рд░реНрдпрдХреНрд░рдо рдХреЗ рд╕рд╛рде рдХреНрдпрд╛ рд╣рд╛рд╕рд┐рд▓ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред 1,200+ рд╕реЗ рдЕрдзрд┐рдХ рдЫрд╛рддреНрд░реЛрдВ рд╕реЗ рдЬреБрдбрд╝реЗрдВ рдЬрд┐рдиреНрд╣реЛрдВрдиреЗ рдпреВрдирд┐рдЯ 8200 рддрдХрдиреАрдХреЛрдВ рдХреЗ рд╕рд╛рде рдЕрдкрдиреЗ рдХрд░рд┐рдпрд░ рдХреЛ рдмрджрд▓ рджрд┐рдпрд╛ рд╣реИред
