Skip to content
| Marketplace
Sign in
Visual Studio Code>Programming Languages>SafeBreach Visual Attack StudioNew to Visual Studio Code? Get it now.
SafeBreach Visual Attack Studio

SafeBreach Visual Attack Studio

SafeBreach

|
4 installs
| (0) | Free
Develop SafeBreach custom attacks in VS Code with full IDE support
Installation
Launch VS Code Quick Open (Ctrl+P), paste the following command, and press enter.
Copied to clipboard
More Info

SafeBreach Visual Attack Studio

Develop SafeBreach custom attacks in VS Code with full IDE support including IntelliSense, linting, and one-click deployment.

New to this extension? Open the interactive walkthrough: Command Palette (Cmd+Shift+P) → Welcome: Open Walkthrough → Get Started with SafeBreach

Attack Resource Manager IntelliSense Deploy

Features

Quick Start Workflows

Import and Edit an Existing Attack

  1. Open the Attack Resource Manager in the sidebar
  2. Find your attack and click Import
  3. Edit target.py in VS Code with full IntelliSense
  4. Click Deploy to push changes to SafeBreach
  5. Click Run to test on connected simulators

Create a New Attack from Scratch

  1. Click + in the Attack Resource Manager toolbar
  2. Choose attack type: Host, Exfiltration, Infiltration, or Lateral Movement
  3. Set OS constraint (Windows/Linux/Mac/All) and description
  4. Write your attack code with SafeBreach framework autocomplete
  5. Deploy and run when ready

Clone and Customize an Attack

  1. Right-click any attack → Clone Attack
  2. Enter a new name for the cloned attack
  3. Modify the code to fit your needs
  4. Deploy as a new custom attack

Add or Remove Parameters

  1. Right-click on an attack folder → Add Simple Parameter or Add File Parameter
  2. Enter parameter name, type, and default values
  3. Code snippets are auto-inserted for easy access
  4. To remove: Right-click → Delete Parameter

Attack Resource Manager

  • Browse all SafeBreach custom attacks (Draft and Published)
  • Filter by status and search by name or description
  • Visual indicators: attack type badges, sync status, local changes
  • Bulk operations: import or deploy multiple attacks at once
  • Context menu: Deploy, Re-import, Clone, Run, Lint, Copy Attack ID

Workspace Dashboard

  • Overview: Total attacks, imported locally, pending changes
  • Quick Access: List of attacks with local changes ready to deploy
  • Sync History: Last 50 sync operations with timestamps
  • Navigation: One-click to open any attack folder

Development Workflow

  • Edit: Full IDE with IntelliSense for SafeBreach framework functions
  • Lint: Real-time code validation on save and before run/deploy
  • Deploy: Push local changes to SafeBreach console (Draft attacks only)
  • Run: Execute on connected simulators with progress tracking
  • Analyze: View structured results in runs/{test_id}/ folder
  • Commit: Version control your changes with Git

Parameter Management

  • Simple Parameters (PARAM): Text values with multiple options
  • File Parameters (FEED): Binary files stored in SafeBreach feeds
  • Validation: Automatic checks with errors in Problems panel
  • Context Menu: Add, delete, and manage parameters easily

Git Integration

  • Standard Git workflow: branch, commit, push, pull request
  • Attack files organized in attacks/{id}-{name}/ folders
  • Pre-configured .gitignore for SafeBreach workspaces
  • Full version control over your attack code and parameters

Source of Truth: This extension enables a code-first workflow where your Git repository becomes the authoritative source for attack development—not just the code, but also metadata and parameters. This enables collaboration, code review, and full audit trails for your custom attacks.

Requirements

  • VS Code 1.106.0 or higher
  • Python 3.9 or higher
  • SafeBreach Account with API access
  • Pylance Extension (recommended for best IntelliSense experience)

Getting Started

1. First Launch

On first activation, the extension automatically:

  1. Creates a Python virtual environment
  2. Installs required dependencies
  3. Starts the backend service

