рдореЛрдЬрд┐рд▓рд╛рд▓реЗ рдЖрд░рдПрд▓рдмрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд░реБ рдЧрд░реНрдЫ

рд╕реНрдЯреНрдпрд╛рдирдлреЛрд░реНрдб рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп, рд╕рд╛рди рдбрд┐рдПрдЧреЛрдХреЛ рдХреНрдпрд╛рд▓рд┐рдлреЛрд░реНрдирд┐рдпрд╛ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдп рд░ рдЕрд╕реНрдЯрд┐рдирдХреЛ рдЯреЗрдХреНрд╕рд╛рд╕ рд╡рд┐рд╢реНрд╡рд╡рд┐рджреНрдпрд╛рд▓рдпрдХрд╛ рдЕрдиреБрд╕рдиреНрдзрд╛рдирдХрд░реНрддрд╛рд╣рд░реВрд▓реЗ рд╡рд┐рдХрд╕рд┐рдд рдЙрдкрдХрд░рдгрд╣рд░реВ RLBox, рдЬрд╕рд▓рд╛рдИ рдкреНрд░рдХрд╛рд░реНрдп рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдорд╛ рдХрдордЬреЛрд░реАрд╣рд░реВ рд░реЛрдХреНрдирдХреЛ рд▓рд╛рдЧрд┐ рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд▓рдЧрд╛рд╡ рддрд╣рдХреЛ рд░реВрдкрдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред RLBox рдХреЛ рдЙрджреНрджреЗрд╢реНрдп рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рдирд┐рдпрдиреНрддреНрд░рдгрдорд╛ рдирднрдПрдХрд╛ рддрд░ рдЬрд╕рдХреЛ рдХрдордЬреЛрд░реАрд╣рд░реВрд▓реЗ рдореБрдЦреНрдп рдкрд░рд┐рдпреЛрдЬрдирд╛рдорд╛ тАЛтАЛрд╕рдореНрдЭреМрддрд╛ рдЧрд░реНрди рд╕рдХреНрдиреЗ рдЕрд╡рд┐рд╢реНрд╡рд╕рдиреАрдп рддреЗрд╕реНрд░реЛ-рдкрдХреНрд╖ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрдХреЛ рд╕реБрд░рдХреНрд╖рд╛ рд╕рдорд╕реНрдпрд╛ рд╕рдорд╛рдзрд╛рди рдЧрд░реНрдиреЗ рд▓рдХреНрд╖реНрдп рд░рд╛рдЦрд┐рдПрдХреЛ рдЫред

рдореЛрдЬрд┐рд▓рд╛ рдХрдореНрдкрдиреА рдпреЛрдЬрдирд╛рд╣рд░реБ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирд▓рд╛рдИ рдЕрд▓рдЧ рдЧрд░реНрди Firefox 74 рдХреЛ Linux рдмрд┐рд▓реНрдб рд░ Firefox 75 рдХреЛ macOS рдмрд┐рд▓реНрдбрдорд╛ RLBox рдкреНрд░рдпреЛрдЧ рдЧрд░реНрдиреБрд╣реЛрд╕реНред рдЧреНрд░реЗрдлрд╛рдЗрдЯ, рдлрдиреНрдЯ рд░реЗрдиреНрдбрд░рд┐рдЩрдХреЛ рд▓рд╛рдЧрд┐ рдЬрд┐рдореНрдореЗрд╡рд╛рд░ред рдпрджреНрдпрдкрд┐, RLBox рдлрд╛рдпрд░рдлрдХреНрд╕рдХреЛ рд▓рд╛рдЧрд┐ рд╡рд┐рд╢рд┐рд╖реНрдЯ рдЫреИрди рд░ рдордирдорд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рд╣рд░реВрдорд╛ рдХреБрдиреИ рдкрдирд┐ рдкреБрд╕реНрддрдХрд╛рд▓рдпрд╣рд░реВрд▓рд╛рдИ рдЕрд▓рдЧ рдЧрд░реНрди рдкреНрд░рдпреЛрдЧ рдЧрд░реНрди рд╕рдХрд┐рдиреНрдЫред рд╡рд┐рдХрд╛рд╕рд╣рд░реВ RLBox рдлреИрд▓рдиреЗ MIT рд▓рд╛рдЗрд╕реЗрдиреНрд╕ рдЕрдиреНрддрд░реНрдЧрддред RLBox рд▓реЗ рд╣рд╛рд▓ Linux рд░ macOS рдкреНрд▓реЗрдЯрдлрд░реНрдорд╣рд░реВрд▓рд╛рдИ рд╕рдорд░реНрдерди рдЧрд░реНрджрдЫ, Windows рд╕рдорд░реНрдерди рдкрдЫрд┐ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЫред

