Skip to main content

Overview

The RAPTOR devcontainer provides a complete, pre-configured development environment with all security tools, debuggers, and dependencies installed. This eliminates manual installation and ensures consistency across platforms.

What's Included

  • Python 3.12 environment
  • All security testing tools (Semgrep, CodeQL, AFL++)
  • Debuggers (GDB, rr)
  • Build tools (gcc, clang, make, cmake)
  • Browser automation (Playwright)
  • All Python dependencies

Quick Start

1

Open in VS Code

Open the RAPTOR repository in VS Code or any compatible editor:
Then use the command: Dev Container: Open Folder in Container
2

Wait for Build

The first build takes 5-10 minutes (container is ~6GB). Subsequent starts are instant.
3

Start Using RAPTOR

Once the container is running, all tools are ready:

Alternative: Docker Build

Build and run the container manually with Docker:
The --privileged flag is required for the rr debugger to function properly.

Included Tools

Security Analysis Tools

Semgrep

Version: LatestPattern-based static analysis scanner

CodeQL CLI

Version: 2.15.5Semantic code analysis engine

AFL++

Version: LatestAmerican Fuzzy Lop fuzzer with enhancements

rr Debugger

Platform: Linux x86_64 onlyDeterministic record-replay debugger

Build & Debugging Tools

  • gcc - GNU C/C++ compiler with coverage support (gcov)
  • g++ - GNU C++ compiler
  • clang-format - Code formatter
  • make - Build automation
  • cmake - Cross-platform build system
  • autoconf, automake, libtool - GNU build tools
  • gdb - GNU Debugger
  • gdb-multiarch - Multi-architecture debugging
  • rr - Record-replay debugger (Linux x86_64)
  • binutils - GNU binary utilities (nm, addr2line, objdump, strings)
  • file - File type identification

Web Testing (Alpha)

Web testing is in alpha stage. Treat as experimental.
Pre-installed browsers:
  • Chromium
  • Firefox
  • WebKit
All browser binaries are pre-downloaded during container build.

Python Environment

  • Python: 3.12
  • Base Image: mcr.microsoft.com/devcontainers/python:1-3.12-bookworm
  • Dependencies: All packages from requirements.txt and requirements-dev.txt
  • PYTHONPATH: Pre-configured for RAPTOR imports

Environment Configuration

The devcontainer sets up several environment variables:
The PYTHONPATH configuration allows importing RAPTOR packages from anywhere:

Usage Instructions

Basic Workflow

1

Start Container

Open the repository in VS Code and start the devcontainer.
2

Verify Installation

Check that all tools are available:
3

Run RAPTOR

Use any RAPTOR command:

Working Directory

The container’s working directory is /workspaces/raptor, which maps to your local repository.
Changes made inside the container are reflected in your local filesystem.

Troubleshooting

Problem: rr requires kernel performance monitoring permissions.Solution:
  1. Ensure container runs with --privileged flag
  2. Set kernel parameter (inside container):
  1. Or add to devcontainer.json:
Problem: CodeQL binary not accessible.Solution:
  1. Check installation:
  1. Manually add to PATH:
  1. Restart container if issue persists
Problem: Cannot import RAPTOR packages.Solution:
  1. Verify PYTHONPATH:
  1. Set manually if needed:
  1. Test import:
Problem: First build takes 5-10 minutes and downloads ~6GB.Solutions:
  • Slow internet: Wait for download to complete (one-time only)
  • Disk space: Ensure 10GB+ free space
  • Build errors: Check Docker logs for specific errors
  • Platform issues: Some tools (like rr) are Linux x86_64 only
The container will skip unavailable tools with warnings rather than failing.
Problem: AFL++ requires specific kernel configurations.Solution:
  1. Check AFL++ system settings:
  1. Apply recommended settings (may require privileged mode)
  2. For testing, use AFL++ with -d flag to disable CPU binding:
Problem: Playwright browser automation fails.Solution:
  1. Verify browsers are installed:
  1. Reinstall if needed:
  1. Check X11 for GUI (if needed):
Most Playwright operations work headless, but for debugging:

Container Size & Performance

Container Size

~6GB total
  • Base Python 3.12 image: ~2GB
  • Security tools: ~1.5GB
  • Playwright browsers: ~1.5GB
  • Build tools & dependencies: ~1GB

Build Time

5-10 minutes (first time)
  • Download: 3-5 minutes
  • Build: 2-5 minutes
  • Subsequent starts: <10 seconds
The container caches layers, so rebuilds after changes are fast (typically <1 minute).

OSS Forensics Configuration

For OSS forensics investigations, configure Google Cloud credentials:
1

Create Service Account

  1. Go to Google Cloud Console
  2. Create a service account with BigQuery access
  3. Download credentials JSON file
2

Mount Credentials

Add to devcontainer.json:
3

Set Environment Variable

Inside container:
See Dependencies for more details on Google Cloud BigQuery setup.

Customization

Modify .devcontainer/Dockerfile to customize the environment:
Rebuild the container after changes:

Platform Compatibility

Full Support

Linux (x86_64)All tools including rr debugger

Partial Support

macOS (ARM64) / Windows (WSL2)All tools except rr debuggerContainer builds with warnings for unavailable tools
The rr debugger is Linux x86_64 only. On other platforms, RAPTOR falls back to GDB/LLDB for crash analysis.

Next Steps

Run Tests

Verify your environment with the test suite

Start Scanning

Begin using RAPTOR for security testing

Dependencies

Learn about licenses and restrictions

Contributing

Contribute to RAPTOR development