This takes 30-90 seconds on first run. Subsequent launches start in just a few seconds.

Note: If Python 3.9+ is not found, you'll be prompted to install it.

2. Connect to SafeBreach

On first launch, you'll see a welcome prompt to connect. Click "Connect Now" and enter:

  • Base URL: Your SafeBreach console URL (e.g., https://yourcompany.safebreach.com)
  • API Token: Your SafeBreach API token (requires administrator role)
  • Account ID: Your SafeBreach account ID

3. Open a Workspace

  1. Open a folder in VS Code where you want to store your attacks
  2. The extension will initialize a SafeBreach workspace automatically
  3. Use the Attack Resource Manager in the sidebar to browse and import attacks

Extension Settings

Setting Description
safebreach.baseUrl SafeBreach console base URL
safebreach.apiToken SafeBreach API token for authentication
safebreach.accountId SafeBreach account ID
safebreach.lintOnSave Automatically lint attack code when saving (default: true)
safebreach.lintBeforeRun Lint before running attacks (default: true)
safebreach.lintBeforeDeploy Lint before deploying attacks (default: true)
safebreach.validateParametersOnSave Validate parameters.json on save (default: true)

Commands

Access these commands via the Command Palette (Cmd+Shift+P / Ctrl+Shift+P):

Command Description
SafeBreach: Configure Connection Set up SafeBreach console connection
SafeBreach: Import Attack Import an attack from SafeBreach to local workspace
SafeBreach: Create Attack Create a new custom attack from template
SafeBreach: Deploy Attack Deploy local attack to SafeBreach console
SafeBreach: Run Attack Execute attack locally for testing
SafeBreach: Lint Attack Run SafeBreach linting on attack code

Workspace Structure

When you import attacks, they are organized as follows:

your-project/
├── .safebreach/
│   ├── workspace.json       # Workspace configuration
│   └── encryption_key.bin   # Local encryption key (DO NOT COMMIT)
└── attacks/
    └── {id}-{name}/         # One folder per attack
        ├── target.py        # Target-side attack code
        ├── attacker.py      # Attacker-side code (if applicable)
        ├── metadata.json    # Attack metadata
        ├── parameters.json  # Attack parameters (optional)
        ├── resources/       # Binary files for FEED parameters
        │   └── {param}/     # Files organized by parameter name
        │       ├── file.enc        # Encrypted backup (EDR-safe)
        │       ├── file.enc.meta   # File metadata
        │       └── payload.bin     # Decrypted file (may be flagged by EDR)
        └── runs/            # Execution results (auto-generated)
            └── {test_id}/
                └── summary.json

Git Recommendations

Commit to source control:

  • attacks/*/target.py, attacker.py - Your attack code
  • attacks/*/metadata.json - Attack configuration
  • attacks/*/parameters.json - Parameter definitions
  • attacks/*/resources/*/*.enc - Encrypted binary files (EDR-safe)
  • attacks/*/resources/*/*.enc.meta - Binary metadata

Do NOT commit:

  • .safebreach/encryption_key.bin - Local encryption key (auto-excluded)
  • attacks/*/runs/ - Execution results (local only)
  • attacks/*/resources/* (decrypted files) - May trigger EDR alerts

Note: The extension auto-creates a .gitignore in .safebreach/ to protect sensitive files.

Security

  • API tokens are stored securely using VS Code's SecretStorage API
  • No credentials are stored in plain text
  • All communication with SafeBreach uses HTTPS
  • This extension is for authorized SafeBreach customers only

Support

For issues and feature requests, please visit our GitHub Issues.

For SafeBreach platform support, contact your SafeBreach representative or visit SafeBreach Support.

License

BSD 3-Clause License - see LICENSE for details.


SafeBreach Visual Attack Studio is developed by SafeBreach.

  • Contact us
  • Jobs
  • Privacy
  • Manage cookies
  • Terms of use
  • Trademarks
© 2026 Microsoft