рддрдВрддреНрд░ RLBox рдХреЛ рдХрд╛рдо рдПрдЙрдЯрд╛ рдкреГрдердХ рдкреБрд╕реНрддрдХрд╛рд▓рдпрдХреЛ C/C++ рдХреЛрдбрд▓рд╛рдИ рдирд┐рдореНрди-рд╕реНрддрд░рдХреЛ рдордзреНрдпрд╡рд░реНрддреА WebAssembly рдХреЛрдбрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░реНрдиреЗ рдХрд╛рдордорд╛ рдЖрдЙрдБрдЫ, рдЬреБрди рддреНрдпрд╕рдкрдЫрд┐ WebAssembly рдореЛрдбреНрдпреБрд▓рдХреЛ рд░реВрдкрдорд╛ рдбрд┐рдЬрд╛рдЗрди рдЧрд░рд┐рдПрдХреЛ рд╣реБрдиреНрдЫ, рдЬрд╕рдХрд╛ рдЕрдиреБрдорддрд┐рд╣рд░реВ рдпрд╕ рдореЛрдбреНрдпреБрд▓рдХреЛ рд╕рдореНрдмрдиреНрдзрдорд╛ рдорд╛рддреНрд░ рд╕реЗрдЯ рд╣реБрдиреНрдЫрдиреН (рдЙрджрд╛рд╣рд░рдгрдХрд╛ рд▓рд╛рдЧрд┐, рдкреБрд╕реНрддрдХрд╛рд▓рдпред рдкреНрд░рд╢реЛрдзрди рд╕реНрдЯреНрд░рд┐рдЩрдХрд╛ рд▓рд╛рдЧрд┐ рдиреЗрдЯрд╡рд░реНрдХ рд╕рдХреЗрдЯ рд╡рд╛ рдлрд╛рдЗрд▓ рдЦреЛрд▓реНрди рд╕рдХреНрд╖рдо рд╣реБрдиреЗрдЫреИрди)ред C/C++ рдХреЛрдбрд▓рд╛рдИ WebAssembly рдорд╛ рд░реВрдкрд╛рдиреНрддрд░рдг рдкреНрд░рдпреЛрдЧ рдЧрд░реА рдЧрд░рд┐рдиреНрдЫ wasi-sdk.

рдкреНрд░рддреНрдпрдХреНрд╖ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрдирдХреЛ рд▓рд╛рдЧрд┐, WebAssembly рдореЛрдбреНрдпреБрд▓ рдХрдореНрдкрд╛рдЗрд▓рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдореЗрд╕рд┐рди рдХреЛрдбрдорд╛ рдХрдореНрдкрд╛рдЗрд▓ рдЧрд░рд┐рдПрдХреЛ рдЫред рд▓реБрд╕реЗрдЯ рд░ рдЕрдиреБрдкреНрд░рдпреЛрдЧрдХреЛ рдмрд╛рдБрдХреА рдореЗрдореЛрд░реАрдмрд╛рдЯ рдЕрд▓рдЧ "рдиреНрдпрд╛рдиреЛрдкреНрд░реЛрд╕реЗрд╕" рдорд╛ рдЪрд▓реНрдЫред Lucet рдХрдореНрдкрд╛рдЗрд▓рд░ JIT рдЗрдиреНрдЬрд┐рди рдЬрд╕реНрддреИ рдХреЛрдб рдорд╛ рдЖрдзрд╛рд░рд┐рдд рдЫ рдХреНрд░реЗрдирд▓рд┐рдлреНрдЯ, WebAssembly рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░реНрди Firefox рдорд╛ рдкреНрд░рдпреЛрдЧ рдЧрд░рд┐рдпреЛред

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

