Bird
Raised Fist0
Agentic AIml~10 mins

Sandboxing dangerous operations in Agentic AI - Interactive Code Practice

Choose your learning style10 modes available

Start learning this pattern below

Jump into concepts and practice - no test required

or
Recommended
Test this pattern10 questions across easy, medium, and hard to know if this pattern is strong
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to safely execute a command in a sandboxed environment.

Agentic AI
sandbox.execute([1])
Drag options to blanks, or click blank then click option'
A'ls -la'
B'shutdown now'
C'rm -rf /'
D'format C:'
Attempts:
3 left
💡 Hint
Common Mistakes
Choosing commands that can harm the system like 'rm -rf /'.
Trying to run shutdown or format commands.
2fill in blank
medium

Complete the code to restrict the sandbox to only allow read operations.

Agentic AI
sandbox.set_permissions([1])
Drag options to blanks, or click blank then click option'
A'read-write'
B'execute-only'
C'read-only'
D'no-access'
Attempts:
3 left
💡 Hint
Common Mistakes
Using 'read-write' which allows modifying files.
Using 'execute-only' which allows running code.
3fill in blank
hard

Fix the error in the sandbox initialization to prevent dangerous code execution.

Agentic AI
sandbox = Sandbox([1]=False)
Drag options to blanks, or click blank then click option'
Aallow_file_write
Benable_debug
Cenable_logging
Dallow_network
Attempts:
3 left
💡 Hint
Common Mistakes
Disabling network instead of file write permissions.
Disabling logging or debug which do not affect safety.
4fill in blank
hard

Fill both blanks to create a sandbox that limits CPU and memory usage.

Agentic AI
sandbox = Sandbox(cpu_limit=[1], memory_limit=[2])
Drag options to blanks, or click blank then click option'
A50
B1024
C2048
D100
Attempts:
3 left
💡 Hint
Common Mistakes
Setting CPU limit too low or memory limit too high.
Confusing units for CPU and memory limits.
5fill in blank
hard

Fill all three blanks to safely execute user code with timeout and restricted imports.

Agentic AI
sandbox = Sandbox(timeout=[1], allowed_imports=[2], safe_mode=[3])
result = sandbox.run(user_code)
Drag options to blanks, or click blank then click option'
A5
B['math', 'random']
CTrue
DFalse
Attempts:
3 left
💡 Hint
Common Mistakes
Allowing all imports which can be dangerous.
Disabling safe_mode which reduces protection.
Setting no timeout leading to infinite loops.

Practice

(1/5)
1. What is the main purpose of sandboxing dangerous operations in agentic AI?
easy
A. To run risky code safely without harming the main system
B. To speed up the execution of all code
C. To permanently delete unsafe files automatically
D. To make the code run without any errors

Solution

  1. Step 1: Understand sandboxing concept

    Sandboxing creates a safe space to run risky code separately from the main system.
  2. Step 2: Identify the main goal

    The goal is to protect the system from crashes or data loss caused by dangerous operations.
  3. Final Answer:

    To run risky code safely without harming the main system -> Option A
  4. Quick Check:

    Sandboxing = safe risky code execution [OK]
Hint: Sandboxing isolates risky code to protect your system [OK]
Common Mistakes:
  • Thinking sandboxing speeds up all code
  • Believing sandboxing deletes files automatically
  • Assuming sandboxing removes all errors
2. Which of the following is the correct way to start a sandbox environment in Python using the sandbox module?
easy
A. sandbox.init()
B. sandbox.run()
C. sandbox.execute()
D. sandbox.start()

Solution

  1. Step 1: Recall sandbox module usage

    The common method to begin a sandbox session is start() in many sandbox libraries.
  2. Step 2: Match method names

    Among the options, only sandbox.start() correctly initiates the sandbox environment.
  3. Final Answer:

    sandbox.start() -> Option D
  4. Quick Check:

    Start sandbox = sandbox.start() [OK]
Hint: Look for 'start' to begin sandbox safely [OK]
Common Mistakes:
  • Using run() which may execute outside sandbox
  • Confusing execute() with start()
  • Using init() which may not start sandbox
3. Consider this Python code snippet using a sandbox to run a risky operation:
import sandbox
sandbox.start()
result = sandbox.run('2 + 2')
sandbox.stop()
print(result)

What will be printed?
medium
A. 4
B. '2 + 2'
C. Error: sandbox.run not defined
D. None

Solution

  1. Step 1: Understand sandbox.run behavior

    The sandbox.run method executes the string expression safely inside the sandbox.
  2. Step 2: Evaluate the expression '2 + 2'

    Evaluating '2 + 2' returns the integer 4, which is stored in result.
  3. Final Answer:

    4 -> Option A
  4. Quick Check:

    Sandbox runs code safely, output = 4 [OK]
Hint: Sandbox.run executes string code safely and returns result [OK]
Common Mistakes:
  • Thinking sandbox.run returns the string itself
  • Assuming sandbox.run is undefined
  • Expecting None instead of result
4. You wrote this code to sandbox a dangerous file operation:
import sandbox
sandbox.start()
open('/etc/passwd', 'w').write('hacked')
sandbox.stop()

But the file was overwritten on your system. What is the likely error?
medium
A. The sandbox.stop() was missing
B. Sandbox was not properly isolating file writes
C. The open function is blocked in sandbox
D. The code should use sandbox.write() instead

Solution

  1. Step 1: Analyze sandbox isolation failure

    If the file was overwritten, sandbox did not isolate the file write operation properly.
  2. Step 2: Check other options

    Stopping sandbox does not affect isolation during execution; open is not necessarily blocked; sandbox.write() is not a standard method.
  3. Final Answer:

    Sandbox was not properly isolating file writes -> Option B
  4. Quick Check:

    Sandbox isolation failure = file overwritten [OK]
Hint: Check if sandbox truly isolates file operations [OK]
Common Mistakes:
  • Assuming stopping sandbox fixes isolation
  • Thinking open() is always blocked
  • Expecting sandbox.write() method exists
5. You want to safely run user-submitted Python code that may contain dangerous operations like file access or network calls. Which approach best uses sandboxing to protect your system?
hard
A. Run the code on your main system but monitor CPU usage
B. Run the code directly with exec() and catch exceptions
C. Run the code inside a containerized sandbox limiting file and network access
D. Run the code after removing all import statements manually

Solution

  1. Step 1: Understand sandboxing for dangerous code

    Containerized sandboxing isolates code with strict limits on file and network access.
  2. Step 2: Evaluate other options

    Using exec() directly is unsafe; monitoring CPU does not prevent damage; manual import removal is error-prone and incomplete.
  3. Final Answer:

    Run the code inside a containerized sandbox limiting file and network access -> Option C
  4. Quick Check:

    Container sandbox = safest isolation [OK]
Hint: Use container sandbox to limit risky operations [OK]
Common Mistakes:
  • Trusting exec() without isolation
  • Relying on CPU monitoring only
  • Trying manual code cleaning for safety