Bird
Raised Fist0
Agentic AIml~20 mins

Sandboxing dangerous operations in Agentic AI - Practice Problems & Coding Challenges

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
Challenge - 5 Problems
🎖️
Sandboxing Mastery
Get all challenges correct to earn this badge!
Test your skills under time pressure!
🧠 Conceptual
intermediate
1:30remaining
Why sandboxing is important in AI agents

Imagine you have an AI agent that can execute code on your computer. Why is sandboxing these operations important?

ATo allow the AI to connect to the internet without restrictions.
BTo make the AI run faster by giving it more CPU power.
CTo prevent the AI from accessing or damaging sensitive files or system resources.
DTo let the AI change its own code freely.
Attempts:
2 left
💡 Hint

Think about what could happen if the AI runs harmful commands.

Predict Output
intermediate
2:00remaining
Output of sandboxed code execution

What will be the output of this sandboxed Python code snippet?

Agentic AI
sandbox_env = {'__builtins__': {}}
code = 'result = 5 + 3'
exec(code, sandbox_env)
output = sandbox_env.get('result', None)
print(output)
ANone
B8
CNameError
DSyntaxError
Attempts:
2 left
💡 Hint

Check if the code assigns the result correctly inside the sandbox.

Model Choice
advanced
2:00remaining
Choosing a sandboxing method for AI agents

You want to run untrusted AI-generated code safely. Which sandboxing method provides the strongest isolation?

AUsing Python's <code>exec</code> with an empty <code>__builtins__</code> dictionary.
BRunning code in a separate Docker container with limited permissions.
CRunning code directly on the host machine with user confirmation.
DUsing a virtual environment (venv) without additional restrictions.
Attempts:
2 left
💡 Hint

Consider which method isolates the code from the host system most effectively.

Hyperparameter
advanced
1:30remaining
Configuring sandbox resource limits

When sandboxing AI code execution, which resource limit is most critical to prevent denial-of-service attacks?

AMemory limit to prevent excessive RAM usage.
BDisk space limit to prevent large file creation.
CNetwork bandwidth limit to slow down data transfer.
DCPU time limit to stop infinite loops or heavy computation.
Attempts:
2 left
💡 Hint

Think about what causes the system to become unresponsive quickly.

🔧 Debug
expert
2:30remaining
Debugging sandbox escape vulnerability

Given this sandboxed Python code, which option shows the way an attacker could escape the sandbox?

sandbox_env = {'__builtins__': {}}
code = '''
import os
os.system('echo escaped')
'''
exec(code, sandbox_env)
AThe code raises a NameError because 'import' is not allowed in the sandbox.
BThe code raises an AttributeError because 'os' has no attribute 'system'.
CThe code runs successfully and prints 'escaped' because 'os' is accessible.
DThe code raises a SyntaxError due to missing built-ins.
Attempts:
2 left
💡 Hint

Check if the sandbox environment allows importing modules.

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