рдореЛрдЬрд┐рд▓рд╛рд▓реЗ рдЖрд░рдПрд▓рдмрдХреНрд╕ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдЯреЗрдХреНрдиреЛрд▓реЛрдЬреАрдХреЛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рд╕реБрд░реБ рдЧрд░реНрдЫ

рд╡рд┐рдХрд╛рд╕рдХрд░реНрддрд╛рд╣рд░реВрдХреЛ рд▓рд╛рдЧрд┐ рдЙрдЪреНрдЪ-рд╕реНрддрд░ рдЬрд╛рдирдХрд╛рд░реА рдкреНрд░рджрд╛рди рдЧрд░рд┐рдПрдХреЛ рдЫ рдПрдкреАрдЖрдИ, рдЬрд╕рд▓реЗ рддрдкрд╛рдИрдВрд▓рд╛рдИ рдЖрдЗрд╕реЛрд▓реЗрд╢рди рдореЛрдбрдорд╛ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд▓ рдЧрд░реНрди рдЕрдиреБрдорддрд┐ рджрд┐рдиреНрдЫред WebAssembly рд╣реНрдпрд╛рдиреНрдбрд▓рд░рд╣рд░реВрд▓рд╛рдИ рд▓рдЧрднрдЧ рдХреБрдиреИ рдЕрддрд┐рд░рд┐рдХреНрдд рд╕реНрд░реЛрддрд╣рд░реВ рдЪрд╛рд╣рд┐рдиреНрдЫ рд░ рддрд┐рдиреАрд╣рд░реВрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛ рд╕рд╛рдорд╛рдиреНрдп рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдХрд▓ рдЧрд░реНрдиреБ рднрдиреНрджрд╛ рдзреЗрд░реИ рдврд┐рд▓реЛ рд╣реБрдБрджреИрди (рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рдиреЗрдЯрд┐рдн рдХреЛрдбрдХреЛ рд░реВрдкрдорд╛ рдХрд╛рд░реНрдпрд╛рдиреНрд╡рдпрди рдЧрд░рд┐рдиреНрдЫ, рд░ рдкреГрдердХ рд╡рд╛рддрд╛рд╡рд░рдгрд╕рдБрдЧ рдЕрдиреНрддрд░рдХреНрд░рд┐рдпрд╛рдХреЛ рдХреНрд░рдордорд╛ рдбрд╛рдЯрд╛ рдкреНрд░рддрд┐рд▓рд┐рдкрд┐ рд░ рдЬрд╛рдБрдЪ рдЧрд░реНрджрд╛ рдорд╛рддреНрд░ рдУрднрд░рд╣реЗрдб рд▓рд╛рдЧрддрд╣рд░реВ рдЙрддреНрдкрдиреНрди рд╣реБрдиреНрдЫрдиреН)ред рдкреГрдердХ рдкреБрд╕реНрддрдХрд╛рд▓рдп рдкреНрд░рдХрд╛рд░реНрдпрд╣рд░реВ рд╕реАрдзреИ рдХрд▓ рдЧрд░реНрди рд╕рдХрд┐рдБрджреИрди рд░ рдкреНрд░рдпреЛрдЧ рдЧрд░реЗрд░ рдкрд╣реБрдБрдЪ рдЧрд░реНрдиреБрдкрд░реНрдЫ
рддрд╣ invoke_sandbox_function()ред

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

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

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

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