Mozilla рдиреЗ RLBox рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдпрд╕реЛрд▓реЗрд╢рди рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реБрд░реВ рдХреЗрд▓реА

рд╕реНрдЯреЕрдирдлреЛрд░реНрдб рд╡рд┐рджреНрдпрд╛рдкреАрда, рд╕реЕрди рджрд┐рдПрдЧреЛ рдпреЗрдереАрд▓ рдХреЕрд▓рд┐рдлреЛрд░реНрдирд┐рдпрд╛ рд╡рд┐рджреНрдпрд╛рдкреАрда рдЖрдгрд┐ рдСрд╕реНрдЯрд┐рди рдпреЗрдереАрд▓ рдЯреЗрдХреНрд╕рд╛рд╕ рд╡рд┐рджреНрдпрд╛рдкреАрдард╛рддреАрд▓ рд╕рдВрд╢реЛрдзрдХ рд╡рд┐рдХрд╕рд┐рдд рд╕рд╛рдзрдиреЗ рдЖрд░рдПрд▓рдмреЙрдХреНрд╕, рдЬреНрдпрд╛рдЪрд╛ рдЙрдкрдпреЛрдЧ рдлрдВрдХреНрд╢рди рд▓рд╛рдпрдмреНрд░рд░реАрдордзреАрд▓ рднреЗрджреНрдпрддрд╛ рдЕрд╡рд░реЛрдзрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЕрддрд┐рд░рд┐рдХреНрдд рдЕрд▓рдЧрд╛рд╡ рд╕реНрддрд░ рдореНрд╣рдгреВрди рдХреЗрд▓рд╛ рдЬрд╛рдК рд╢рдХрддреЛ. RLBox рдЪреЗ рдЙрджреНрджрд┐рд╖реНрдЯ рдЕрд╡рд┐рд╢реНрд╡рд╛рд╕реВ рддреГрддреАрдп-рдкрдХреНрд╖ рд▓рд╛рдпрдмреНрд░рд░реАрдВрдЪреНрдпрд╛ рд╕реБрд░рдХреНрд╖рд┐рддрддреЗрдЪреНрдпрд╛ рд╕рдорд╕реНрдпреЗрдЪреЗ рдирд┐рд░рд╛рдХрд░рдг рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЖрд╣реЗ рдЬреЗ рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрдЪреНрдпрд╛ рдирд┐рдпрдВрддреНрд░рдгрд╛рдЦрд╛рд▓реА рдирд╛рд╣реАрдд, рдкрд░рдВрддреБ рдЬреНрдпрд╛рдВрдЪреНрдпрд╛ рдЕрд╕реБрд░рдХреНрд╖рд╛ рдореБрдЦреНрдп рдкреНрд░рдХрд▓реНрдкрд╛рд╢реА рддрдбрдЬреЛрдб рдХрд░реВ рд╢рдХрддрд╛рдд.

рдореЛрдЭрд┐рд▓рд╛ рдХрдВрдкрдиреА рдпреЛрдЬрдирд╛ рд▓рд╛рдпрдмреНрд░рд░реА рдПрдХреНрдЭрд┐рдХреНрдпреБрд╢рди рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Firefox 74 рдЪреНрдпрд╛ Linux рдмрд┐рд▓реНрдб рдЖрдгрд┐ Firefox 75 рдЪреНрдпрд╛ macOS рдмрд┐рд▓реНрдбрдордзреНрдпреЗ RLBox рд╡рд╛рдкрд░рд╛ рдЧреНрд░реЗрдлрд╛рдЗрдЯ, рдлреЙрдиреНрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рдЬрдмрд╛рдмрджрд╛рд░. рддрдерд╛рдкрд┐, RLBox рдлрд╛рдпрд░рдлреЙрдХреНрд╕рд╕рд╛рдареА рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╛рд╣реА рдЖрдгрд┐ рдЕрдирд┐рдпрдВрддреНрд░рд┐рдд рдкреНрд░рдХрд▓реНрдкрд╛рдВрдордзреНрдпреЗ рдХреЛрдгрддреНрдпрд╛рд╣реА рд▓рд╛рдпрдмреНрд░рд░реАрд▓рд╛ рд╡реЗрдЧрд│реЗ рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ. рд╡рд┐рдХрд╛рд╕ рдЖрд░рдПрд▓рдмреЙрдХреНрд╕ рдкреНрд░рд╕рд╛рд░ рдПрдордЖрдпрдЯреА рдкрд░рд╡рд╛рдиреНрдпрд╛ рдЕрдВрддрд░реНрдЧрдд. RLBox рд╕рдзреНрдпрд╛ Linux рдЖрдгрд┐ macOS рдкреНрд▓реЕрдЯрдлреЙрд░реНрдордирд╛ рд╕рдорд░реНрдерди рджреЗрддреЗ, Windows рд╕рдорд░реНрдерди рдирдВрддрд░ рдЕрдкреЗрдХреНрд╖рд┐рдд рдЖрд╣реЗ.

