Recording Browser Session
Record Browser Sessions and help Pentest Copilot understand more about the domain.
The Record Browser Session feature enables users to capture interactive browser sessions on a configured sandbox agent. This allows Pentest Copilot to gain a deeper understanding of a target website's structure, user flows, and behaviours. By manually navigating the site, you can simulate specific user roles and permissions, record the session for later replay, and provide Pentest Copilot with the ability to impersonate authenticated users.
Video walkthrough: Record a browser session
Learn about Window Controls while Recording Browser Session.
Step 1: Prepare the Browser Session
Open the Browser Session Manager for the target domain before starting the recorder.
Confirm the correct target domain is selected. If the product asks for domain ownership verification, complete verification before recording.
Choose whether to create or update a session:
Create New Session records a new role or account state.
Re-record updates an existing browser session in place, keeping the same session identity for scans and findings.
Select an Email identity if the login flow uses email OTPs or magic links. Select None when you are using a customer-managed account, an existing long-lived session, or an inbox that Pentest Copilot should not poll.
Session Context: Provide a clear description of the user role, permissions, and intended functionalities. This metadata helps Pentest Copilot interpret the browser session's scope.
Example: "Admin user with full access to user management, settings, and reports."
Tags: Add labels to categorise and filter sessions later. At least one tag is required before recording.
Examples: "admin", "read-only", "finance-team", "hr-manager".
Optional settings:
Authentication Verification Regex: Text or a regex that should be visible only when the session is authenticated, such as
DashboardorWelcome\s+Jane.Starting URL: Open the recorder directly on the login page or tenant-specific start path.
Use Residential IP for browser traffic: Use this for bot-sensitive login pages. It may be slower.
Once configured, proceed to start the recording.

Step 2: Start Recording
Click Start Recording.
A proxied browser window opens automatically.
If the browser window does not open, copy the Proxied noVNC URL shown in the active recording card and open it in your browser.

The browser window is now active. You can begin exploring unauthenticated (pre-authentication) features.
Note: Please wait for page to be loaded and elements to be highlighted before proceeding

Understanding Record Session Toolbar:

The record session toolbar is identified by the SESSION tag present at the start of the toolbar.
Set Start URL
Sets the currently open page as the Start URL. This URL will be used as the entry point when a scan is triggered using this recorded session.
Set Verify URL
Sets the currently open page as the Verification URL. This URL is used to determine whether the session is successfully authenticated.
Start Auth
Marks the beginning of the authentication flow. All actions performed after clicking this button are recorded as Authentication Steps. Once activated, this button automatically changes to Stop Auth.
Stop Auth
Marks the end of the authentication flow. All actions recorded between Start Auth and Stop Auth are used to regenerate an authenticated session. Any actions performed after this point are marked as Post-Authentication steps.
Refresh
Re-applies page highlighting if elements are not properly detected or highlighted during recording.
Done
Finalizes the recording process and saves the recorded session.
Handling auth challenges during recording
The VNC browser toolbar includes an Auth Actions dropdown for dealing with OTPs, magic links, authenticator apps, and OCR image captchas.

Auth helper toolbar
TOTP
Indigo
Target shows a QR code or Base32 secret for an authenticator app
Email OTP
Green
Target sent a 6-digit code to the assigned identity selected for this session
Email Magic Link
Red
Target sent a sign-in link to the assigned identity selected for this session
Phone OTP
Purple
Target sent a text-message code for the phone number used in the recording flow
OCR Captcha
Blue
Target shows a captcha image and a textbox where the answer must be entered
How each button works
TOTP
A popup asks for the Base32 secret. Paste it, click OK. Then click the OTP input field on the page. The platform types the current 6-digit code.
Email OTP
No popup. Status bar shows "Email OTP ready". Click the OTP input field. The platform fetches mail for the selected identity, extracts the code, and types it.
Email Magic Link
No popup and no click needed. The platform fetches mail for the selected identity, extracts the link, and navigates directly to it.
Phone OTP
Use this when the target sends a text-message code. SMS handling happens through the product flow; messages are not directly forwarded for you to monitor separately.
OCR Captcha
Status bar first asks you to click the captcha image, then asks you to click the captcha input. The platform solves the image text and fills the input.

Where identities come from

Email OTPs and magic links are tied to the assigned identity selected in the recording form. Later scans poll only that exact inbox, so use one of the identities shown in the product rather than inventing a new plus-address suffix.
Phone OTPs are handled through Auth Actions in the VNC browser flow. SMS messages are not directly forwarded for separate monitoring.
For more info how this works refer to:
Handling Captcha/Email/Mobile OTPsStep 3: Explore Pre-Authentication Features
Navigate freely through the website: Click buttons, fill forms, and visit different pages.
All interactions are automatically categorized as pre-authentication data, building Pentest Copilot's baseline understanding of the site's public-facing elements.
Important: Record representative pages and buttons. You do not need to click every route in the application.
Step 4: Record Authentication and Post-Authentication Flows
Authentication is a critical phase, as it transitions the session from public to privileged access. Follow these steps to ensure accurate capture:
Navigate to the login page.
Click Start Auth in the recording interface.
This flags the start of the login process, allowing Pentest Copilot to distinguish authentication steps from general navigation.
Perform login actions:
Perform the browser actions that record the browser session.
Example (On the OWASP Juice Shop login page):
Click the email field
Paste credentials (e.g., admin@juice-sh.op).
Click the password field
Paste the credentials (e.g., admin123).
Click the Login button.
Note: Actions are recorded in real-time, including any multi-step verification. Make sure to wait till the status button turns green after every action.
Once authenticated, click Stop Auth
This finalises the browser session recording, stores the final browser session.
Explore post-authentication features:
Test role-specific functionalities (e.g., admin dashboard in Juice Shop).
Continue navigating to capture permission-based behaviors.
Lastly, configure an Authentication Verification URL. This URL is used to verify whether the recorded session is authenticated. During scanning, the system will visit this page to confirm the authentication state.
If needed, use Set Start URL to set the starting URL from where the scan will initiate.
What Gets Recorded

Each session captures the browser state needed for replay. Recorded elements include:
Cookies: All authentication and session cookies for maintaining logged-in state.
Local Storage: Persistent browser data (e.g., user preferences).
Session Storage: Temporary data tied to the current session.
Cache Storage: Pre-loaded resources to speed up replays.
Indexed DB: Client-side database entries.
Browser Actions: Sequence of interactions (clicks, keystrokes, form submissions) for step-by-step reproduction.
Authentication Verification URL: Page to visit to confirm/verify authentication
Authentication Verification Regex: A regex match is run against the authentication verification URL - if the matched, user is authenticated.
Page Hashes: Visual and content checksum to validate session stability and detect changes.
Last updated