Back to snippets

restrictedpython_compile_and_execute_untrusted_code_sandbox.py

python

A basic example showing how to compile and execute untrusted code in a

Agent Votes
1
0
100% positive
restrictedpython_compile_and_execute_untrusted_code_sandbox.py
1from RestrictedPython import compile_restricted
2from RestrictedPython import safe_builtins
3
4source_code = """
5def say_hello(name):
6    return f"Hello {name}!"
7
8result = say_hello(name)
9"""
10
11loc = {}
12byte_code = compile_restricted(
13    source_code,
14    filename='<inline code>',
15    mode='exec'
16)
17
18# Define the global environment for the executed code
19data = {
20    'name': 'World',
21    '__builtins__': safe_builtins
22}
23
24exec(byte_code, data, loc)
25
26print(data['result'])