рдпрдВрддреНрд░рдгрд╛ RLBox рдЪреЗ рдХрд╛рдо рдПрдХрд╛ рд╡реЗрдЧрд│реНрдпрд╛ рд▓рд╛рдпрдмреНрд░рд░реАрдЪреНрдпрд╛ C/C++ рдХреЛрдбрд▓рд╛ рдирд┐рдореНрди-рд╕реНрддрд░реАрдп рдЗрдВрдЯрд░рдореАрдбрд┐рдПрдЯ WebAssembly рдХреЛрдбрдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рдкрд░реНрдпрдВрдд рдпреЗрддреЗ, рдЬреЗ рдирдВрддрд░ WebAssembly рдореЙрдбреНрдпреВрд▓ рдореНрд╣рдгреВрди рдбрд┐рдЭрд╛рдЗрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ, рдЬреНрдпрд╛рдЪреНрдпрд╛ рдкрд░рд╡рд╛рдирдЧреНрдпрд╛ рдлрдХреНрдд рдпрд╛ рдореЙрдбреНрдпреВрд▓рд╢реА рд╕рдВрдмрдВрдзрд┐рдд рдЕрд╕рддрд╛рдд (рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рд▓рд╛рдпрдмреНрд░рд░реА рдкреНрд░реЛрд╕реЗрд╕рд┐рдВрдЧ рд╕реНрдЯреНрд░рд┐рдВрдЧреНрд╕рд╕рд╛рдареА рдиреЗрдЯрд╡рд░реНрдХ рд╕реЙрдХреЗрдЯ рдХрд┐рдВрд╡рд╛ рдлрд╛рдЗрд▓ рдЙрдШрдбрдгреНрдпрд╛рд╕ рд╕рдХреНрд╖рдо рд╣реЛрдгрд╛рд░ рдирд╛рд╣реА) . C/C++ рдХреЛрдбрд▓рд╛ WebAssembly рдордзреНрдпреЗ рд░реВрдкрд╛рдВрддрд░рд┐рдд рдХрд░рдгреЗ рд╡рд╛рдкрд░реВрди рдХреЗрд▓реЗ рдЬрд╛рддреЗ wasi-sdk.

рдереЗрдЯ рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреАрд╕рд╛рдареА, рд╡реЗрдмрдЕрд╕реЗрдВрдмрд▓реА рдореЙрдбреНрдпреВрд▓ рдХрдВрдкрд╛рдЗрд▓рд░ рд╡рд╛рдкрд░реВрди рдорд╢реАрди рдХреЛрдбрдордзреНрдпреЗ рд╕рдВрдХрд▓рд┐рдд рдХреЗрд▓реЗ рдЬрд╛рддреЗ. рд▓реНрдпреБрд╕реЗрдЯ рдЖрдгрд┐ рдЕрдиреБрдкреНрд░рдпреЛрдЧрд╛рдЪреНрдпрд╛ рдЙрд░реНрд╡рд░рд┐рдд рдореЗрдорд░реАрдкрд╛рд╕реВрди рд╡реЗрдЧрд│реНрдпрд╛ "рдиреЕрдиреЛрдкреНрд░реЛрд╕реЗрд╕" рдордзреНрдпреЗ рдЪрд╛рд▓рддреЗ. рд▓реНрдпреБрд╕реЗрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ JIT рдЗрдВрдЬрд┐рди рд╕рд╛рд░рдЦреНрдпрд╛рдЪ рдХреЛрдбрд╡рд░ рдЖрдзрд╛рд░рд┐рдд рдЖрд╣реЗ рдХреНрд░реЗрдирд▓рд┐рдлреНрдЯ, WebAssembly рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА Firefox рдордзреНрдпреЗ рд╡рд╛рдкрд░рд▓реЗ рдЬрд╛рддреЗ.

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

Mozilla рдиреЗ RLBox рд▓рд╛рдпрдмреНрд░рд░реА рдЖрдпрд╕реЛрд▓реЗрд╢рди рддрдВрддреНрд░рдЬреНрдЮрд╛рдирд╛рдЪреА рдЕрдВрдорд▓рдмрдЬрд╛рд╡рдгреА рд╕реБрд░реВ рдХреЗрд▓реА

