Benches
A Bench serves as the vital link for remote testing and attack surface discovery. Use this guide to configure your environment and download your custom firmware.
System Requirements
| Component | Recommendation | Why it Matters |
|---|---|---|
| Bench | Raspberry Pi 3, 4 or 5 (4GB+ RAM) | Provides the necessary processing power for complex test cases and concurrent remote access. |
| SD Card | 16GB (or larger) High-Endurance MicroSD | VSEC Test requires at least 16GB to accommodate the custom OS image and local log buffering. |
| Power Supply | Official Raspberry Pi 15.3W USB-C | Prevents undervoltage issues during high-load security assessments and discovery scans. |
| Network | Ethernet or Stable Wi-Fi | Low latency is critical for maintaining the remote interface between the cloud and the DUT. |
| Laptop | macOS, Windows or Linux | Required for downloading large system images (3GB+) and flashing the custom firmware to the MicroSD card. |
Creating a Bench
- Sign-in to vsec.blockharbor.io
- Navigate to Test on the sidebar menu to enter the VSEC Test application and then select the Benches submenu.
- Click the
Add Benchbutton to begin the process of creating a Bench. - A
Add New Benchdialog window will pop-up with options for configuring the Bench. Complete the Required items below.Field Requirement Description Bench Name * Required A unique, short descriptor (e.g., Lab-Alpha-01).Internet-facing interface (WAN) * Required The network interface the Bench uses to reach the internet (e.g., eth0for Ethernet orwlan0for Wi-Fi).WiFi SSID * Required Name of the Wi-Fi network the Bench will connect to. This should be a segregated test network, see the warning below. WiFi Password * Required The security key for the specified Wi-Fi network. WiFi Country Code Optional Regulatory domain for Wi-Fi frequencies (Default: United States of America (US)).Hostname * Required The network name for the device (e.g., vsec-pi-01).Use DHCP Optional When checked, the network automatically assigns an IP address to the Bench. Description Optional Internal notes or context regarding the purpose of this Bench. SSH Key Optional Public SSH key (e.g., contents of ~/.ssh/id_rsa.pub) for passwordless remote access.Use generic image and download configuration file only Optional Skips building a custom image and downloads only the configuration file. The configuration can then be applied to a generic Bench image, allowing the same base image to be flashed across many Benches for bulk deployments.
Connect the Bench to a segregated network, one per DUT. Whether it uses Wi-Fi or Ethernet, the Bench should sit on a dedicated lab network (a separate VLAN, guest network or physically isolated segment). The network only needs outbound internet access for the Bench to reach VSEC.
- Keep it off corporate and production networks. The Bench runs security tooling, scans and attacks against the DUT. Traffic like this must not reach devices outside the test environment.
- Treat the Bench as untrusted. It is not a hardened device. The tooling and services it exposes are designed for offensive testing, not for defending against attacks, and some of them may contain vulnerabilities of their own. Keep it away from any network it could be attacked from.
- Use one segment per DUT. Each DUT and its Bench should have their own network rather than sharing one lab segment, so that attacks against one DUT cannot reach another and results are not contaminated by unrelated traffic.
- After filling out the Required items, click the
Createbutton to begin downloading the Bench image; a custom Raspberry Pi image (e.g.,vsec_rpi_vci_v1.0.0-name.img). If generic image configuration was selected, a configuration file (vsec_config.txt) will be downloaded instead, see Manual Configuration for how to apply it.The Bench image typically takes about 10-15 minutes to download depending on your internet speed. - Once the Bench image has downloaded, open
Raspberry Pi Imagerto begin the flashing process.Please ensure a SD Card is plugged in before proceeding. - Follow the steps in Raspberry Pi Imager tool to flash the Bench image to a SD Card.
- Device: Select your Raspberry Pi model.
- OS: Scoll down and click
Use custom. When prompted, select the recently downloaded Bench image. - Storage: Select your SD Card and click
Writeto flash the image.
- Connect the Raspberry Pi to the network before powering it on. If the WAN interface is
eth0, plug an Ethernet cable from the Pi into the segregated network you set up for this DUT. If it iswlan0, make sure the Pi is within range of the Wi-Fi network you entered above. Do not connect the Bench to a corporate or production network. - After flashing the image, insert the SD Card into the Raspberry Pi and apply power.
- Wait approximately 10 minutes for your Bench to initialize its local environment and establish a secure connection to VSEC.
- Once this process is complete, your device should appear as “Online” in VSEC Test.
Migrating a Bench Between Workspaces
To move a Bench to a different workspace, re-configure it in the target workspace and then remove it from the original one:
- In the target workspace, open the
Add New Benchdialog, fill in the configuration, check theUse generic image and download configuration file onlyoption, and clickCreate. This creates a Bench without generating an SD card disk image for your Test Bench — it only downloads the configuration file. - Apply the downloaded configuration file (
vsec_config.txt) to the Benches SD card. See Manual Configuration for the steps. - Manually delete the Bench from the original workspace.
Creating Multiple Benches
When deploying many Benches at once, you can flash a single generic image to every SD Card and apply a per-Bench configuration file to each, instead of building a unique image per Bench.
- Open the
Add New Benchdialog and click theDownloadbutton next to theUse generic image and download configuration file onlycheckbox to download the generic Bench image. Flash it to each SD Card usingRaspberry Pi Imager(see steps 6-7 in Creating a Bench). - For each Bench, open the
Add New Benchdialog, fill in the configuration, check theUse generic image and download configuration file onlyoption, and clickCreate. - A configuration file (
vsec_config.txt) will be downloaded for that Bench. - Apply each configuration file to its corresponding generic-image SD Card. See Manual Configuration for the steps.
- Insert each SD Card into its Raspberry Pi and apply power; the Bench will appear as “Online” in VSEC Test once it has finished initializing.