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

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

рдореЛрдЬрд╝рд┐рд▓рд╛ рдХрдВрдкрдиреА рдХреА рдпреЛрдЬрдирд╛ рд╣реИ рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдирд┐рд╖реНрдкрд╛рджрди рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 74 рдХреЗ рд▓рд┐рдирдХреНрд╕ рдмрд┐рд▓реНрдб рдФрд░ рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ 75 рдХреЗ рдореИрдХрдУрдПрд╕ рдмрд┐рд▓реНрдб рдореЗрдВ рдЖрд░рдПрд▓рдмреЙрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░реЗрдВ рд╕реАрд╕рд╛, рдлрд╝реЙрдиреНрдЯ рдкреНрд░рд╕реНрддреБрдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЬрд┐рдореНрдореЗрджрд╛рд░ред рд╣рд╛рд▓рд╛рдБрдХрд┐, RLBox рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдХреЗ рд▓рд┐рдП рд╡рд┐рд╢рд┐рд╖реНрдЯ рдирд╣реАрдВ рд╣реИ рдФрд░ рдЗрд╕рдХрд╛ рдЙрдкрдпреЛрдЧ рдордирдорд╛рдиреА рдкрд░рд┐рдпреЛрдЬрдирд╛рдУрдВ рдореЗрдВ рдХрд┐рд╕реА рднреА рд▓рд╛рдЗрдмреНрд░реЗрд░реА рдХреЛ рдЕрд▓рдЧ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИред рдШрдЯрдирд╛рдХреНрд░рдо рдЖрд░рдПрд▓рдмреЙрдХреНрд╕ рдлреИрд▓рд╛рдирд╛ рдПрдордЖрдИрдЯреА рд▓рд╛рдЗрд╕реЗрдВрд╕ рдХреЗ рддрд╣рдд. RLBox рд╡рд░реНрддрдорд╛рди рдореЗрдВ Linux рдФрд░ macOS рдкреНрд▓реЗрдЯрдлрд╝реЙрд░реНрдо рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ, Windows рд╕рдорд░реНрдерди рдмрд╛рдж рдореЗрдВ рдЕрдкреЗрдХреНрд╖рд┐рдд рд╣реИред

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

рд╕реАрдзреЗ рдирд┐рд╖реНрдкрд╛рджрди рдХреЗ рд▓рд┐рдП, WebAssembly рдореЙрдбреНрдпреВрд▓ рдХреЛ рдПрдХ рдХрдВрдкрд╛рдЗрд▓рд░ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдорд╢реАрди рдХреЛрдб рдореЗрдВ рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рд▓реБрд╕реЗрдЯрд╛ рдФрд░ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреА рдмрд╛рдХреА рдореЗрдореЛрд░реА рд╕реЗ рдЕрд▓рдЧ рдПрдХ рдЕрд▓рдЧ "рдиреИрдиреЛрдкреНрд░реЛрд╕реЗрд╕" рдореЗрдВ рдЪрд▓рддрд╛ рд╣реИред рд▓реНрдпреВрд╕реЗрдЯ рдХрдВрдкрд╛рдЗрд▓рд░ JIT рдЗрдВрдЬрди рдХреЗ рд╕рдорд╛рди рдХреЛрдб рдкрд░ рдЖрдзрд╛рд░рд┐рдд рд╣реИ рдХреНрд░реИрдирдлрд┐рд▓реНрдЯ, WebAssembly рдХреЛ рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдлрд╝рд╛рдпрд░рдлрд╝реЙрдХреНрд╕ рдореЗрдВ рдЙрдкрдпреЛрдЧ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИред

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

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

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

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

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

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

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