рд╡рд┐рдХрд╛рд╕рдХрд╛рдВрд╕рд╛рдареА рдЙрдЪреНрдЪ-рд╕реНрддрд░реАрдп рдорд╛рд╣рд┐рддреА рдкреНрд░рджрд╛рди рдХреЗрд▓реА рдЬрд╛рддреЗ API, рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЖрдпрд╕реЛрд▓реЗрд╢рди рдореЛрдбрдордзреНрдпреЗ рд▓рд╛рдпрдмреНрд░рд░реА рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдЪреА рдкрд░рд╡рд╛рдирдЧреА рджреЗрддреЗ. WebAssembly рд╣рдБрдбрд▓рд░реНрд╕рдирд╛ рдЬрд╡рд│рдЬрд╡рд│ рдХреЛрдгрддреНрдпрд╛рд╣реА рдЕрддрд┐рд░рд┐рдХреНрдд рд╕рдВрд╕рд╛рдзрдирд╛рдВрдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╕рддреЗ рдЖрдгрд┐ рддреНрдпрд╛рдВрдЪреНрдпрд╛рд╢реА рдкрд░рд╕реНрдкрд░рд╕рдВрд╡рд╛рдж рд╕рд╛рдорд╛рдиреНрдп рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЙрд▓ рдХрд░рдгреНрдпрд╛рдкреЗрдХреНрд╖рд╛ рдЦреВрдк рд╣рд│реВ рдирд╕рддреЛ (рд▓рд╛рдпрдмреНрд░рд░реА рдлрдВрдХреНрд╢рдиреНрд╕ рдореВрд│ рдХреЛрдбрдЪреНрдпрд╛ рд░реВрдкрд╛рдд рдХрд╛рд░реНрдпрд╛рдиреНрд╡рд┐рдд рдХреЗрд▓реНрдпрд╛ рдЬрд╛рддрд╛рдд рдЖрдгрд┐ рд╡реЗрдЧрд│реНрдпрд╛ рд╡рд╛рддрд╛рд╡рд░рдгрд╛рд╢реА рд╕рдВрд╡рд╛рдж рд╕рд╛рдзрддрд╛рдирд╛ рдбреЗрдЯрд╛ рдХреЙрдкреА рдЖрдгрд┐ рддрдкрд╛рд╕рддрд╛рдирд╛рдЪ рдУрд╡реНрд╣рд░рд╣реЗрдб рдЦрд░реНрдЪ рдпреЗрддреЛ). рдкреГрдердХ рд▓рд╛рдпрдмреНрд░рд░реА рдХрд╛рд░реНрдпреЗ рдереЗрдЯ рдХреЙрд▓ рдХреЗрд▓реА рдЬрд╛рдК рд╢рдХрдд рдирд╛рд╣реАрдд рдЖрдгрд┐ рд╡рд╛рдкрд░реВрди рдкреНрд░рд╡реЗрд╢ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ
рд╕реНрддрд░ invoke_sandbox_function().

рдпрд╛ рдмрджрд▓реНрдпрд╛рдд, рд▓рд╛рдпрдмреНрд░рд░реАрддреВрди рдмрд╛рд╣реНрдп рдлрдВрдХреНрд╢рдиреНрд╕ рдХреЙрд▓ рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЕрд╕рд▓реНрдпрд╛рд╕, рд╣реА рдлрдВрдХреНрд╢рдиреНрд╕ register_callback рдкрджреНрдзрдд рд╡рд╛рдкрд░реВрди рд╕реНрдкрд╖реНрдЯрдкрдгреЗ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рдгреЗ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ (рдбреАрдлреЙрд▓реНрдЯрдиреБрд╕рд╛рд░, RLBox рдлрдВрдХреНрд╢рдиреНрд╕рдордзреНрдпреЗ рдкреНрд░рд╡реЗрд╢ рдкреНрд░рджрд╛рди рдХрд░рддреЗ. рдорд╛рдирдХ рд▓рд╛рдпрдмреНрд░рд░реА). рдореЗрдорд░реА рд╕реБрд░рдХреНрд╖рд┐рддрддрд╛ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА, рдХреЛрдб рдПрдХреНрдЭрд┐рдХреНрдпреВрд╢рди рдЖрдпрд╕реЛрд▓реЗрд╢рди рдкреБрд░реЗрд╕реЗ рдирд╛рд╣реА рдЖрдгрд┐ рдкрд░рдд рдЖрд▓реЗрд▓рд╛ рдбреЗрдЯрд╛ рдкреНрд░рд╡рд╛рд╣ рддрдкрд╛рд╕рдгреЗ рджреЗрдЦреАрд▓ рдЖрд╡рд╢реНрдпрдХ рдЖрд╣реЗ.

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

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

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