From 7b7600178ee3e0edb664faf029a6f60385085bad Mon Sep 17 00:00:00 2001 From: user-github-me Date: Sat, 3 Oct 2026 12:11:01 +0800 Subject: [PATCH 1/5] feat: expand Interceptor into a complete local HTTP workbench (v1.1.0) --- AGENTS.md | 13 + CHANGELOG.md | 40 +++ PRIVACY.md | 30 +- README.md | 94 ++++- background.js | 121 ++++++- dashboard.css | 107 ++++-- dashboard.html | 181 +++++++++- dashboard.js | 588 ++++++++++++++++++++++++++----- docs/screenshots/collections.png | Bin 0 -> 110661 bytes docs/screenshots/comparer.png | Bin 0 -> 90406 bytes docs/screenshots/decoder.png | Bin 0 -> 69674 bytes docs/screenshots/history.png | Bin 378035 -> 119754 bytes docs/screenshots/inspector.png | Bin 0 -> 137273 bytes docs/screenshots/intercept.png | Bin 280892 -> 142983 bytes docs/screenshots/popup.png | Bin 116003 -> 42179 bytes docs/screenshots/repeater.png | Bin 257996 -> 155120 bytes docs/screenshots/runner.png | Bin 0 -> 144921 bytes docs/screenshots/sitemap.png | Bin 0 -> 100860 bytes http.js | 262 +++++++++++--- manifest.json | 4 +- package.json | 10 + popup.css | 43 ++- popup.html | 25 +- popup.js | 87 +++-- tests/background.test.js | 66 ++++ tests/browser-integration.mjs | 309 ++++++++++++++++ tests/browser-smoke.mjs | 112 ++++++ tests/dashboard.test.js | 47 +++ tests/http.test.js | 103 ++++++ tests/workbench.test.js | 44 +++ tests/workflow.test.js | 71 ++++ workbench.js | 196 +++++++++++ workflow-ui.js | 389 ++++++++++++++++++++ workflow.css | 69 ++++ workflow.js | 230 ++++++++++++ 35 files changed, 3002 insertions(+), 239 deletions(-) create mode 100644 AGENTS.md create mode 100644 CHANGELOG.md create mode 100644 docs/screenshots/collections.png create mode 100644 docs/screenshots/comparer.png create mode 100644 docs/screenshots/decoder.png create mode 100644 docs/screenshots/inspector.png create mode 100644 docs/screenshots/runner.png create mode 100644 docs/screenshots/sitemap.png create mode 100644 package.json create mode 100644 tests/background.test.js create mode 100644 tests/browser-integration.mjs create mode 100644 tests/browser-smoke.mjs create mode 100644 tests/dashboard.test.js create mode 100644 tests/http.test.js create mode 100644 tests/workbench.test.js create mode 100644 tests/workflow.test.js create mode 100644 workbench.js create mode 100644 workflow-ui.js create mode 100644 workflow.css create mode 100644 workflow.js diff --git a/AGENTS.md b/AGENTS.md new file mode 100644 index 0000000..d9d133f --- /dev/null +++ b/AGENTS.md @@ -0,0 +1,13 @@ +# Repository workflow + +- Read the source and project documentation before changing the extension. +- Work on a feature branch and create a pull request for each update. +- Never push changes directly to `main`; do not merge or publish without the + user's instruction. +- Unpublished work for this upgrade stays in version `1.1.0`. Bump the version + for a subsequent release after this update is published. +- Keep the extension local, dependency-free, and compatible with Manifest V3. +- Package runtime files and icons only, with `manifest.json` at the ZIP root. +- Keep builds, store assets, signing keys, and private notes under ignored `local/`. +- Never read, print, export, or search for API keys or signing-key contents. +- Verify changed request behavior with meaningful regressions and browser checks. diff --git a/CHANGELOG.md b/CHANGELOG.md new file mode 100644 index 0000000..ed1f88c --- /dev/null +++ b/CHANGELOG.md @@ -0,0 +1,40 @@ +# Changelog + +## 1.1.0 β€” 2026-10-03 + +### Added + +- Site Map grouped by origin, method, and path with counts, statuses, average timings, query fields, History links, and endpoint export. +- Inspector for repeated query/form fields, exact JSON values, cookies, response headers, and cookie attributes. +- Payload Runner with sequential sends, delays, timeouts, stop/cancel, response-text checks, result comparison, replay, and CSV export. +- Collections with names, folders, notes, import/export, shared `{{variables}}`, and opt-in local persistence. +- cURL import, Repeater duplication, request timeouts, five response snapshots per tab, and compare-previous. +- Hex encode/decode, SHA-256/SHA-512 hashing, and a keyboard tool switcher (⌘/Ctrl+K). + +- URL include/exclude safety scope for automatic field rewriting. +- HAR import and method, status, type, URL, header, and body filtering. +- Side-by-side response Comparer with JSON normalization and unified diff export. +- Local Decoder for JSON, URL encoding, Base64, HTML entities, and JWT inspection. +- Dependency-free Node tests for the HTTP engine and analysis helpers. + +### Improved + +- Refined dark and light themes, navigation, spacing, empty states, keyboard focus, and narrow-screen layouts. +- JSON display and Decoder formatting preserve large numeric values exactly. +- JSON and query rewrites preserve unrelated source formatting, encoding, and large numbers. +- Multipart rules skip file uploads and match form field names exactly. +- Repeater response reads and HTTP history now have bounded memory use. +- Repeater tabs are kept in memory unless the user explicitly enables local persistence. +- Saved Repeater drafts from previous versions are preserved on upgrade. +- Tab-only Auto mode state expires with the browser session. + +### Fixed + +- Runner waits for header-rule cleanup after each request, including cancellation and timeout. +- Missing variables and unsupported cURL options block sending/importing. +- Runner sends at most 50 payloads to one origin, with capped previews. +- Collection imports and Inspector inputs have size limits; collection exports omit workspace variables. +- Incomplete upload bodies are no longer treated as safe to rewrite. +- Custom HTTP methods are shell-quoted in copied cURL commands. +- Failed forwards remain in the intercept queue when they can be retried. +- Temporary Repeater header rules are awaited and cleaned when the dashboard closes. diff --git a/PRIVACY.md b/PRIVACY.md index fd5e5e0..caebb52 100644 --- a/PRIVACY.md +++ b/PRIVACY.md @@ -1,14 +1,15 @@ # Privacy Policy β€” Interceptor -_Last updated: 2026-09-29_ +_Last updated: 2026-10-03_ Interceptor is a browser extension for inspecting and modifying the HTTP traffic of web pages you are testing. This policy explains what it does with data. ## Short version -**Interceptor does not collect, store remotely, sell, or transmit any of your -data. Everything happens locally in your browser.** +**Interceptor does not collect, store remotely, sell, or send your data to the +developer. Traffic analysis happens locally in your browser.** Repeater and Runner +send requests to the target you choose when you click Send or Start run. ## What the extension accesses @@ -26,21 +27,34 @@ The extension stores the following **locally** using the browser's `chrome.storage.local` API, on your own computer: - your settings and Auto-mode rules, -- your Repeater tabs (the raw requests you save). +- your Repeater tabs only when you enable **Remember tabs locally** (off by default). +- Collections, request notes, and workspace variables only when you enable + **Remember workspace locally** (off by default). -Captured HTTP history exists only in memory while the panel is open and is -discarded when you close it or clear it. Nothing is written to any remote server. +Existing saved Repeater tabs are preserved when upgrading from earlier versions. +You can disable **Remember tabs locally** to remove those saved drafts. + +Captured or imported HTTP history, response snapshots, Inspector data, Runner +results, Comparer inputs, decoded values, and Auto logs +exist only in memory while the panel is open and are discarded when you close it +or clear them. Nothing is written to any remote server. + +Exporting a collection, HAR, or Runner CSV creates a file at your request. +Collection exports omit workspace variables, but raw requests can still contain +cookies or tokens. Imported cURL commands are parsed as text and never executed. ## What is NOT done -- No data is sent to the developer or to any third party. +- No data is sent to the developer, advertisers, or analytics services. - No analytics, tracking, or telemetry of any kind. - No accounts, and no remote code is loaded or executed. ## Your control You choose which tab(s) the extension attaches to. Detaching, turning Auto mode -off, or removing the extension stops all processing. Locally stored settings are +off, and stopping Runner end those operations. Disable either persistence option +to clear its saved data; current workspace data remains in memory until closed. +Locally stored settings are removed when you uninstall the extension. ## Contact diff --git a/README.md b/README.md index 1b72c67..8e24a4f 100644 --- a/README.md +++ b/README.md @@ -27,9 +27,17 @@ Because it's built on the Chrome DevTools Protocol, it can truly **pause, edit, ## Features - 🧲 **Intercept** β€” pause requests (and responses) and edit the raw method, path, query, headers or body before they continue. Forward, drop, or forward-and-catch-the-response. -- πŸ“œ **HTTP History** β€” a live table of every request from the target tab, with full headers (including `Cookie`/`Set-Cookie`), bodies, timing and size. Filter by text/regex, pretty-print JSON, copy as cURL, export **HAR**. +- πŸ“œ **HTTP History** β€” a live table of every request from the target tab, with full headers (including `Cookie`/`Set-Cookie`), bodies, timing and size. Search URLs, headers, and bodies; filter by method/status/type; import or export **HAR**. - πŸ” **Repeater** β€” hand-craft a raw request and fire it as many times as you like. What you type is exactly what goes on the wire β€” including `Cookie`, `Origin`, `User-Agent` and `Sec-*` headers. -- ⚑ **Auto mode** β€” force one or more fields to a fixed value on **every** request, automatically. Purpose-built for **price-tampering / server-validation tests**. Toggle it for **this tab** or **all tabs** from the toolbar popup β€” no manual attach step. +- πŸ“₯ **cURL import** β€” paste a command from DevTools to create an editable Repeater request. Nothing executes or sends during import. +- πŸ—‚οΈ **Collections & variables** β€” organize named requests in folders with notes. Reuse `{{host}}`, `{{baseUrl}}`, or your own variables across Repeater and Runner. Import/export portable collections and optionally keep the workspace locally. +- πŸ§ͺ **Runner** β€” replace a value with `{{payload}}`, try up to 50 values sequentially, and inspect status, timing, size, and response-text checks. Cancel a run, export CSV, or compare results. +- πŸ—ΊοΈ **Site Map** β€” group captured requests into endpoints by origin, method, and path. See call counts, statuses, timing, and query field names; jump back to History or replay an endpoint. +- πŸ”Ž **Inspector** β€” read query/form fields, nested JSON values, request cookies, response headers, and `Set-Cookie` attributes. Send any field to Decoder. +- ⚑ **Auto mode** β€” force one or more fields to a fixed value automatically. Limit changes with URL include/exclude patterns, then run against **this tab** or **all tabs** from the toolbar popup. +- βš–οΈ **Comparer** β€” send responses from History or Repeater into a side-by-side line diff, with optional JSON normalization and a copyable unified diff. +- πŸ”“ **Decoder** β€” JSON, URL, Base64, hex, HTML entities, JWT inspection, and SHA-256/SHA-512 hashes, all locally. +- πŸ•˜ **Response snapshots** β€” Repeater retains the last five responses for each tab and compares successive sends. Set a request timeout and duplicate requests with one click. - 🧩 Works in **Brave, Chrome and Edge**. Pure JavaScript, **no build step**, no dependencies, no data leaves your machine. ## Screenshots @@ -43,11 +51,23 @@ Because it's built on the Chrome DevTools Protocol, it can truly **pause, edit, HTTP history
HTTP History β€” full request/response, copy as cURL, export HAR. Repeater
Repeater β€” edit a raw request and replay it. + + Response comparison
Comparer β€” spot the changed fields. + Local decoder
Decoder β€” inspect and transform encoded values. + + + Payload runner
Runner β€” repeat validation tests with different values. + Request collections
Collections β€” organize requests and reusable variables. + + + Captured endpoint map
Site Map β€” understand the API your app uses. + Request field inspector
Inspector β€” read fields and cookie attributes. + ## Install (from source) -There's no store listing yet β€” load it unpacked in about a minute: +Install [Interceptor from the Chrome Web Store](https://chromewebstore.google.com/detail/jlckafabkmodidmgpkghjihifieibfgg), or load the source unpacked in about a minute: 1. **Download** this repo (`git clone` or *Code β†’ Download ZIP* and extract). 2. Open your browser's extensions page: @@ -59,7 +79,7 @@ There's no store listing yet β€” load it unpacked in about a minute: 5. Pin **Interceptor** to the toolbar. Done. ```bash -git clone https://github.com//interceptor.git +git clone https://github.com/user-github-me/interceptor.git # then "Load unpacked" β†’ select the interceptor/ folder ``` @@ -68,20 +88,35 @@ git clone https://github.com//interceptor.git ### Test a payment flow in 15 seconds (Auto mode) 1. Click the **Interceptor** toolbar icon. -2. Choose **All tabs** (or **This tab**). The default rule already forces the common payment fields to `1`. -3. Use your app's checkout. Every `amount`, `payableAmount`, `totalAmount`, … goes out as `1`. -4. Check your server: did it re-price server-side, or did it trust the client? If the order total drops, your validation is bypassable. +2. Under **URL safety scope**, add your local or staging URL, such as `localhost:*/*` or `*.staging.example.com/api/*`. +3. Choose **All tabs** (or **This tab**). The default rule already forces common payment fields to `1`. +4. Use your app's checkout. Every in-scope `amount`, `payableAmount`, `totalAmount`, … goes out as `1`. +5. Check your server: did it re-price server-side, or did it trust the client? If the order total drops, your validation is bypassable. -Every rewrite is recorded in the panel's **Auto log** and **HTTP History**, so you always have a record of what changed. +Open the panel to see rewrites in the **Auto log**. Attach to the app's tab to also record its full **HTTP History**. ### Inspect & tamper by hand (Intercept) -1. Open the panel (**Open panel β†’** in the popup) and pick your app's tab under **Target tab**, then **Attach**. Your browser shows an *"Interceptor started debugging this browser"* banner β€” that's expected; it's how the extension gets low-level access. +1. Click **Open workbench β†’** in the popup and pick your app's tab under **Target tab**, then **Attach**. Your browser shows an *"Interceptor started debugging this browser"* banner β€” that's expected; it's how the extension gets low-level access. 2. Click **Intercept is OFF** to turn it **ON**. 3. Use your app. Requests pause in the queue β€” edit anything and **Forward** (⌘/Ctrl+Enter), or **Drop** them. ## How it works +### Reusable validation tests + +1. Send a captured request to **Repeater**, or use **Import cURL** to bring one in from DevTools. +2. Save it to **Collections** and add a name, folder, and reproduction notes. +3. Set workspace variables as `name=value`, one per line. For example, `host=localhost:3000` can be used as `Host: {{host}}` in a saved request. +4. Click **Send to Runner**. Replace the value you want to vary with `{{payload}}`, then put one value on each line in **Payloads**. Values are inserted literally; include quotes for JSON strings or URL encoding for query values. +5. Set the delay and timeout, then **Start run**. Each result can be opened in Repeater or compared with the first result. Starting the run sends all listed requests to the chosen target. + +Runner uses one origin per run, sends one request at a time, and follows no redirects. It checks literal response text when you supply an expected value. **Stop** cancels the current request and remaining payloads. Missing variables block sending. Collections exports include request text but omit workspace variables; raw requests may still include credentials you pasted. + +Use **⌘/Ctrl+K** to jump to any workbench tool. + +## Architecture + Interceptor is built on the **Chrome DevTools Protocol (CDP)** via the `chrome.debugger` API β€” the only way an extension can genuinely pause and mutate live traffic (the `webRequest` API can observe and block, but not rewrite bodies or edit responses). ``` @@ -89,7 +124,8 @@ Interceptor is built on the **Chrome DevTools Protocol (CDP)** via the `chrome.d β”‚ Toolbar popup (popup.js) β”‚ β”‚ Dashboard page (dashboard.js)β”‚ β”‚ β€’ Auto mode on/off β”‚ β”‚ β€’ Intercept queue + editor β”‚ β”‚ β€’ scope: this tab / all β”‚ β”‚ β€’ HTTP history + HAR β”‚ -β”‚ β€’ field β†’ value rules β”‚ β”‚ β€’ Repeater β”‚ +β”‚ β€’ field β†’ value rules β”‚ β”‚ β€’ Repeater + HAR import β”‚ +β”‚ β€’ URL safety scope β”‚ β”‚ β€’ Comparer + Decoder β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ chrome.storage β”‚ CDP: Fetch + Network β–Ό β–Ό (its own debuggee) @@ -125,38 +161,64 @@ Each rule is a list of **field names** (comma-separated) plus one **value**. A f Matching is **case-insensitive on the whole field name** (`AmountToPay` matches `amountToPay`), a field you didn't list (like `quantity`) is left untouched, and JSON types are preserved (a numeric field stays a number). The default rule covers the usual suspects: `amount, payableAmount, payingAmount, amountToPay, paymentAmount, totalAmount, grandTotal, orderTotal, subtotal, price, unitPrice, amountDue, netAmount, finalAmount, chargeAmount, billAmount, totalPrice, payment` β€” add your app's own field names in the popup. +Use **URL safety scope** to constrain those rules. Each line can be plain text, a glob such as `*.example.test/api/*`, or a regular expression such as `/^https:\/\/api\.example\.test\//i`. Globs match the whole URL, or the host and path when you omit the scheme. Plain text matches anywhere in the URL. Regex flags `i`, `m`, `s`, and `u` are supported. A blank include list allows all HTTP(S) URLs; exclusions always win. Invalid patterns pause automatic rewriting until fixed. Tab-only targets live in session storage, so a browser restart cannot accidentally reuse an old tab ID. + ## Permissions | Permission | Why | |---|---| | `debugger` | The core: pause, edit, forward and drop live requests/responses via CDP. | | `tabs` | List tabs to target and coordinate attach/detach. | -| `storage` | Remember your rules, settings and Repeater tabs. | +| `storage` | Remember settings and rules; Repeater tabs, Collections, and variables only when local persistence is enabled. | | `webRequest` | Show the *"Actual request sent"* view in Repeater. | | `declarativeNetRequestWithHostAccess` | Let Repeater send otherwise-forbidden headers (`Cookie`, `Origin`, `User-Agent`, …) exactly as typed. | +| `clipboardWrite` | Copy raw messages, cURL commands, decoded output, and diffs when you click a copy button. | | `` | You decide which of *your* sites to test; traffic never leaves your machine. | -Nothing is sent anywhere. There are no analytics, no network calls of the extension's own β€” everything runs locally. +There are no analytics or telemetry. Traffic is processed locally; Repeater sends requests only to the target you choose. ## Limitations - One **manually-attached** tab at a time for the deep intercept/history/repeater workflow (Auto mode can cover all tabs). - WebSockets and Server-Sent Events aren't intercepted. -- Bodies are edited as UTF-8 text; for binary bodies (file uploads) leave the body untouched and the original bytes are sent. +- Bodies are edited as UTF-8 text; binary and oversized bodies are passed through unchanged. History keeps up to 2,500 entries, 750,000 characters per body, and a 64-million-character total text budget. Repeater previews up to 4 MB per response. +- Repeater drafts stay in memory by default. Enable **Remember tabs locally** to keep them across panel sessions; existing saved drafts are preserved on upgrade. +- Collections and variables stay in memory unless **Remember workspace locally** is enabled. Runner is limited to 50 payloads and keeps capped response previews. Site Map covers recorded/imported traffic; it does not crawl sites. +- cURL import supports literal URLs, method, headers, body, cookies, Basic auth, and redirects. Unsupported options and file uploads are rejected instead of silently omitted. - Browsers can't send a body with `GET`/`HEAD`, so Repeater can't either. - Traffic from other-process iframes and some service workers may not be captured. - For a self-signed HTTPS dev cert, open the URL in a tab and accept it once before using Repeater. ## Development & tests -Pure JS, no build. The request/response engine in `http.js` is covered by Node unit tests, and the extension is verified end-to-end by driving a real Brave instance over CDP (intercept edit/drop, response tampering, history capture, repeater header handling, and Auto mode across query/JSON/form/multipart and both scopes). +Pure JS, no build and no runtime dependencies. Run the tracked Node test suite and syntax checks with: + +```bash +npm test +npm run check +``` + +The browser integration check uses a local echo server and an isolated Chromium +profile with the unpacked extension loaded and remote debugging enabled: + +```bash +node tests/browser-integration.mjs http://127.0.0.1:9226 +``` + +It checks debugger attachment, request/response edits, Auto scope and worker +handoff, Repeater headers and rule cleanup, response limits, HAR import, +Inspector, Site Map, variables, Runner cancellation, snapshots, and workspace persistence. ``` manifest.json MV3 manifest background.js service worker β€” Auto mode engine + tab coordination popup.html/.js/.css toolbar popup β€” Auto mode scopes & rules -dashboard.html/.js/.css the panel β€” intercept, history, repeater +dashboard.html/.js/.css the panel β€” intercept, history, repeater, comparer, decoder http.js dependency-free HTTP + rewrite engine (unit-tested) +workbench.js HAR import, comparer, and decoder helpers +workflow.js cURL import, variables, endpoint mapping, and inspection helpers +workflow-ui.js/.css collections, Inspector, Site Map, Runner, and tool switcher +tests/ Node tests for parsing, rewriting, scope, HAR, diff, and codecs icons/ extension icons docs/screenshots/ images used in this README ``` @@ -167,7 +229,7 @@ This is a tool for testing **your own** applications, or ones you have **explici ## Contributing -Issues and PRs are welcome β€” bug reports, new default field names, and UI polish especially. Keep it dependency-free and match the existing style. If you change the rewrite engine, add a unit test in the same spirit as the existing ones. +Issues and PRs are welcome β€” bug reports, new default field names, and UI polish especially. Keep it dependency-free and match the existing style. If you change the rewrite engine, add a unit test in the same spirit as the existing ones. Work on a feature branch and submit a pull request; updates are reviewed before merging into `main`. ## License diff --git a/background.js b/background.js index 2e05b89..4318c07 100644 --- a/background.js +++ b/background.js @@ -13,10 +13,25 @@ importScripts('http.js'); /* global HTTP */ -const S = { autoMode: false, autoScope: 'all', autoTabId: null, autoRules: [] }; +const S = { + autoMode: false, + autoScope: 'all', + autoTabId: null, + autoRules: [], + autoInclude: '', + autoExclude: '', +}; const attached = new Set(); // tabIds this worker attached for Auto mode +const repeaterRuleIds = new Set(); // temporary DNR rules owned by an open dashboard let dashboardTabId = null; // tab currently owned by the dashboard (excluded) let autoCount = 0; +let dashboardPorts = 0; +let repeaterChain = Promise.resolve(); +function serializeRepeater(fn) { + const run = repeaterChain.then(fn, fn); + repeaterChain = run.catch(() => {}); + return run; +} // ---- serial op queue (prevents attach/detach/claim races) ---- let opChain = Promise.resolve(); @@ -29,25 +44,30 @@ function serial(fn) { // ---- state ---- async function loadState() { try { - const { settings } = await chrome.storage.local.get('settings'); + const [{ settings }, session] = await Promise.all([ + chrome.storage.local.get('settings'), + chrome.storage.session.get('autoTabId'), + ]); const s = settings || {}; S.autoMode = !!s.autoMode; S.autoScope = s.autoScope === 'tab' ? 'tab' : 'all'; - S.autoTabId = typeof s.autoTabId === 'number' ? s.autoTabId : null; + S.autoTabId = typeof session.autoTabId === 'number' ? session.autoTabId : null; S.autoRules = Array.isArray(s.autoRules) ? s.autoRules : (s.autoParam ? [{ param: String(s.autoParam), value: s.autoValue ?? '1' }] : []); + S.autoInclude = String(s.autoInclude || ''); + S.autoExclude = String(s.autoExclude || ''); } catch { /* keep current */ } } const names = () => S.autoRules.flatMap((r) => HTTP.splitNames(r && r.param)); -const isOn = () => S.autoMode && names().length > 0; +const scopeErrors = () => HTTP.urlInScope('https://interceptor.invalid/', S.autoInclude, S.autoExclude).errors; +const isOn = () => S.autoMode && names().length > 0 && !scopeErrors().length && (S.autoScope === 'all' || S.autoTabId != null); const shouldHandle = (tabId) => tabId !== dashboardTabId && (S.autoScope === 'all' || (S.autoScope === 'tab' && tabId === S.autoTabId)); function autoInScope(url) { - if (!/^https?:/i.test(url)) return false; - return !HTTP.isStatic('', url); + return !HTTP.isStatic('', url) && HTTP.urlInScope(url, S.autoInclude, S.autoExclude).allowed; } const cmd = (tabId, method, params) => chrome.debugger.sendCommand({ tabId }, method, params); @@ -59,13 +79,21 @@ let ready = serial(init); async function init() { await loadState(); try { - const sess = await chrome.storage.session.get(['dashboardTabId', 'attachedTabs', 'autoCount']); + const sess = await chrome.storage.session.get(['dashboardTabId', 'attachedTabs', 'autoCount', 'repeaterRuleIds']); dashboardTabId = sess.dashboardTabId ?? null; if (typeof sess.autoCount === 'number') autoCount = sess.autoCount; const targets = await chrome.debugger.getTargets(); const live = new Set(targets.filter((t) => t.attached && t.tabId != null).map((t) => t.tabId)); for (const id of (sess.attachedTabs || [])) if (live.has(id)) attached.add(id); + for (const id of (sess.repeaterRuleIds || [])) if (Number.isInteger(id)) repeaterRuleIds.add(id); } catch { /* ignore */ } + // A dashboard may have closed while this worker was asleep. + const dashboards = await chrome.tabs.query({ url: chrome.runtime.getURL('dashboard.html') }); + if (!dashboards.length) { + dashboardTabId = null; + await chrome.storage.session.set({ dashboardTabId: null }); + await clearRepeaterRules(); + } await syncNow(); } @@ -73,10 +101,7 @@ async function attachRaw(tabId) { if (attached.has(tabId)) return; try { await chrome.debugger.attach({ tabId }, '1.3'); - } catch (e) { - // "already attached" by us after a race is fine; by the dashboard / gone β†’ skip. - if (!/already attached/i.test(e.message || '')) return; - } + } catch { return; } attached.add(tabId); saveAttached(); try { @@ -132,7 +157,8 @@ async function onPaused(source, params) { try { if (isOn() && shouldHandle(id) && autoInScope(req.url)) { const rb = HTTP.requestBodyText(req); - const textBody = rb.known ? rb.text : ''; + const canRewriteBody = rb.known && rb.text.length <= 750_000; + const textBody = canRewriteBody ? rb.text : ''; const mod = HTTP.applyParamRules( { method: req.method, url: req.url, headers: req.headers, body: textBody }, S.autoRules, @@ -144,7 +170,7 @@ async function onPaused(source, params) { method: req.method, headers: HTTP.headersToList(req.headers).filter((h) => h.name.toLowerCase() !== 'content-length'), }; - if (rb.known && HTTP.norm(mod.body) !== HTTP.norm(rb.text)) cont.postData = HTTP.utf8ToB64(mod.body); + if (canRewriteBody && HTTP.norm(mod.body) !== HTTP.norm(rb.text)) cont.postData = HTTP.utf8ToB64(mod.body); await cmd(id, 'Fetch.continueRequest', cont); autoCount++; saveCount(); @@ -166,6 +192,31 @@ function broadcast(method, mod, tabId) { }).catch(() => {}); } +function saveRepeaterRules() { + return chrome.storage.session.set({ repeaterRuleIds: [...repeaterRuleIds] }).catch(() => {}); +} + +function clearRepeaterRules() { + return serializeRepeater(clearRepeaterRulesNow); +} +async function clearRepeaterRulesNow() { + const ids = [...repeaterRuleIds]; + repeaterRuleIds.clear(); + await saveRepeaterRules(); + if (ids.length) { + try { await chrome.declarativeNetRequest.updateSessionRules({ removeRuleIds: ids }); } catch { /* already gone */ } + } +} + +chrome.runtime.onConnect.addListener((port) => { + if (port.name !== 'dashboard') return; + dashboardPorts++; + port.onDisconnect.addListener(() => { + dashboardPorts = Math.max(0, dashboardPorts - 1); + if (!dashboardPorts) clearRepeaterRules(); + }); +}); + // ---- lifecycle & coordination ---- chrome.debugger.onDetach.addListener((source, reason) => { const id = source.tabId; @@ -191,6 +242,7 @@ chrome.storage.onChanged.addListener((changes, area) => { if (area === 'session' && changes.dashboardTabId) { serial(async () => { dashboardTabId = changes.dashboardTabId.newValue ?? null; await syncNow(); }); } + if (area === 'session' && changes.autoTabId) sync(); }); const maybeAttach = (tabId) => serial(async () => { @@ -202,7 +254,8 @@ chrome.tabs.onRemoved.addListener((tabId) => { if (attached.delete(tabId)) saveAttached(); if (S.autoScope === 'tab' && S.autoTabId === tabId) { chrome.storage.local.get('settings').then(({ settings }) => { - chrome.storage.local.set({ settings: { ...(settings || {}), autoMode: false, autoTabId: null } }); + chrome.storage.session.set({ autoTabId: null }).catch(() => {}); + chrome.storage.local.set({ settings: { ...(settings || {}), autoMode: false } }); }).catch(() => {}); } }); @@ -230,7 +283,45 @@ chrome.runtime.onMessage.addListener((msg, sender, reply) => { reply({ ok: true }); } else if (msg && msg.type === 'getAutoStatus') { await loadState(); - reply({ on: isOn(), scope: S.autoScope, tabId: S.autoTabId, count: autoCount, attached: [...attached] }); + reply({ + on: isOn(), scope: S.autoScope, tabId: S.autoTabId, count: autoCount, + attached: [...attached], include: S.autoInclude, exclude: S.autoExclude, scopeErrors: scopeErrors(), + }); + } else if (msg && msg.type === 'setRepeaterRule' && msg.rule && Number.isInteger(msg.rule.id)) { + try { + await serializeRepeater(async () => { + const tabId = sender.tab?.id; + const tab = tabId == null ? null : await chrome.tabs.get(tabId); + if (tab?.url !== chrome.runtime.getURL('dashboard.html')) throw new Error('Repeater dashboard is closed.'); + repeaterRuleIds.add(msg.rule.id); + await saveRepeaterRules(); + await chrome.declarativeNetRequest.updateSessionRules({ removeRuleIds: [msg.rule.id], addRules: [msg.rule] }); + // A close event can arrive while the browser installs the rule. + try { await chrome.tabs.get(tabId); } + catch { + await chrome.declarativeNetRequest.updateSessionRules({ removeRuleIds: [msg.rule.id] }); + repeaterRuleIds.delete(msg.rule.id); + await saveRepeaterRules(); + throw new Error('Repeater dashboard is closed.'); + } + }); + reply({ ok: true }); + } catch (error) { reply({ ok: false, error: error.message }); } + } else if (msg && msg.type === 'removeRepeaterRule' && Number.isInteger(msg.ruleId)) { + await serializeRepeater(async () => { + await chrome.declarativeNetRequest.updateSessionRules({ removeRuleIds: [msg.ruleId] }); + repeaterRuleIds.delete(msg.ruleId); + await saveRepeaterRules(); + }); + reply({ ok: true }); + } else if (msg && msg.type === 'incrementAutoCount') { + autoCount++; + await saveCount(); + reply({ ok: true, count: autoCount }); + } else if (msg && msg.type === 'resetAutoCount') { + autoCount = 0; + await saveCount(); + reply({ ok: true, count: autoCount }); } else { reply({}); } diff --git a/dashboard.css b/dashboard.css index f8dfd2f..8cc8356 100644 --- a/dashboard.css +++ b/dashboard.css @@ -1,10 +1,11 @@ :root { - --bg: #16181d; - --panel: #1e2128; - --panel2: #252932; - --border: #323743; - --text: #e3e6ec; - --muted: #8b93a3; + color-scheme: dark; + --bg: #10141c; + --panel: #171d28; + --panel2: #202837; + --border: #2c3546; + --text: #e7ecf5; + --muted: #9aa7bb; --accent: #ff7a1a; --accent-dim: #ff7a1a33; --green: #3fbf7f; @@ -16,8 +17,10 @@ } @media (prefers-color-scheme: light) { :root { - --bg: #f4f5f7; --panel: #ffffff; --panel2: #f0f1f4; --border: #d8dbe2; - --text: #1d2129; --muted: #69707d; --sel: #dbe7ff; --accent-dim: #ff7a1a22; + color-scheme: light; + --bg: #f5f7fb; --panel: #ffffff; --panel2: #eef2f8; --border: #dce3ed; + --text: #202c40; --muted: #60718a; --sel: #e3edfc; --accent-dim: #ff7a1a15; + --accent: #b94d00; --green: #168453; --blue: #2466b5; --red: #c63543; --yellow: #946600; } } * { box-sizing: border-box; } @@ -30,11 +33,15 @@ body { button, select, input, textarea { font: inherit; color: inherit; } button { background: var(--panel2); border: 1px solid var(--border); border-radius: 6px; - padding: 5px 11px; cursor: pointer; white-space: nowrap; + padding: 6px 12px; cursor: pointer; white-space: nowrap; min-height: 30px; + transition: background .15s, border-color .15s, box-shadow .15s; } -button:hover:not(:disabled) { border-color: var(--accent); } +button:hover:not(:disabled) { border-color: var(--accent); background: var(--accent-dim); } button:disabled { opacity: .45; cursor: default; } -button.primary { background: var(--accent); border-color: var(--accent); color: #fff; font-weight: 600; } +button.primary { background: var(--accent); border-color: var(--accent); color: #111722; font-weight: 700; } +button.primary:hover:not(:disabled) { background: var(--accent); filter: brightness(1.1); } +button:focus-visible, summary:focus-visible { outline: 2px solid var(--accent); outline-offset: 3px; } +@media (prefers-color-scheme: light) { button.primary, .toggle.on { color: #fff; } } button.danger:hover:not(:disabled) { border-color: var(--red); color: var(--red); } select, input { background: var(--panel2); border: 1px solid var(--border); border-radius: 6px; padding: 5px 8px; @@ -47,11 +54,12 @@ label.chk { display: inline-flex; align-items: center; gap: 5px; cursor: pointer /* top bar */ .topbar { - display: flex; align-items: center; gap: 14px; padding: 8px 14px; + display: flex; align-items: center; gap: 20px; padding: 13px 20px; background: var(--panel); border-bottom: 1px solid var(--border); flex-wrap: wrap; } -.brand { display: flex; align-items: center; gap: 8px; font-weight: 700; font-size: 15px; } -.brand img { width: 20px; height: 20px; } +.brand { display: flex; align-items: center; gap: 10px; font-weight: 750; font-size: 17px; letter-spacing: -.025em; } +.brand img { width: 32px; height: 32px; padding: 5px; background: var(--accent-dim); border-radius: 9px; } +.brand-caption { display: block; color: var(--muted); font-size: 10px; font-weight: 400; letter-spacing: .015em; margin-top: 1px; } .target { display: flex; align-items: center; gap: 6px; flex: 1; min-width: 300px; } .target select { flex: 1; min-width: 0; max-width: 560px; } .pill { padding: 3px 10px; border-radius: 999px; font-size: 12px; font-weight: 600; white-space: nowrap; } @@ -60,21 +68,31 @@ label.chk { display: inline-flex; align-items: center; gap: 5px; cursor: pointer .pill.hot { background: var(--accent-dim); color: var(--accent); } /* nav */ -.tabs { display: flex; gap: 2px; padding: 0 10px; background: var(--panel); border-bottom: 1px solid var(--border); } +.tabs { display: flex; align-items: center; gap: 6px; padding: 8px 20px; background: var(--panel); border-bottom: 1px solid var(--border); overflow-x: auto; } .tabs button { - border: none; border-bottom: 2px solid transparent; border-radius: 0; background: none; - padding: 9px 14px; color: var(--muted); font-weight: 600; + display: inline-flex; align-items: center; gap: 7px; + border: 1px solid transparent; border-radius: 7px; background: none; + padding: 7px 13px; color: var(--muted); font-weight: 600; } -.tabs button.active { color: var(--text); border-bottom-color: var(--accent); } +.tabs button.active { color: var(--accent); background: var(--accent-dim); border-color: var(--accent-dim); } +.tabs button:hover:not(:disabled) { background: var(--panel2); border-color: transparent; } +.nav-icon { font: 19px/1 var(--mono); width: 18px; text-align: center; } +.local-label { margin-left: auto; white-space: nowrap; color: var(--muted); font-size: 11px; display: flex; align-items: center; gap: 7px; padding-left: 15px; } +.local-label > span { width: 6px; height: 6px; border-radius: 50%; background: var(--green); } .badge { background: var(--accent); color: #fff; border-radius: 999px; padding: 0 7px; font-size: 11px; margin-left: 4px; } .count { color: var(--muted); font-weight: 400; margin-left: 4px; font-size: 12px; } main { min-height: 0; position: relative; } .view { display: none; height: 100%; flex-direction: column; min-height: 0; } .view.active { display: flex; } +.view-heading { display: flex; align-items: center; gap: 15px; justify-content: space-between; padding: 17px 22px 14px; background: var(--bg); flex: none; } +.view-heading h1 { margin: 0; font-size: 19px; letter-spacing: -.025em; font-weight: 650; } +.view-heading p { margin: 3px 0 0; font-size: 12px; color: var(--muted); } +.key-hint { color: var(--muted); font: 11px var(--mono); white-space: nowrap; padding: 6px 9px; border: 1px solid var(--border); border-radius: 6px; } +.key-hint b { font-weight: 400; color: var(--text); } .toolbar { - display: flex; align-items: center; gap: 8px; padding: 8px 12px; flex-wrap: wrap; + display: flex; align-items: center; gap: 8px; padding: 10px 18px; flex-wrap: wrap; flex: none; border-bottom: 1px solid var(--border); background: var(--panel); } .toolbar.small { padding: 5px 10px; } @@ -86,7 +104,7 @@ main { min-height: 0; position: relative; } .meta { color: var(--muted); font-family: var(--mono); font-size: 12px; margin-left: auto; } .pane-title { - display: flex; align-items: center; gap: 10px; padding: 6px 10px; font-weight: 600; font-size: 12px; + display: flex; align-items: center; gap: 10px; padding: 9px 14px; font-weight: 600; font-size: 11px; min-height: 36px; flex: none; color: var(--muted); text-transform: uppercase; letter-spacing: .04em; border-bottom: 1px solid var(--border); background: var(--panel); } @@ -120,25 +138,29 @@ button.mini { padding: 1px 7px; font-size: 11px; margin-left: auto; } .stage.request { background: #5aa9ff26; color: var(--blue); } .stage.response { background: #3fbf7f26; color: var(--green); } .editor-pane { flex: 1; display: flex; flex-direction: column; min-width: 0; } -.empty { color: var(--muted); padding: 14px 16px; } +.empty { color: var(--muted); padding: 20px; font-size: 12px; line-height: 1.7; } +.empty b { color: var(--text); font-weight: 600; } .empty ol { padding-left: 18px; margin: 6px 0; } -.empty li { margin: 4px 0; } +.empty li { margin: 8px 0; } .empty.center { text-align: center; padding: 40px; } .warn { background: #f2c14e22; color: var(--yellow); padding: 6px 10px; border-bottom: 1px solid var(--border); font-size: 12px; } textarea, pre.raw { - flex: 1; margin: 0; padding: 10px 12px; border: none; resize: none; min-height: 0; + flex: 1; margin: 0; padding: 15px 17px; border: none; resize: none; min-height: 0; background: var(--bg); font-family: var(--mono); font-size: 12.5px; line-height: 1.5; white-space: pre-wrap; word-break: break-all; overflow: auto; tab-size: 2; } textarea:disabled { opacity: .7; } +textarea::placeholder, input::placeholder { color: var(--muted); opacity: .7; } +input[type="checkbox"] { accent-color: var(--accent); } +* { scrollbar-width: thin; scrollbar-color: var(--border) transparent; } /* history */ .history-layout { display: flex; flex-direction: column; flex: 1; min-height: 0; } .table-wrap { flex: 1 1 45%; overflow: auto; min-height: 80px; border-bottom: 1px solid var(--border); resize: vertical; } table { width: 100%; border-collapse: collapse; font-family: var(--mono); font-size: 12px; } thead th { position: sticky; top: 0; background: var(--panel); text-align: left; padding: 6px 8px; border-bottom: 1px solid var(--border); color: var(--muted); font-weight: 600; z-index: 1; } -tbody td { padding: 4px 8px; border-bottom: 1px solid var(--border); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 420px; } +tbody td { padding: 7px 9px; border-bottom: 1px solid var(--border); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; max-width: 420px; } tbody tr { cursor: pointer; } tbody tr:hover { background: var(--panel2); } tbody tr.selected { background: var(--sel); } @@ -174,6 +196,43 @@ td.path { max-width: 520px; } .seg button { border: none; border-radius: 0; padding: 2px 10px; font-size: 11px; text-transform: none; letter-spacing: 0; background: none; color: var(--muted); } .seg button.active { background: var(--accent-dim); color: var(--accent); } +/* comparer */ +.compare-inputs { display: flex; flex: 0 0 36%; min-height: 150px; border-bottom: 1px solid var(--border); } +.compare-inputs .pane { flex: 1; min-width: 0; display: flex; flex-direction: column; } +.compare-inputs .pane + .pane { border-left: 1px solid var(--border); } +.compare-result { flex: 1; min-height: 0; overflow: auto; } +.diff-table { table-layout: fixed; } +.diff-table td { max-width: none; white-space: pre-wrap; word-break: break-all; vertical-align: top; padding: 2px 7px; } +.diff-table td:nth-child(3), .diff-table td:nth-child(5) { width: calc(50% - 42px); } +.diff-table .diff-no { width: 38px; color: var(--muted); text-align: right; user-select: none; } +.diff-table .diff-mark { width: 18px; text-align: center; color: var(--muted); user-select: none; } +.diff-remove td:nth-child(-n+3) { background: #ff5c5c1c; } +.diff-add td:nth-child(n+4) { background: #3fbf7f1c; } +.diff-change td:nth-child(-n+3) { background: #ff5c5c1c; } +.diff-change td:nth-child(n+4) { background: #3fbf7f1c; } +.diff-notice td { color: var(--yellow); background: #f2c14e14; } + +@media (max-width: 820px) { + .topbar { gap: 8px; } + .target { min-width: 100%; order: 2; } + .local-label, .key-hint { display: none; } + .tabs { padding: 6px 10px; gap: 2px; } + .tabs button { padding: 7px 9px; } + .view-heading { padding: 12px 16px; } + .view-heading p { max-width: 430px; } + .split2, .compare-inputs { flex-direction: column; } + .split2 .pane + .pane, .compare-inputs .pane + .pane { border-left: 0; border-top: 1px solid var(--border); } +} +@media (max-width: 580px) { + .intercept-split { flex-direction: column; } + .queue { width: 100%; min-width: 0; max-height: 32%; border-right: 0; border-bottom: 1px solid var(--border); resize: none; } + .view-heading p { display: none; } + .target label, .target #reloadTabBtn { display: none; } +} +@media (prefers-reduced-motion: reduce) { + *, *::before, *::after { animation: none !important; transition: none !important; } +} + .toast { position: fixed; bottom: 18px; right: 18px; max-width: 460px; padding: 10px 14px; border-radius: 8px; background: var(--panel2); border: 1px solid var(--border); box-shadow: 0 6px 24px #0006; diff --git a/dashboard.html b/dashboard.html index 6844d6a..78cedc8 100644 --- a/dashboard.html +++ b/dashboard.html @@ -6,10 +6,11 @@ Interceptor +
-
Interceptor
+
InterceptorYour HTTP workbench
@@ -21,15 +22,23 @@ Not attached
- @@ -162,9 +167,10 @@ s - + +
Response assertions status, headers, JSON fields, body, time & size

Example: [{"type":"status","equals":200},{"type":"json","path":"/ok","equals":true}] Β· JSON Pointer paths Β· no scripts executed

Request edit freely · Ctrl/⌘+Enter to send
@@ -285,22 +291,52 @@
Payloads one per line; inserted exactly as typed
Use quotes in payloads when a JSON value should be a string.
No run yet
+
Assertions & payload presets
Replaces the payload list. Assertions run for every response.
#PayloadStatusTimeBytesCheck
Send a request from Repeater, replace a value with {{payload}}, and add the values to try. Starting a run sends every listed request to your chosen target.
Selected result

Collections

Keep useful requests together and switch targets with reusable variables.

{{variable}} in requests and targets
- In memory
+ Saved on this PC
Saved request edits are kept automatically
Notes
+
Saved response assertions
+
+

API Builder

Build an API request, add authentication, and check the response.

Local first Β· {{variables}} supported
+
Ready
+
+ +
+ + +
Response assertions

Types: status, header, json, bodyContains, time, size. Open Repeater for examples.

+
Response
+
+
+

Security Review

Review captured evidence, then verify behavior with a controlled comparison.

Observations need context
+
Review is passive; it sends no requests.
+
Compare a request with and without credential headers

Select a captured request, or use the active Repeater tab. This sends two requests to the same origin with redirects disabled. The second omits Authorization, Cookie and API key headers. Credentials in the URL or body remain; inspect those separately.

+
+
+
+

WebSockets

Inspect messages sent and received by the attached browser tab.

Passive Β· no message injection
+
Attach a tab in Intercept to capture frames.
+
#DirectionSocketTypePreview
Live WebSocket messages appear here while a tab is attached. Up to 1,000 frames; each preview is capped at 20,000 characters.
Selected frame
+
+
+

Workspace

Your requests, history, responses, and results. Saved on this PC.

Opening local database…
+

Local storage

Work is saved automatically in this browser profile’s local database. No account, cloud sync, or telemetry. Stored requests and backups can contain cookies, tokens, and personal data.

+

Download & restore everything

Back up history, requests, response snapshots, collections, settings, environments, tool drafts, findings, frames, and run results. Live debugger sessions are started manually.

Use the same password to import an encrypted backup. Passwords are never saved.

+

Environments

Switch between local, staging, and other test accounts. Active environment values override the shared variables in Collections.

Recovered paused edits

Saved text from requests or responses paused in a previous session. These drafts do not restart interception or send traffic.

+

Import cURL

Paste a single command copied from DevTools. It is parsed locally; importing does not send it.

@@ -310,7 +346,10 @@ + + + diff --git a/dashboard.js b/dashboard.js index f0d7df1..41a93f5 100644 --- a/dashboard.js +++ b/dashboard.js @@ -1,5 +1,5 @@ 'use strict'; -/* global HTTP, Workbench, Workflow, workflowState, bindWorkflow, renderSiteMap, renderCollections, renderInspector, renderRunner, workspaceVariableText */ +/* global HTTP, Workbench, Workflow, Lab, workflowState, bindWorkflow, renderSiteMap, renderCollections, renderInspector, renderRunner, workspaceVariableText, labState, bindLab, queueLocalSave, renderAssertionResults, renderSecurity, renderWorkspace, renderWebSockets, captureWebSocket */ const $ = (s) => document.querySelector(s); const $$ = (s) => [...document.querySelectorAll(s)]; @@ -28,7 +28,7 @@ const state = { settings: { requests: true, responses: false, skipStatic: true, filter: '', disableCache: false, historyHideStatic: false, historySearchContent: true, - prettyJson: true, repPretty: true, repRemember: false, comparePretty: true, + prettyJson: true, repPretty: true, repRemember: true, comparePretty: true, autoMode: false, autoRules: [{ param: HTTP.DEFAULT_PARAMS, value: '1' }], autoInclude: '', autoExclude: '', }, @@ -205,6 +205,7 @@ async function loadSettings() { } catch { /* defaults */ } } function saveSettings() { + queueLocalSave(); const settings = { ...state.settings }; delete settings.autoTabId; chrome.storage.local.set({ settings }).catch(() => {}); @@ -394,6 +395,10 @@ async function applyFetchNow() { chrome.debugger.onEvent.addListener((source, method, params) => { if (!state.attached || source.tabId !== state.tabId || source.sessionId) return; switch (method) { + case 'Network.webSocketCreated': + case 'Network.webSocketClosed': + case 'Network.webSocketFrameSent': + case 'Network.webSocketFrameReceived': captureWebSocket(method, params); break; case 'Fetch.requestPaused': onRequestPaused(params); break; case 'Network.requestWillBeSent': onRequestWillBeSent(params); break; case 'Network.requestWillBeSentExtraInfo': onRequestExtra(params); break; @@ -582,6 +587,7 @@ async function autoForward(p, req, reqBody, mod) { /** Log an auto-rewrite and mark the matching history row edited. */ function recordAuto(p, req, mod, bodyChanged) { + queueLocalSave(); state.autoCount++; chrome.runtime.sendMessage({ type: 'incrementAutoCount' }).then((result) => { if (typeof result?.count === 'number') { state.autoCount = result.count; updateStatus(); renderAutoLog(); } @@ -610,6 +616,7 @@ function recordAuto(p, req, mod, bodyChanged) { /** Record an auto-rewrite that the background worker made on another tab. */ function recordAutoExternal(entry) { + queueLocalSave(); state.autoCount = typeof entry.count === 'number' ? entry.count : state.autoCount + 1; state.autoLog.unshift({ id: ++state.seq, @@ -989,12 +996,14 @@ function markHistoryEdited(item, rel) { } function touchHistory(e) { + queueLocalSave(); scheduleHistoryRender(); if (e.id === state.selectedHistoryId) scheduleDetailRender(); } let historyRenderPending = false; function scheduleHistoryRender() { + queueLocalSave(); $('#historyCount').textContent = String(state.history.length); if (historyRenderPending) return; historyRenderPending = true; @@ -1346,8 +1355,9 @@ function repeaterName(raw) { return m ? `${m[1]} ${m[2].split('?')[0]}`.slice(0, 40) : 'request'; } -function newRepeater({ raw = DEFAULT_RAW, target = 'http://localhost:3000', follow = false } = {}) { - const r = { id: ++state.repSeq, raw, target, follow: !!follow, response: '', sent: '', meta: '', view: 'res', abort: null, snapshots: [], snapshotId: null }; +function newRepeater({ raw = DEFAULT_RAW, target = 'http://localhost:3000', follow = false, assertions = '[]' } = {}) { + if (state.repeaters.length >= 100) { toast('Keep up to 100 Repeater tabs; save or close older tabs first.', 'error'); return activeRepeater(); } + const r = { id: ++state.repSeq, raw, target, follow: !!follow, assertions, tests: [], response: '', sent: '', meta: '', view: 'res', abort: null, snapshots: [], snapshotId: null }; state.repeaters.push(r); state.activeRepeaterId = r.id; renderRepeater(); @@ -1371,6 +1381,8 @@ const activeRepeater = () => state.repeaters.find((r) => r.id === state.activeRe let saveTimer; function saveRepeaters() { + queueLocalSave(); + if (labState.ready) return; clearTimeout(saveTimer); if (!state.settings.repRemember) { chrome.storage.local.remove(['repeaters', 'activeRepeaterId']).catch(() => {}); @@ -1426,6 +1438,7 @@ function renderRepeater() { $('#repEditor').value = r.raw; $('#repTarget').value = r.target; $('#repFollow').checked = !!r.follow; + $('#repAssertions').value = r.assertions || '[]'; renderRepeaterResponse(); } @@ -1444,6 +1457,7 @@ function renderRepeaterResponse() { $('#repViewSent').classList.toggle('active', r.view === 'sent'); const pre = $('#repResponse'); const snapshot = snapshots.find((item) => String(item.id) === String(r.snapshotId)); + renderAssertionResults($('#repTests'), snapshot?.tests || r.tests || []); const text = r.view === 'sent' ? (snapshot?.sent ?? r.sent) : (snapshot?.response ?? r.response); if (r.view === 'res' && state.settings.repPretty && text) { const i = text.indexOf('\n\n'); @@ -1494,10 +1508,12 @@ async function readResponseLimited(res, limit) { } async function sendRepeater(r, options = {}) { + if (labState.activeTest && !options.lab) return toast('Finish or stop the credential comparison first.', 'error'); if (typeof workflowState !== 'undefined' && workflowState.runner.running && !options.runner) return toast('Stop the Runner before sending another request.', 'error'); if (r.abort || repeaterBusy) return toast('Wait for the current Repeater request to finish or cancel it.', 'error'); - let p, target; + let p, target, assertions; try { + assertions = Lab.parseAssertions(r.assertions || '[]'); const prepared = options.prepared || Workflow.prepareRequest(r.raw, r.target.trim() || 'http://localhost', workspaceVariableText(), options.extra || {}); target = new URL(prepared.target); p = prepared.parsed; @@ -1604,15 +1620,19 @@ async function sendRepeater(r, options = {}) { repeaterBusy = false; r.abort = null; r.snapshotId = null; + r.tests = Lab.runAssertions(assertions, r.response, result); + result.tests = r.tests; + recordWorkbenchResponse(r, p, result, t0); if (!options.quiet && r.response) { r.snapshots ||= []; const id = (r.snapshotSeq || 0) + 1; r.snapshotSeq = id; const cap = (text) => text.length <= 200_000 ? text : text.slice(0, 200_000) + '\n[Snapshot preview truncated]'; - r.snapshots.push({ id, label: `${id} Β· ${result.status || result.error} Β· ${fmtMs(result.duration)}`, response: cap(r.response), sent: cap(r.sent) }); + r.snapshots.push({ id, label: `${id} Β· ${result.status || result.error} Β· ${fmtMs(result.duration)}`, response: cap(r.response), sent: cap(r.sent), tests: r.tests }); if (r.snapshots.length > 5) r.snapshots.shift(); } if (r.id === state.activeRepeaterId) { renderRepeaterResponse(); renderRepeater(); } + queueLocalSave(); } return result; } @@ -1634,6 +1654,9 @@ function switchView(name) { if (name === 'collections') renderCollections(); if (name === 'inspector') renderInspector(); if (name === 'runner') renderRunner(); + if (name === 'security') renderSecurity(); + if (name === 'workspace') renderWorkspace(); + if (name === 'websocket') renderWebSockets(); } function bindUi() { @@ -1861,6 +1884,7 @@ async function cleanupStale() { await refreshTabs(); await loadRepeaters(); await bindWorkflow(); + await bindLab(); updateStatus(); renderQueue(); renderAutoLog(); diff --git a/docs/screenshots/builder.png b/docs/screenshots/builder.png new file mode 100644 index 0000000000000000000000000000000000000000..73bdffe721a706bacfd31b66dcbaa4931928243a GIT binary patch literal 134463 zcmd43RZtyW*ELFTcXtaKAh^4`L+~KM-JRg>!QI{63GVLh?(Up^zW05;`m4^l{4dVF z=%RPA+t%ti#~gEv6{;X7jsS}b3jzXyASofD1Oft)4FUqz4Gju>BXc162?Bx)A}J!M z;+lSz0imrTjW>XFHnW~XOhZFVL*eY=;xgFqdSdd}z+JTtd<@u$Lj-BoH|sncFJa+w z1MDwvKPx!6xlJb0IUS4-yo@Iz=0+wYi35;@ph^DO3{Mop{qGLRGCnN+|LzSxC~W=j zKT0$PgF^k!FaFuo@}hJ6=l8%~+<8v7;J=UC78RvG5xi^Y=tesf`=gr}$iM2jraPZ*!)s?Mp zOayU!Yc%lOLZoJL86?P+z{r>dW$EbI*!cM5h7^!nRD^{kWZ>V?la=<6S=H1d#tdU( zK0Y=WzGRFo=A5iE90{B$;0Vad>PTxrEhZvo#Uv+>qo+IiS*Rx!=Y0|oU_9%!ISUPS zMZhC-z_X$eFsTeZ!m7&eszmuiJuELT|7EnFJK7zT&nI;43)z0gC)md3F*5zJ^f*XW z8$l6?w^*SC71gy^+2MYlD&S3Uv~6~JVqt1-BK8;y449&%<{bntm|>_2GaH5G5DN=S z!`%FwkRM<1o0IqQ(1M#`pyh-=v1DYgJB`oG!gM?g-t~2l4~7$r2x3FA1R@TqP%Y!J zj=!*Y>faMcfq)RTAyf1Da*bLe7|)1^h=9$|Fbvud7+R(L5CLy$Y<%HIlwK?qc3?^w z;g~v3-F3Gnj!!ED%79GIO{h454eh8a&n`^Me<)iFE2^3xZaDZQ;LB=X2TZ zDzk>Z8I}KI5-0#ovYdD~u{C6oOwEkZYdEj#_0jp1%j4g>y6Q20GH<)t>U3I>rI#0k z;OOMk+tXt_mVW;c5-r3Trx}%BqAm@(ATF@s*Q0$ufxS|zBDyKZz3e*SCq8) za*u~d#0UDhKbnY1qXHd;!))?!KD#p^XFDnMw?od zE*V9k=d*o>$GyGdSXoKQ^Tm3ba*^C*S{KL%ue;;rS_vAy#bPC$Zo6yEPJc`YrF`aC zI_vB8?%-e)VPkc5jD%5@`vCCi>qErlc{&)^y12M_f4R3COH&sYhoWpf-1e;#7Zv5? z#8A*S77-Ciph;k5VF^p3`WoZtf05@K%h{R?%wOai+Nqg^&@gD}kIJx;7KB!M4dPB| z;#&)INQidn9iI-nAB|crWMA8b=hq*Cw`TmM9mswP0v8|LkmiNwS!TB@-`_BZ!QMppZ#7GBhL; zn=ezB7wri{r@nbiRh_q(V`68=nn%#M7-nQ+qgNSnTAt|-TS6{$Z!m|rIkcH;F4eAhN_V9F$oQMX6H!c(`;-#Ef(Vm!7hTf z@i9ilvqMPmn4f6-N5trX-2HMY39{tGPeFL9+H@mh6cqCm(jH)di>XvsiC~Q{#e3Ju zGx-x{&nOw+`UM%@*A5zSPC=gTrXDPkn4EmCKRjtieFzE>u_c;-pAhf$m)H*Q6(T-| zsfh_?DPCx3Xj+rydW}QU(`m%qaGG0qlIwgP*lUYGa%2`fId%PfVg0&Eif zbFR2{v#s58Si-bDcZ=PwSbrGCJ6kEVJOjhEfR)v`nR3zDaveJ{u>kzuoMqq47=45?4=lpRbgs`AU7ehlh_3=UTo-;I$WIn==1QqtlpEI2HyNl0E(a z5t{j#>BYH)cq!KTUs@dRSPvKp6_ydF{i?ewUvaoBvnreKI(b)snbK;Neh0;h#@aIG z3nu?8bqOV@6vlHdFjTBjh8VPy^i4yh(o*9|r9#PVXiC3GK7)ms8NDiWajb!*f+Q}hb=cMY>3kZ~FH}#dKUCgFSNe=>#dzl{POfizp+J}crU^6&d0S3S z0fLwC6B1Z~u(C9R94Y}G!B->j_#wT@p*-j99*=UK z(_16^w7Jo~zJfPDFA6%#wWf33ZarLVcF9WNvz7Y8!hZTx=}>Z^J22AgbbjL!i@;YM z>44`0qCl>ErFKhSv4|5`GlreAh|~Lv6QjPxVg;6$jI3-tWx4(SNN(?KLlO1|5R!7E z6A}_gmx7UqO055zg(aLtl(ioDE3K&n_=wp9B8bUM{L#NlNzmvNm%wnY1(f;+L^A}! zNgMHDyuu_#^`t!ata=FT@S_H$zS)wHg?zSxI;%LEhew9jk&E;-srNxJZK-9F?_PfH zzoXF6oij{}eVtE)M?i=d`8ojUV!6go>m)Abt0H3=*uiHs- z4}U0wC(=MT8&tO5>3q9gE+=zgm!*2MI#QXzsEl}gj*HVCoG?z}1R7QJM+X=Lgm()4 zmD+#|ejoj<-yeRS(+Ja>{mUBgMCkb6{^wbGMx*wJH(Jjd^c6E=e?-NR9|mP3!mH+DPXt*NOF?M4f&F?T_; z5RK1oy;eA$#-QE4R3L5QdA?C`dVjjO+2PUUI7})oF8%~h#K`o#tzM;jzLdj@55z`` z`O;rTMtfO4Q8QCh5;8LQEUprsp6w!})O#l@^=9z^UVtay%D2l4@_RdvOHO8p=diT2 zWGmNuJ$t?tL%<8;`8LlrNEVu9XcG3-3Frz7YB#UYHg~& z|M{rK@Zczi-EESH_VWAYC*wZsOCd4-4NX0tL^SSP23QdOG8V%`41!}CJARbe3^ zrB?9i&84AY-F3|t2W}qEr>CoFA56oA#YKy`Y~5JWK)nw44(E4@eS{#$hs*FQ|DXtD zXp$~Q;1$0pkSf>dXqSH6(5SK_AHjq}n`5>rXh-8aVdpDebdaDj&n#GNOHNH)`k@tm zQCv*5*<_QKr@ZP@VVC#9ZnN(F`jBx|x3oW|Sf0H40T%3Y*9}}2YPNlcGX1lz<{*Vo(%O|^o z(LyU!s-@(XSu0K_{azNEAJbJfH3t2y&ZqQ7e6)!SUe`POXPgd!GGe7U86#C-K@oHF zvs#U|7e(^5QQCxqo)xQ3Ts{wT`*4RULF~*;#R@H@gX^oARh>4M zvwjEZ5|GL!GkMufw|x{IA&+}E`EF+KL^dPTBXBtzKRdIB?Lt#qU_(f)M>Vn`8%CBb4+waI$Kt?cF)OLaYjYTFCI1KvPb}8VyLi)x zSK?ggnHlMxk{IHEyt`~Ox%}XyhQpsNl=*YOBG$v%!Rk-+X~&9AEdEC!NK!oT5TrLm2|6)&~R|#JnP@54oK*IO{SS4!;^G9o@I_ z@$s)GCz3&z1hOe`C*~%jhM){%&RwJVne<|CY%x#H@TLL)~6d zk|OF8w?pX00|_p-X#o$2>WVEiG2*(IWDD?}&u%^k1*R-VmrJe$%*lx;AWXvRc(` zlt}?F$Byw1ZE4W`DLeMjDXl?oC@3iC%ia0o$NMWjr#*SgnBM4V(&S)toEalBu4er) zi`f|RuRL0?n)=%5Y1Nvmh}hVg5{-oi>zUsjI&zK@0p#${*!6g6b?SeV=C51TJu2T=tdKvE1QpB&)p@DNzXW^vpDZn~oU zo6F@AkL6MKUt#eAM;I@UM}arl)TWQ8X(BV-R#)A+!pPW(?OsU1^`qCpY!5=Dp9K2g zu6IK@K2aIOLzJ06K^)!(#z9H;OsLi7&L`GABzf9g&g)+;?}b{Y=jPUGocsd=A>eJ` zBhiPlkV*?;8qRLtX6!cKw3*6e%A?xra8N7QwhQOfE{S}1W0H(|nI#cBL@48Bjya7` z71$Lzdi8sA`o(d+E4eZZzwNv_jnPp5lOQ!{}X%((%}6wL8BH&Aa$DqFSu2 zs;o@Q#dUI&0~SrRF<6Dzayw@=wKTLu&c=2y(hsLjpMkaOVo$wPZ3dS-AWz7@*5wh* zo)2k7vu_ z(L1yv7ZkE-aJ4QT`C*~*J3&=$H+zCMAIGyrVP;E`2AG13Crc&a*t*KfyT`L8BVF{m zwdh1>XlUYt?LZp(Ot)-Bv`jc*H7EIaqjWKZJ`tI7FAZ>966%rl~Z|n0fNi>;dg&i5xUj68Nt&Rzr z^6k(NbTl`6c)~Ycx3ll~r`pxF9b)6x&|V+t_O73mgGjus54gYcu4bRi9MtJjf)AB> zq!Uh@O6Q8f;1E7chUqa%=`Y<$#pdM}~!d)Md51 zdHLoU7y%Mwak18tU3xI2A6|3egvXXMTW9xf9&x#~7=9=RkIjOwBZD2xYN4_?GxK(I z$#1k|x>O^J%Z|-+g%tgY6prPU*wgV3Nw3$_Rn2F%erKo6 z`1ly+SlU-CgkP&KcNgr)KJnr|YJ{H6lm~hloo>M4Aso+UZpVgucPV84qScuG#ZMlw z_|QeN@LWB(he9Ht)~pY?33NPNfq7oYTO{&3YZ>kMxWv%$xbyn_5RQYB%v9`|L?s}Y zt&{%*s)PHJY1O;GI;#yH4EbN0qY1fToIt426L3*n9^*J24xTojhDY2&q>QKI_HFf= zU7vdgqZ`cC)G;||RB4b9AWnkH(cf9I`t$VtTW_(xDS~&iKAf{3RcRr zR<;`H>(fsZA!9MC;j0#@MFNRUV7=Rw=tA^8XdG?-5~R=(1{(t&4k@_xiw`gsQ%^X! zBM<2`dzw>&k92bg%~||DDA?FP3hQ5!{-}S8?xK`S$Al)~hX{b5vvj#|zdPmsvE5=c z-EJTn-p$-{b)7es%r-nURIIuh^}S1-UeEJ+WL}?a09s>o0gK5uPx0dEJu?oC50yhV zptymHq;BB7XMW^t;ib&-Oy6cWbFucPk8Tp-m6Dzw-GglMN&w!>=;b`w?wr&Q3K^$p zr^Ly#<~upBYp~;l$CHDV&=7OSYmV`%vc~725>~!aw?Vy*WYL~n*c#^-jTefEqRFf* zUXN|H{Fu;CJ6l_c4W5?uFm$mr2pwPy|Bk9xC4fnjpUju32}(qa1_cIZaC(sNXjAZT za$``b6ceMLKLrFFPU_`82Ne|*h(6c;s&8o6+1c%<(Zs>CD3eN{=~iqpfPgO|;Psvv znaR~|VKTi&+Y>e@noP$MzuEHtfNaIAv9m)W;`6?-8cc|R2Y-JH$6{c$SlHPMH3WNk zyqv00_J_P5e7CV2Rw~fn`leeywcde_?<*(>1_|GT%pm5O#Gn;cNzi)zJ-pTNyz+aL zSOoS)vmF`u!`mR#%bm@L=u z`CF%46y@dqIJ2-2RMF(L`rvkJG)ww(icX__YGnm?VdVW4>E-SikFE(^R#s**i`!p0 zo07+V&Qx1nbK+GvpU+EJq)|gu+p>RTK9kQo|7^3w!$w)TPMsn16c2lkVQVelt*ovn z>b3oPVn2qP>N|*#zx|e&td^$6Do?u)((d2tb{f?RyVDod{q7GUe)KnV(7Msnds-qJ z1_y_5bJo*(E}V0dv4s${+;XW^stN0dw=`pVzuyE3XSPG= zz78c8T;m=&v@RZQT|h#DSzLe(b3?Y>qUHI8QDu1%_pLgrCMK}&t5zeBv=<*QH`Tp| zd7O|x%wQu$Y;C`@j80N_MFfCI&LKeDxKVA6jS93mJznr8NLRld2&@ZuSL(DJ^~JtJ zz_ldUGEfd-o=pL%$?<-t#inVX@}ip$yO^c8Y& zXIqfRmFMAn4=Pr`O8^%oqU_Y>u#wQif^>i|am&Q+J!ZE0ntZr*{FE{|8c@w4Bd zJmGxl;?mY>B8#YWa~7|g(d^2;Qi<4Or+?ot(=ilggU&>H6)&%TWw3a_QYPDd8aBy@~7Kf^EX^nfqSV;da!t5Nq2_kkA9=o+KUF3J5VDgWJ zuk#tnw+mUGpNA+7PHJKoo9O7+jKJsXD-rMxZRJ95)nqOG?6BUg$EnjFtkmqJdX{92 z)9cdB*rk+4<-1wx2(6Gf0;T)wg3Vp>byAhK#d;|x z-<4j6K}}se8seM9gy&K>ZPKtDm-(IocUwBM@puZai*HKG^4##Q>VVtpL&fgU6g1a?;YnXxkPYvqx;8{)5fJc0_$BE@eu=^G zj}n0eWn&eef$1A;`1R*{Oo1%3*c6M7d=Wz+LPf?dK1*38!E*fCAOCs~8C?(-?LVR9I4}#An%2lC1yfl*2PESvDI6UyPn2Vx99wlPr zC88oC{3c6wgXuH)ISrnEvh# z@@qM&muRD$d&SkG2+d5KbS(-G2_Qf!3f~P2I0@_MRMdM61DQ?GUo44W#CV|$FWPVJ z%C1T3=$Q2M)yjw3!q$lu+!WK`ckKcUg=Xk;1S;{5EsHO^eLcoZ;*WK>uRLGp9Vq4+ zqxm1zI{NKWi0%0mI<`^90k#2wU?-9V4Qnk)uJw6xYi+DeNv9;6OtyWii0@^EVJU)G z91)KS=BOeiEe#;SKobu8N7YFh0B&||Zcc>LXdHK5Mn-n(N~g;WPE8G{9Uz`-AE!jJ z=d!w7VSF+&Zh9eOq`nrLO{?j)ID>%#gp5;M{0kKLMq<_4-PU$**`iJN7bmc$*PQ~| znD0|-=--aM1+lQP2^E1#!Xh95#0++8sDOmAAK&4u$>h`_`ksw?sKXw&qp4n_Ws2FX z$=%61RO9BInKJltT*zl#Qxkw!PwtMHiJjkAEec8F-0x3Fuil>Fz6Uf~pKp#_W6^87 zt~J+SFX6FS1|%gNehx(0**U8rD%2O_fo4;3diD*$VbRxH&9-`XxQF-vEFa)| z$Osu2^gN8?DPYuFZ%Q&|{nMK{frKwO*J3Nzs9~X@nPK$t-P+2=Q)k#+ERrYGY4cR% zjO*ZTqDyDK?VA=BM;t=OS;gm!0}oOFRRz^!NauckTaJ&3+4>51@J)~Bawf2jXrrsw zE!Kkr0@ZW-?D*Zo83;)5Q0C@d$C$c2F2;ikk%yC+aiW>Ch{OJ^C|jS`FY}|p`zGI% z$^$w(zrgmsx_Fnv`|M4t>tuI3z4;NaVVhnO}Vp{Se-ORG5BHlfP-ME&gvkbZ5j3-Ku~HkcDG_t=kKQ$znGVQ*0u|_D1PHNNci&tNr`-g3Y;EE9)%E z{F%z`@IsEgw^Ot3@!+oyFP_20s%Vxg4a;s6*l49G^u=r;A0=!|f*nH|KPDCu)7h0oD4Z-n7DGbUOq*g)#Y%1bAdZW#!;82e{PSL+y02SWAH_*|Ci63DnN&8cH?^j`{rd{(^)lilDfQJddysL%@&l$CSm-WFpfa zZ$3Mh;@i>AT9wUYr;kxLb!RvSL!SOcKwKis3vN#h`^iVFIp-bfr#h+iB5i1e?oPUW zt(ysi>@JC}D{s6b4f5uzRJwLjK|a_zDV z1BRPe91~hA-(i7%K86bb5MREGrxDeecEC8Xva00UnwpvCVtt%F!_^BukH zMMVWg`MjNRLht)&=MU*yq&3lHb#|I)}yaN%Ffu5e8 z%}u>I5fKWxRL{F3MnSd{v-LtJ+Wlh92FowZ`eQ$q5fk!0@jafVdu!EY=Z(jy$LT-=YJrq``OPmMc?+#&1BlDFx4lhN zFt9g=y?Xh5D^^o9*3&ul@`3Ea2ZC(@(pWaLjgbMiU?C+%W%Z`U*l~)WQqrN;C=w6n zp`>D32CbEu%}=n8u--|fP!*ZXmcU<+8$Kbyc_(#$7{<1m z_$I-9$(Tf%I|WTSWZAgE%p58hp1RQK={}i4g>^{(T#(-W`O2->_yP$k9t8cVTPT~x z=Tcb?g+{_Y{Yj=$rcvd&Zyxhqfgt2GI_x7Ss|)@uHDxptR&gC9=0!xDaPX~IJli5f z?^jPwf$GWxOrBz%?BK;SEC+2Ox9X7(EJWXD-Wg0lU$P>o_>U(nZZ&O=72y4n1c^9- zt}P(?bmRR(AUmD&-44LgIk+L#cODBvdcE}8OBjZBVPJNO4|++-9iOaM=iHBdF(VJ{ z*xT=~dWFS*sSuEml)p{fU1XfVh>)88Bu=GLtG~X!4;0B5-5@l1j0s1trS-bkOn1`) zYPs!Rs8dsmaF=IFa-Mvvi8YAb5B8Vs-a*L&Sx>C~!2CExQlNI05#8!;$QRxE9dmtH ztiM>b86Z_~#_xF~;Pd&r?vS3!qi1m8AnSt)ay#ZE>ds8v(*?R#m(!c=-e5Q^h6HLI+@b-nU&h9*R)h4u z$Z>q=xKL|21=b+fyn@1Dz2vjyCyQlPuNATBl6{o0WrU+IiQKxyn@Cg8@m)eLQ_>w} zw~y+}9NT$(hneW+Aw5u5(|H2Ri$aC9Z0icjPi2uLc+pjswI}@#-$XSj$$#= zBu8xIBaq)a*94RGIXhi0r4qhnQZ|8=9*I1cd>%V`C9F&fh!6H**JYq>-$DbP1RozCNK?Tn|C=k)mydUwAch`@>b^10_V1V}r=0ZbVUq@_b8Tz&@! zT0eV4FTuAkFo*qGb-tuLOQ(mQ{pc%Jt43t{$V_Tgni|#F;XMK|#nNkG=zk?Kly4?8 zxQjye@;O~ZkPM*N z9F0WF9`;nSx_dyEr}2`Ybz9) zvjBTu@RG#r652Uzk^paHp1sjAbhB@-rS$wZ+V!?>3Eym6v2flqe50^26DupMYYAMJ zXw<8`?q{Br2N4JQL_Rs~jBmbgWHNDf5BJ}fys0uS_K1r55ZTC+8O9%@0f1hvCa&O? zyTwwY>ts1Tn2W15Z{V|zF0f!eX~MTAv|Q}zYD0dA2Grm0yZubtCHrb&qs40^@%!;C zWuPn~Sc8n2OEJu3X2*9%wo1*sOnZqMmpJ~cyyl^RaEC8%Ua6LDb@EyK)C<~)SL_~UR>7T`5YHDf{U5|J~D)JL@5PgA^+5J7(ozCwAA=|>lVMw@4I~AL4s-sw| ztE<38Zg%o2GGGCyc0yS4#sX-o4lhE8E3Xvk{1T&{&9;Lh@j_=fVDmcZ^B{bLLU=bu zI>wzZ%cZ1|+g3cdw~&VxetB`2kPwi0YJ=O0Hf!$Z$AQy+1Cd73;!qG!WV_i+ z!NZ5lxCP}>A&@XDxP$F(Q%al7Zg^6TqnNT7UmO$Ey2Kc_?hxXZ0cjC~&xa?_>ri|U zVXtyXszio1pDX@2JesaE9(QzMV0J#s`uOALgOEaIDT4Nd+#(`(m&^k zM_+>r7NUzM-|P+N6&1a1{S{7__I_;VhgAt>p=XXwPOb(jjtj4sa6MsRen7Z&;54RJ zV(ug?Oa=xftY`rp`#1|wwYo8%3{|=Evc7kNaeF>XRpwT zETwiK9CSxWI|4|ZLVb%-$I8hV7z4Ddz{`*Og7055@vV+6rrO`<(eKQvFnx{6qnw5(0EQ9 z`nNqc>yz}If|2ge+e3L|L@WC}nHwccLPeft`btqiP}rZq`g3l3*=)Ho+`f8dpJv~M z##G;IzEhe3{C5PY5yeqP_eEer$eb?FShpovT&PIZ($I*);eDHVj(-?_coFSFI~Pon zJI{e)Nar_sC^vI=cNdQ$6n|%O+xh(NINPlM4re0oX!`g|W6D?-Pv59BJNz~u<}*Ap z(&On!@g}~tnL|)aFd!UjLUe+-u|6OFFF^ho%Vh~*K7=f9=j8A1`3k(F7kKlPi~eru`gJMa6$&^J4} zIyVQN6#WMtj}$F*E)Hg+#7HFwFd>S%I&DJm_O8q@AVAa&3utS zQ)R|N`5)P&A6@!zA3I^hx?6>KxVYsSZD06q55}-LwT*`@m+CS2-=~|fr275bd~#&0 z6RL)*pkvZUld1p~68r>mt$F4z*lSx`l1P{HOh64TuF~~~^=i%N$V{!rqMT{|HCBrA z^GJgV{TD-YfNw6-t$-DwHPX!FX(8fwgZ&&ypq-**UX1>n|EeaKFcV{P!%_`1_azzr2 zQYg7tA;%NI*nl>t$nuns#}(S&8Bj2YvlnXA6|&oCpUxE2-PF83Tm~mL84Z(CVZFaR zXuLkAN@383`3o@CFg7-_0l*7OShv*^$A5}e?VE$0U5ReR$^^kGAScM0Vf`nU3xVFG1z+q5_y{&a>EC}B|ejYt8sLShhX;yHB#Z>oK>UREy zH=An4X&r(6B=-gSX*dJ~zp_SiTqPe*)fq_ai?IQmj|2mQX$XS|%Tw=zWUX

6By5 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 literal 0 HcmV?d00001 diff --git a/docs/screenshots/security.png b/docs/screenshots/security.png new file mode 100644 index 0000000000000000000000000000000000000000..3265ae6ebbad98e1fee87f6b09fd2cc074935fe2 GIT binary patch literal 137796 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 WJpSs^PO}5@!!Y$ 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

VVXWT0X1T`w%}X>rf~N6Wk*O^&j?wfIrK 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�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 ZD2X_FGj)I|2HrWLuWj<6=HAoS{{>R7pKJgC literal 0 HcmV?d00001 diff --git a/docs/screenshots/workspace.png b/docs/screenshots/workspace.png new file mode 100644 index 0000000000000000000000000000000000000000..b390cf7b6f198a6fcc16b52bd9c20b6a79a96c6e GIT binary patch literal 126009 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 literal 0 HcmV?d00001 diff --git a/lab-ui.js b/lab-ui.js new file mode 100644 index 0000000..2dcbb72 --- /dev/null +++ b/lab-ui.js @@ -0,0 +1,439 @@ +'use strict'; +/* global Lab, LocalStore, HTTP, Workflow, state, workflowState, $, $$, toast, + escapeHtml, fmtSize, saveSettings, saveRepeaters, newRepeater, activeRepeater, + sendRepeater, repeaterBusy, workspaceVariableText, downloadLocal, switchView, + renderCollections, renderRepeater, renderHistory, renderHistoryDetail, + renderComparer, renderRunner, renderAutoLog, pruneHistory, historyRequestRaw, + historyResponseRaw, openInspector, addCollection, copyText, setRaw */ +const labState = { + ready: false, storageBlocked: false, environments: [], environmentId: null, environmentSeq: 0, + findings: [], websocketFrames: [], wsSeq: 0, wsSelected: null, interceptDrafts: [], + activeTest: false, controller: null, comparison: null, builder: null, pendingBackup: null, +}; +const socketUrls = new Map(); +let localSaveTimer, localSavePromise = Promise.resolve(); +let localSaveStarted = 0; +// Only drafts and view preferences, never file inputs, passwords used for backups, +// live tab IDs, debugger handles, or transient controllers. +const draftFields = [ + 'builderMethod', 'builderUrl', 'builderAuth', 'builderAuthName', 'builderAuthValue', + 'builderHeaders', 'builderBodyMode', 'builderBody', 'builderAssertions', + 'runnerTarget', 'runnerRequest', 'runnerPayloads', 'runnerDelay', 'runnerTimeout', 'runnerMatch', 'runnerAssertions', + 'inspectTarget', 'inspectRequest', 'inspectResponse', 'decoderAction', 'decoderInput', 'decoderOutput', + 'historyFilter', 'historyMethod', 'historyStatus', 'historyType', 'siteMapFilter', 'siteMapHideStatic', 'collectionFilter', 'repTimeout', 'wsFilter', +]; + +function captureWorkspace() { + const settings = { ...state.settings, repRemember: true, workspaceRemember: true }; + delete settings.autoTabId; + const fields = {}; + for (const id of draftFields) { + const input = $('#' + id); + if (input) fields[id] = input.type === 'checkbox' ? input.checked : input.value; + } + return JSON.parse(JSON.stringify({ + format: 'interceptor-backup', version: 1, extensionVersion: chrome.runtime.getManifest().version, + savedAt: new Date().toISOString(), workspace: { + settings, fields, history: state.history.map(({ requestId, ...entry }) => entry), + selectedHistoryId: state.selectedHistoryId, seq: state.seq, + repeaters: state.repeaters.map(({ abort, ...request }) => request), activeRepeaterId: state.activeRepeaterId, + collections: workflowState.collections, selectedCollectionId: workflowState.selectedCollectionId, + variables: workflowState.variables, environments: labState.environments, environmentId: labState.environmentId, + autoLog: state.autoLog, autoCount: state.autoCount, compare: state.compare, + runnerResults: workflowState.runner.results, runnerSelectedId: workflowState.runner.selectedId, runnerPlanned: workflowState.runner.planned, + findings: labState.findings, websocketFrames: labState.websocketFrames, + builder: labState.builder ? (({ abort, ...rest }) => rest)(labState.builder) : null, + comparison: labState.comparison, + interceptDrafts: [...labState.interceptDrafts, ...state.queue.map((item) => ({ raw: item.raw || '', url: item.url || '', stage: item.stage }))].slice(-100), + }, + })); +} + +function queueLocalSave() { + if (!labState.ready || labState.storageBlocked) return; + $('#localSaveStatus').textContent = 'Saving locally…'; + if (localSaveTimer && Date.now() - localSaveStarted > 1500) return; + if (!localSaveTimer) localSaveStarted = Date.now(); + clearTimeout(localSaveTimer); + localSaveTimer = setTimeout(() => { localSaveTimer = null; flushLocalSave().catch(() => {}); }, 350); +} + +async function flushLocalSave() { + if (!labState.ready) return; + if (labState.storageBlocked) throw new Error('Saved workspace could not be read. Import a backup before saving over it.'); + clearTimeout(localSaveTimer); + localSaveTimer = null; + const snapshot = captureWorkspace(); + localSavePromise = localSavePromise.catch(() => {}).then(() => LocalStore.write(snapshot)); + try { + await localSavePromise; + $('#localSaveStatus').textContent = 'Saved on this PC Β· ' + new Date(snapshot.savedAt).toLocaleTimeString(); + } catch (error) { + $('#localSaveStatus').textContent = 'Local save failed Β· download a backup'; + toast(`Local workspace could not be saved: ${error.message}`, 'error'); + throw error; + } + return snapshot; +} + +function restoreWorkspace(workspace, imported = false) { + // Files are validated before this point; no imported identifiers can attach a tab. + for (const key of imported ? Object.keys(state.settings) : []) { + if (['autoTabId', 'autoMode'].includes(key) || !Object.hasOwn(workspace.settings || {}, key)) continue; + const value = workspace.settings[key]; + if (typeof value === typeof state.settings[key]) state.settings[key] = value; + } + if (imported) state.settings.autoMode = false; + state.settings.repRemember = true; + state.settings.workspaceRemember = true; + state.history = workspace.history; + pruneHistory(); + state.selectedHistoryId = state.history.some((item) => item.id === workspace.selectedHistoryId) ? workspace.selectedHistoryId : null; + state.autoLog = workspace.autoLog; + state.autoCount = Number(workspace.autoCount) || 0; + state.seq = Math.max(0, ...state.history.map((e) => e.id), ...state.autoLog.map((e) => e.id)); + state.repeaters = workspace.repeaters.map((r) => ({ ...r, abort: null, assertions: r.assertions || '[]', tests: r.tests || [], snapshots: r.snapshots || [], view: r.view === 'sent' ? 'sent' : 'res' })); + state.repSeq = Math.max(0, ...state.repeaters.map((r) => r.id)); + state.activeRepeaterId = state.repeaters.some((r) => r.id === workspace.activeRepeaterId) ? workspace.activeRepeaterId : state.repeaters[0]?.id; + if (!state.repeaters.length) newRepeater(); + workflowState.remember = true; + workflowState.variables = workspace.variables || ''; + workflowState.collections = Workflow.importCollection({ format: 'interceptor-collection', version: 1, requests: workspace.collections }).map((r, i) => ({ ...r, id: i + 1 })); + workflowState.collectionSeq = workflowState.collections.length; + const collectionIndex = workspace.collections.findIndex((item) => item.id === workspace.selectedCollectionId); + workflowState.selectedCollectionId = collectionIndex < 0 ? workflowState.collections[0]?.id || null : collectionIndex + 1; + labState.environments = workspace.environments.map((env, i) => ({ ...env, id: i + 1 })); + labState.environmentSeq = labState.environments.length; + const activeIndex = workspace.environments.findIndex((env) => env.id === workspace.environmentId); + labState.environmentId = activeIndex < 0 ? null : activeIndex + 1; + labState.findings = workspace.findings; + labState.websocketFrames = workspace.websocketFrames; + labState.wsSeq = Math.max(0, ...labState.websocketFrames.map((frame) => frame.id)); + labState.wsSelected = labState.websocketFrames.at(-1)?.id; + workflowState.runner.results = workspace.runnerResults; + workflowState.runner.selectedId = workspace.runnerResults.some((r) => r.id === workspace.runnerSelectedId) ? workspace.runnerSelectedId : workspace.runnerResults[0]?.id || null; + workflowState.runner.planned = Math.max(workspace.runnerResults.length, Math.min(50, Number(workspace.runnerPlanned) || 0)); + state.compare = { left: '', right: '', leftLabel: '', rightLabel: '', unified: '', ...(workspace.compare || {}) }; + labState.builder = workspace.builder ? { ...workspace.builder, abort: null } : null; + labState.comparison = workspace.comparison || null; + labState.interceptDrafts = workspace.interceptDrafts || []; + for (const id of draftFields) { + const input = $('#' + id), value = workspace.fields?.[id]; + if (!input || value == null) continue; + if (input.type === 'checkbox') input.checked = !!value; + else input.value = String(value); + } + $('#workspaceVariables').value = workflowState.variables; + $('#repRemember').checked = true; + $('#workspaceRemember').checked = true; + if (imported) { + for (const [id, key] of Object.entries({ disableCache: 'disableCache', optRequests: 'requests', optResponses: 'responses', optSkipStatic: 'skipStatic', historyHideStatic: 'historyHideStatic', historySearchContent: 'historySearchContent', prettyJson: 'prettyJson', repPretty: 'repPretty' })) $('#' + id).checked = !!state.settings[key]; + saveSettings(); updateStatus(); + } + renderRepeater(); renderCollections(); renderHistory(); renderHistoryDetail(); renderComparer(); renderRunner(); renderAutoLog(); + renderWorkspace(); renderSecurity(); renderWebSockets(); renderBuilderResult(); + renderAssertionResults($('#runnerTests'), workflowState.runner.results.find((r) => r.id === workflowState.runner.selectedId)?.tests || []); +} + +function renderAssertionResults(element, tests) { + if (!element) return; + element.innerHTML = (tests || []).map((test) => `${test.pass ? 'βœ“' : 'βœ•'} ${escapeHtml(test.label)}`).join(''); +} + +function recordWorkbenchResponse(request, parsed, result, started) { + let response; + try { response = HTTP.parseResponse(request.response); } + catch { response = { headers: [], body: request.response || '', statusText: '', httpVersion: 'HTTP/1.1' }; } + let sent = parsed; + try { if (request.sent) sent = HTTP.parseRequest(request.sent, parsed.url); } catch { /* use prepared request */ } + const source = request.id === -2 ? 'API Builder' : request.id === -1 ? 'Runner' : [-3, -4].includes(request.id) ? 'Credential comparison' : 'Repeater'; + state.history.push({ + id: ++state.seq, method: parsed.method, url: result.url || parsed.url, + reqHeaders: HTTP.headersToList(sent.headers), reqBody: limitBody(sent.body, 'request body'), + resHeaders: HTTP.headersToList(response.headers), resBody: limitBody(response.body, 'response body'), + type: 'Fetch', wallTime: Date.now() - (performance.now() - started), ts: started / 1000, + status: result.status, statusText: response.statusText || '', httpVersion: response.httpVersion || 'HTTP/1.1', + size: result.bytes, duration: result.duration, state: result.error ? 'failed' : 'done', error: result.error || null, + mime: HTTP.getHeader(response.headers, 'content-type') || '', note: source, source, + edited: false, reqExtra: false, resExtra: false, + }); + pruneHistory(); scheduleHistoryRender(); queueLocalSave(); +} + +function addEnvironment(name = 'New environment', variables = '') { + if (labState.environments.length >= 50) throw new Error('Keep up to 50 environments.'); + const env = { id: ++labState.environmentSeq, name: name.slice(0, 100), variables: variables.slice(0, 100_000) }; + labState.environments.push(env); + labState.environmentId = env.id; + renderWorkspace(); queueLocalSave(); + return env; +} + +function renderWorkspace() { + const counts = { 'History entries': state.history.length, 'Repeater tabs': state.repeaters.length, 'Saved requests': workflowState.collections.length, 'Run results': workflowState.runner.results.length, 'Observations': labState.findings.length, 'Socket frames': labState.websocketFrames.length }; + $('#workspaceCounts').innerHTML = Object.entries(counts).map(([label, value]) => `${value}${label}`).join(''); + $('#environmentSelect').innerHTML = '' + labState.environments.map((env) => ``).join(''); + $('#environmentSelect').value = labState.environmentId || ''; + const env = labState.environments.find((item) => item.id === labState.environmentId); + for (const [id, key] of [['environmentName', 'name'], ['environmentVariables', 'variables']]) { + const input = $('#' + id); + input.disabled = !env; + if (document.activeElement !== input) input.value = env?.[key] || ''; + } + $('#environmentDelete').disabled = !env; + $('#recoveredDrafts').innerHTML = labState.interceptDrafts.map((draft, i) => `

`).join('') || '

No paused edits recovered from an earlier session.

'; + try { $('#environmentMeta').textContent = `${Object.keys(Workflow.variablesFromText(workspaceVariableText())).length} effective variables Β· ${env?.name || 'shared values'} active`; } + catch (error) { $('#environmentMeta').textContent = error.message; } +} + +function buildApiRequest() { + const variableText = workspaceVariableText(); + const variables = Workflow.variablesFromText(variableText); + const urlText = $('#builderUrl').value.trim(); + const url = new URL(Workflow.interpolate(urlText, variables)); + if (!/^https?:$/.test(url.protocol) || url.username || url.password) throw new Error('Use an HTTP(S) URL without embedded credentials.'); + let headers = $('#builderHeaders').value.trim(); + const auth = $('#builderAuth').value; + const name = ['basic', 'apikey'].includes(auth) ? Workflow.interpolate($('#builderAuthName').value, variables) : ''; + const value = auth === 'none' ? '' : Workflow.interpolate($('#builderAuthValue').value, variables); + let authHeader = ''; + if (auth === 'bearer') authHeader = 'Authorization: Bearer ' + $('#builderAuthValue').value; + if (auth === 'basic') authHeader = 'Authorization: Basic ' + HTTP.utf8ToB64(name + ':' + value); + if (auth === 'apikey') { + if (!/^[!#$%&'*+.^_`|~\w-]+$/.test(name)) throw new Error('Enter a valid API key header name.'); + authHeader = name + ': ' + $('#builderAuthValue').value; + } + if (/[\r\n]/.test(name + value)) throw new Error('Authentication values cannot contain line breaks.'); + if (authHeader) { + const headerName = authHeader.split(':')[0].toLowerCase(); + headers = headers.split('\n').filter((line) => line.split(':')[0].trim().toLowerCase() !== headerName).filter(Boolean).join('\n'); + headers = [headers, authHeader].filter(Boolean).join('\n'); + } + const mode = $('#builderBodyMode').value; + let body = mode === 'none' ? '' : $('#builderBody').value; + let contentType = ''; + if (mode === 'json') { JSON.parse(Workflow.interpolate(body, variables)); contentType = 'application/json'; } + if (mode === 'form') { + const fields = body.split(/\r?\n/).filter((line) => line.trim()); + body = fields.map((line) => { + const at = line.indexOf('='); + if (at < 1) throw new Error('Form fields use name=value, one per line.'); + return encodeURIComponent(Workflow.interpolate(line.slice(0, at), variables)) + '=' + encodeURIComponent(Workflow.interpolate(line.slice(at + 1), variables)); + }).join('&'); + contentType = 'application/x-www-form-urlencoded'; + } + if (contentType && !/^content-type:/im.test(headers)) headers = [headers, 'Content-Type: ' + contentType].filter(Boolean).join('\n'); + const assertions = $('#builderAssertions').value; + Lab.parseAssertions(assertions); + const raw = `${$('#builderMethod').value} ${urlText} HTTP/1.1\n${headers}\n\n${body}`; + const prepared = Workflow.prepareRequest(raw, url.origin, variableText); + if (prepared.raw.length > 500_000) throw new Error('Builder requests are limited to 500,000 characters.'); + return { raw, target: prepared.target, follow: false, assertions }; +} + +function renderBuilderResult() { + const r = labState.builder; + $('#builderSend').disabled = !!r?.abort; + $('#builderCancel').disabled = !r?.abort; + $('#builderMeta').textContent = r?.abort ? 'Sending…' : r?.meta || 'Ready'; + setRaw($('#builderResponse'), r?.response || 'Build a request, then click Send request.'); + renderAssertionResults($('#builderTests'), r?.tests || []); +} + +async function sendBuilder() { + if (repeaterBusy || workflowState.runner.running || labState.activeTest) return toast('Finish or stop the current request first.', 'error'); + try { + const r = { id: -2, ...buildApiRequest(), response: '', sent: '', tests: [], meta: '', abort: null }; + labState.builder = r; + const promise = sendRepeater(r, { quiet: true }); + renderBuilderResult(); + await promise; + renderBuilderResult(); queueLocalSave(); + } catch (error) { toast(error.message, 'error'); } +} + +function renderSecurity() { + const filter = $('#securityFilter').value; + const visible = labState.findings.filter((item) => filter === 'all' || (['review', 'info'].includes(filter) ? item.severity === filter : item.status === filter)); + $('#securityFindings').innerHTML = visible.map((item) => `
${item.severity === 'review' ? 'Needs review' : 'Context'}

${escapeHtml(item.title)}

${escapeHtml(item.status)}

${escapeHtml(item.url)}

${escapeHtml(item.evidence)}

${escapeHtml(item.advice)}

`).join('') || '
Review captured HTTP History to check transport, CORS, security headers, cookies, cache policies, URL credentials, and debug responses. Observations guide manual testing; they do not confirm vulnerabilities.
'; + $('#securityMeta').textContent = `${labState.findings.length} observations Β· ${visible.length} shown Β· passive review`; + const currentSource = $('#securitySource').value; + $('#securitySource').innerHTML = '' + state.history.slice(-300).reverse().map((e) => ``).join(''); + if ([...$('#securitySource').options].some((option) => option.value === currentSource)) $('#securitySource').value = currentSource; + $('#securityCompare').disabled = labState.activeTest; + $('#securityStop').disabled = !labState.activeTest; + $('#securityOpenDiff').disabled = !labState.comparison; + $('#securityComparison').textContent = labState.comparison?.summary || ''; +} + +async function compareCredentials() { + if (labState.activeTest || repeaterBusy || workflowState.runner.running) return toast('Finish or stop the current request first.', 'error'); + let original, stripped; + try { + const source = $('#securitySource').value; + const entry = source === 'repeater' ? activeRepeater() : state.history.find((e) => e.id === Number(source)); + if (!entry) throw new Error('Choose a request first.'); + const raw = source === 'repeater' ? entry.raw : historyRequestRaw(entry, false); + const target = source === 'repeater' ? entry.target : new URL(entry.url).origin; + const prepared = Workflow.prepareRequest(raw, target, workspaceVariableText()); + if (!['GET', 'HEAD', 'OPTIONS'].includes(prepared.parsed.method)) throw new Error('Credential comparison uses GET, HEAD or OPTIONS. Test state-changing requests individually in Repeater.'); + if (!prepared.parsed.headers.some((h) => /^(authorization|proxy-authorization|cookie|x-api-key|api-key)$/i.test(h.name))) throw new Error('This request has no credential headers to compare.'); + original = { id: -3, raw: prepared.raw, target: prepared.target, follow: false, response: '', sent: '', abort: null }; + stripped = { id: -4, ...Lab.withoutCredentials(prepared.raw, prepared.target), follow: false, response: '', sent: '', abort: null }; + } catch (error) { return toast(error.message, 'error'); } + labState.activeTest = true; + labState.controller = new AbortController(); + const signal = labState.controller.signal; + renderSecurity(); + $('#securityComparison').textContent = 'Sending original request…'; + try { + const a = await sendRepeater(original, { lab: true, quiet: true, signal }); + if (signal.aborted || a.error) throw new Error(a.error || 'Stopped'); + $('#securityComparison').textContent = 'Sending request without credential headers…'; + const b = await sendRepeater(stripped, { lab: true, quiet: true, signal }); + if (signal.aborted || b.error) throw new Error(b.error || 'Stopped'); + const same = HTTP.parseResponse(original.response).body === HTTP.parseResponse(stripped.response).body; + const summary = `Original: ${a.status} Β· ${fmtSize(a.bytes)}\nWithout credential headers: ${b.status} Β· ${fmtSize(b.bytes)}\nBodies: ${same ? 'identical' : 'different'}${a.truncated || b.truncated ? ' (capped previews)' : ''}\n${b.status >= 200 && b.status < 300 ? 'Anonymous response succeeded. Check whether the endpoint/data is intended to be public; success alone does not prove an authorization flaw.' : 'Verify the anonymous response matches the intended access policy.'}`; + labState.comparison = { left: original.response.slice(0, 1_000_000), right: stripped.response.slice(0, 1_000_000), summary }; + } catch (error) { labState.comparison = { left: '', right: '', summary: error.message }; } + finally { labState.activeTest = false; labState.controller = null; renderSecurity(); queueLocalSave(); } +} + +function captureWebSocket(method, params) { + if (method === 'Network.webSocketCreated') { socketUrls.set(params.requestId, params.url); return; } + if (method === 'Network.webSocketClosed') { socketUrls.delete(params.requestId); return; } + if (!['Network.webSocketFrameSent', 'Network.webSocketFrameReceived'].includes(method)) return; + const frame = params.response; + labState.websocketFrames.push({ id: ++labState.wsSeq, direction: method.endsWith('Sent') ? 'Sent' : 'Received', url: socketUrls.get(params.requestId) || '(unknown socket)', opcode: frame.opcode, data: String(frame.payloadData).slice(0, 20_000), truncated: String(frame.payloadData).length > 20_000, time: Date.now() }); + if (labState.websocketFrames.length > 1000) labState.websocketFrames.shift(); + if ($('#view-websocket').classList.contains('active')) renderWebSockets(); + queueLocalSave(); +} + +function renderWebSockets() { + const filter = $('#wsFilter').value.toLowerCase(); + const visible = labState.websocketFrames.filter((frame) => (frame.url + ' ' + frame.data).toLowerCase().includes(filter)); + $('#wsTable tbody').innerHTML = visible.map((frame) => `${frame.id}${escapeHtml(frame.direction)}${escapeHtml(frame.url)}${frame.opcode === 1 ? 'Text' : frame.opcode === 2 ? 'Binary (base64)' : 'Opcode ' + frame.opcode}${escapeHtml(frame.data.slice(0, 100))}`).join(''); + $('#wsEmpty').classList.toggle('hidden', visible.length > 0); + const frame = labState.websocketFrames.find((item) => item.id === labState.wsSelected); + setRaw($('#wsData'), frame ? frame.data + (frame.truncated ? '\n[Frame preview truncated]' : '') : 'Select a frame to inspect its payload.'); + $('#wsDecode').disabled = !frame; + $('#wsMeta').textContent = `${labState.websocketFrames.length} saved frames Β· ${state.attached ? 'attached tab' : 'attach a tab to capture'}`; +} + +async function applyBackup(workspace) { + if (state.attached || workflowState.runner.running || repeaterBusy || labState.activeTest || state.queue.length) throw new Error('Detach the tab and finish or cancel active requests before restoring a backup.'); + clearTimeout(localSaveTimer); + if (labState.storageBlocked) { const previous = await LocalStore.read(); if (previous) await LocalStore.preserve(previous); } + else { await flushLocalSave(); await LocalStore.preserve(captureWorkspace()); } + labState.ready = false; + try { restoreWorkspace(workspace, true); } + finally { labState.ready = true; } + labState.storageBlocked = false; + saveSettings(); saveRepeaters(); + await flushLocalSave(); + toast('Workspace restored locally. Auto mode is off; attach and send requests when ready.'); +} + +async function bindLab() { + state.settings.repRemember = true; + workflowState.remember = true; + state.settings.workspaceRemember = true; + try { + const saved = await LocalStore.read(); + if (saved) restoreWorkspace(Lab.validateBackup(saved)); + } catch (error) { labState.storageBlocked = true; toast(`Local workspace could not be restored: ${error.message}. The saved copy has been preserved. Import a backup to recover.`, 'error'); } + labState.ready = true; + clearTimeout(saveTimer); clearTimeout(workspaceSaveTimer); + $('#repRemember').checked = true; + $('#workspaceRemember').checked = true; + $('#repAssertions').addEventListener('input', (event) => { const r = activeRepeater(); if (r) r.assertions = event.target.value; }); + for (const id of draftFields) { const input = $('#' + id); if (input?.tagName === 'TEXTAREA' || input?.tagName === 'INPUT' && input.type !== 'checkbox') input.maxLength = 1_000_000; } + for (const id of ['repAssertions', 'runnerAssertions', 'builderAssertions', 'collectionAssertions', 'environmentVariables']) $('#' + id).maxLength = 100_000; + $('#repEditor').maxLength = 1_000_000; + $('#collectionAssertions').addEventListener('input', (event) => { const r = workflowState.collections.find((item) => item.id === workflowState.selectedCollectionId); if (r) r.assertions = event.target.value; }); + $('#collectionList').addEventListener('click', () => { $('#collectionAssertions').value = workflowState.collections.find((item) => item.id === workflowState.selectedCollectionId)?.assertions || '[]'; }); + $('#runnerTable').addEventListener('click', () => renderAssertionResults($('#runnerTests'), workflowState.runner.results.find((r) => r.id === workflowState.runner.selectedId)?.tests || [])); + $('#runnerLoadPreset').addEventListener('click', () => { + if (workflowState.runner.running) return; + $('#runnerPayloads').value = { numbers: '0\n1\n-1\n2147483647\n2147483648\n9007199254740993\n0.01', types: 'null\ntrue\nfalse\n0\n"0"\n[]\n{}', strings: '""\n" "\n"interceptor-test"\n"00000000"\n"Γ©δΈ­"' }[$('#runnerPreset').value]; + queueLocalSave(); + }); + $('#builderSend').addEventListener('click', sendBuilder); + $('#builderCancel').addEventListener('click', () => labState.builder?.abort?.abort()); + $('#builderReplay').addEventListener('click', () => { try { newRepeater(buildApiRequest()); switchView('repeater'); } catch (error) { toast(error.message, 'error'); } }); + $('#builderSave').addEventListener('click', () => { try { addCollection(buildApiRequest()); } catch (error) { toast(error.message, 'error'); } }); + $('#builderCurl').addEventListener('click', () => { try { const request = buildApiRequest(); const prepared = Workflow.prepareRequest(request.raw, request.target, workspaceVariableText()); copyText(HTTP.toCurl(prepared.parsed), 'cURL copied'); } catch (error) { toast(error.message, 'error'); } }); + $('#builderInspect').addEventListener('click', () => { try { const request = buildApiRequest(); openInspector(request.raw, request.target, labState.builder?.response || '', 'API Builder'); } catch (error) { toast(error.message, 'error'); } }); + const updateAuth = () => { $('#builderAuthFields').classList.toggle('hidden', $('#builderAuth').value === 'none'); $('#builderAuthName').disabled = $('#builderAuth').value === 'bearer'; }; + $('#builderAuth').addEventListener('change', updateAuth); updateAuth(); + $('#securityScan').addEventListener('click', () => { + const key = (item) => `${item.code}|${item.url}|${item.evidence}`; + const previous = new Map(labState.findings.map((item) => [key(item), item.status])); + labState.findings = Lab.passiveReview(state.history).map((item) => ({ ...item, status: previous.get(key(item)) || 'open' })); + renderSecurity(); queueLocalSave(); + }); + $('#securityFilter').addEventListener('change', renderSecurity); + $('#securityFindings').addEventListener('click', (event) => { + const history = event.target.closest('[data-finding-history]'); + if (history) { state.selectedHistoryId = Number(history.dataset.findingHistory); switchView('history'); } + const action = event.target.closest('[data-finding-id]'); + if (action) { const finding = labState.findings.find((item) => item.id === Number(action.dataset.findingId)); if (finding) finding.status = action.dataset.status; renderSecurity(); queueLocalSave(); } + }); + $('#securityExport').addEventListener('click', () => downloadLocal(JSON.stringify({ format: 'interceptor-security-review', version: 1, generatedAt: new Date().toISOString(), findings: labState.findings }, null, 2), 'interceptor-security-review.json')); + $('#securityCompare').addEventListener('click', compareCredentials); + $('#securityStop').addEventListener('click', () => labState.controller?.abort()); + $('#securityOpenDiff').addEventListener('click', () => { const c = labState.comparison; if (c) { state.compare = { left: c.left, right: c.right, leftLabel: 'Original credentials', rightLabel: 'Without credential headers', unified: '' }; switchView('comparer'); } }); + $('#wsFilter').addEventListener('input', renderWebSockets); + $('#wsTable').addEventListener('click', (event) => { const row = event.target.closest('[data-frame]'); if (row) { labState.wsSelected = Number(row.dataset.frame); renderWebSockets(); } }); + $('#wsExport').addEventListener('click', () => downloadLocal(JSON.stringify({ format: 'interceptor-websocket-frames', version: 1, frames: labState.websocketFrames }, null, 2), 'interceptor-websocket-frames.json')); + $('#wsClear').addEventListener('click', () => { labState.websocketFrames = []; labState.wsSelected = null; renderWebSockets(); queueLocalSave(); }); + $('#wsDecode').addEventListener('click', () => { const frame = labState.websocketFrames.find((item) => item.id === labState.wsSelected); if (frame) { $('#decoderInput').value = frame.data; $('#decoderAction').value = frame.opcode === 2 ? 'base64-decode' : 'json-pretty'; switchView('decoder'); } }); + $('#environmentNew').addEventListener('click', () => { try { addEnvironment(); $('#environmentName').focus(); } catch (error) { toast(error.message, 'error'); } }); + $('#environmentSelect').addEventListener('change', (event) => { labState.environmentId = Number(event.target.value) || null; renderWorkspace(); queueLocalSave(); }); + $('#environmentDelete').addEventListener('click', () => { labState.environments = labState.environments.filter((env) => env.id !== labState.environmentId); labState.environmentId = null; renderWorkspace(); queueLocalSave(); }); + for (const [id, key] of [['environmentName', 'name'], ['environmentVariables', 'variables']]) $('#' + id).addEventListener('input', (event) => { + const env = labState.environments.find((item) => item.id === labState.environmentId); + if (env) { env[key] = event.target.value.slice(0, key === 'name' ? 100 : 100_000); renderWorkspace(); queueLocalSave(); } + }); + $('#workspaceSaveNow').addEventListener('click', () => flushLocalSave().catch(() => {})); + $('#recoveredDrafts').addEventListener('click', (event) => { const action = event.target.closest('[data-draft]'); const draft = labState.interceptDrafts[Number(action?.dataset.draft)]; if (draft) { $('#decoderInput').value = draft.raw; switchView('decoder'); } }); + $('#backupDownload').addEventListener('click', async () => { + try { + const backup = await flushLocalSave(); + const password = $('#backupPassword').value; + const output = password ? await Lab.encryptBackup(backup, password) : backup; + downloadLocal(JSON.stringify(output), `interceptor-workspace-${new Date().toISOString().slice(0, 10)}${password ? '-encrypted' : ''}.json`); + $('#backupPassword').value = ''; + toast(password ? 'Encrypted workspace backup downloaded.' : 'Workspace backup downloaded. It includes stored credentials.'); + } catch (error) { toast(error.message, 'error'); } + }); + $('#backupImport').addEventListener('click', () => $('#backupFile').click()); + $('#backupFile').addEventListener('change', async (event) => { + labState.pendingBackup = null; $('#backupPreview').classList.add('hidden'); + try { + const file = event.target.files?.[0]; if (!file) return; + if (file.size > 200_000_000) throw new Error('Backup files must be smaller than 200 MB.'); + let data = JSON.parse(await file.text()); + if (data.format === 'interceptor-encrypted-backup') data = await Lab.decryptBackup(data, $('#backupPassword').value); + const workspace = Lab.validateBackup(data); + labState.pendingBackup = workspace; + $('#backupSummary').textContent = `Ready to restore ${workspace.history.length} history entries, ${workspace.repeaters.length} Repeater tabs, ${workspace.collections.length} requests, ${workspace.environments.length} environments, ${workspace.runnerResults.length} results, ${workspace.findings.length} observations and ${workspace.websocketFrames.length} frames. This replaces the current workspace; a local undo copy is kept. No requests are sent by importing.`; + $('#backupPreview').classList.remove('hidden'); $('#backupPassword').value = ''; + } catch (error) { toast(`Backup import failed: ${error.message}`, 'error'); } + finally { event.target.value = ''; } + }); + $('#backupDismiss').addEventListener('click', () => { labState.pendingBackup = null; $('#backupPreview').classList.add('hidden'); }); + $('#backupRestore').addEventListener('click', async () => { try { if (labState.pendingBackup) { await applyBackup(labState.pendingBackup); labState.pendingBackup = null; $('#backupPreview').classList.add('hidden'); } } catch (error) { toast(error.message, 'error'); } }); + $('#workspaceUndoRestore').addEventListener('click', async () => { try { const previous = await LocalStore.previous(); if (!previous) throw new Error('No previous restore to undo.'); await applyBackup(Lab.validateBackup(previous)); } catch (error) { toast(error.message, 'error'); } }); + document.addEventListener('input', (event) => { if (event.target.id !== 'backupPassword' && event.target.type !== 'file') queueLocalSave(); }); + document.addEventListener('change', (event) => { if (event.target.type !== 'file' && event.target.id !== 'backupPassword') queueLocalSave(); }); + document.addEventListener('click', (event) => { if (event.target.closest('button') && !event.target.closest('#backupPreview')) queueLocalSave(); }); + window.addEventListener('pagehide', () => { flushLocalSave().catch(() => {}); }); + saveSettings(); saveRepeaters(); + renderWorkspace(); renderSecurity(); renderWebSockets(); renderBuilderResult(); + if (!labState.storageBlocked) { + await flushLocalSave(); + await chrome.storage.local.remove(['repeaters', 'activeRepeaterId', 'workspace']); + } +} diff --git a/lab.css b/lab.css new file mode 100644 index 0000000..abe6164 --- /dev/null +++ b/lab.css @@ -0,0 +1,52 @@ +.lab-grid { display:grid; grid-template-columns:minmax(0,1fr) minmax(0,1fr); gap:14px; min-height:0; } +.lab-grid > .pane:not(.builder-form) { display:flex; flex-direction:column; min-width:0; } +.builder-form { display:flex; flex-direction:column; overflow:auto; padding:18px; gap:10px; } +.builder-form > * { flex-shrink:0; } +.builder-form > label { display:block; } +.builder-form select { max-width:280px; } +.builder-form textarea { width:100%; } +.builder-form > label, .workspace-card > label { color:var(--text-muted); font-size:12px; margin-top:8px; } +.workspace-card .toolbar.small { padding:10px 0; border-bottom:0; background:transparent; } +.workspace-card .toolbar.small select { width:auto; flex:1; } +.workspace-card .toolbar.small { flex-wrap:wrap; } +.builder-form input, .workspace-card input, .workspace-card select { width:100%; min-width:0; box-sizing:border-box; } +.builder-form textarea { flex:none; min-height:96px; border:1px solid var(--border); border-radius:8px; } +.builder-form label input { display:block; margin-top:7px; } +.builder-form .lab-grid label { min-width:0; } +.assertion-editor, .auth-comparison { border:1px solid var(--border); border-radius:10px; margin:0 0 12px; padding:10px 14px; flex-shrink:0; } +summary { cursor:pointer; font-size:12px; font-weight:600; } +.assertion-editor textarea { width:100%; min-height:90px; max-height:200px; margin-top:10px; box-sizing:border-box; font-family:var(--mono); } +.assertion-editor p { margin:8px 0 0; } +.assertion-results { display:flex; flex-wrap:wrap; gap:6px; padding:6px 0; max-height:130px; overflow:auto; } +.assertion-result { font-size:11px; border:1px solid var(--border); padding:5px 8px; border-radius:6px; overflow-wrap:anywhere; } +.assertion-result.pass { color:var(--green); } .assertion-result.fail { color:var(--red); } +.findings-list { overflow:auto; display:flex; flex-direction:column; gap:10px; } +.finding { border:1px solid var(--border); border-radius:12px; padding:16px; background:var(--panel); } +.finding-title { display:flex; align-items:center; flex-wrap:wrap; gap:10px; } +.finding h2 { margin:0; font-size:14px; } .finding p { font-size:12px; line-height:1.6; margin:8px 0; overflow-wrap:anywhere; } +.finding code { display:block; white-space:pre-wrap; overflow-wrap:anywhere; font-size:11px; } +.finding-tag { border-radius:5px; background:var(--bg); padding:4px 6px; font-size:10px; color:var(--text-muted); } +.finding-tag.review { color:var(--orange); } +.auth-comparison p { max-width:1000px; color:var(--text-muted); font-size:12px; line-height:1.6; } +.compact { max-height:140px; min-height:25px; flex:none; padding:10px; } +.workspace-cards { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px; overflow:auto; padding-bottom:14px; } +.workspace-card { border:1px solid var(--border); border-radius:14px; padding:22px; background:var(--panel); } +.workspace-card h2 { font-size:16px; margin:0 0 12px; } +.workspace-card p { font-size:12px; line-height:1.7; color:var(--text-muted); } +.workspace-card label { display:block; margin:12px 0 7px; } +.workspace-counts { display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin:20px 0; } +.workspace-counts span { display:block; padding:10px; border:1px solid var(--border); border-radius:8px; color:var(--text-muted); font-size:11px; } +.workspace-counts b { display:block; color:var(--text); font-size:20px; margin-bottom:4px; } +.environment-card { grid-column:1/-1; } +.environment-card textarea { min-height:160px; width:100%; box-sizing:border-box; font-family:var(--mono); } +#backupPreview { border-top:1px solid var(--border); margin-top:12px; padding-top:8px; } +#wsTable td { max-width:260px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; } +#wsTable tr { cursor:pointer; } +@media(max-width:900px) { .lab-grid,.workspace-cards { grid-template-columns:minmax(0,1fr); } .lab-grid.grow { overflow:auto; } .lab-grid.grow > .pane { min-height:350px; } .workspace-card { padding:16px; } } +.tabs { flex-wrap:wrap; } +body { grid-template-columns:minmax(0,1fr); } +main, .view { min-width:0; } +.view { overflow:hidden; } +.view > .table-wrap { min-width:0; width:100%; box-sizing:border-box; } +.workflow-split > .table-wrap { min-width:0; } +:root { --text-muted:var(--muted); --orange:var(--accent); } diff --git a/lab.js b/lab.js new file mode 100644 index 0000000..8bce573 --- /dev/null +++ b/lab.js @@ -0,0 +1,266 @@ +'use strict'; +/* Passive review, declarative assertions, imports, and portable workspace data. */ +(function (global) { + const HTTP = global.HTTP || (typeof require !== 'undefined' ? require('./http.js') : null); + const Workflow = global.Workflow || (typeof require !== 'undefined' ? require('./workflow.js') : null); + + function parseAssertions(text) { + if (!String(text || '').trim()) return []; + const items = JSON.parse(text); + if (!Array.isArray(items) || items.length > 50) throw new Error('Use a JSON array with up to 50 assertions.'); + for (const [i, item] of items.entries()) { + if (!item || !['status', 'header', 'json', 'bodyContains', 'time', 'size'].includes(item.type)) throw new Error(`Assertion ${i + 1}: unknown type.`); + if (item.type === 'header' && (typeof item.name !== 'string' || !item.name)) throw new Error(`Assertion ${i + 1}: header name is required.`); + if (item.type === 'json' && (typeof item.path !== 'string' || (item.path && !item.path.startsWith('/')))) throw new Error(`Assertion ${i + 1}: JSON paths use /data/id (JSON Pointer).`); + if (item.type === 'bodyContains' && typeof item.value !== 'string') throw new Error(`Assertion ${i + 1}: value must be text.`); + if (['time', 'size'].includes(item.type) && (!Number.isFinite(item.max) || item.max < 0)) throw new Error(`Assertion ${i + 1}: max must be a positive number.`); + if (item.type === 'status' && (!Number.isInteger(item.equals) || item.equals < 100 || item.equals > 599)) throw new Error(`Assertion ${i + 1}: equals must be an HTTP status.`); + } + return items; + } + + function jsonPointer(value, path) { + let current = value; + if (!path) return { exists: true, value: current }; + for (const key of path.slice(1).split('/').map((part) => part.replace(/~1/g, '/').replace(/~0/g, '~'))) { + if (current == null || typeof current !== 'object' || !Object.hasOwn(current, key)) return { exists: false }; + current = current[key]; + } + return { exists: true, value: current }; + } + + function runAssertions(assertions, responseRaw, metrics = {}) { + const equivalent = (a, b) => { + if (a === b) return true; + if (!a || !b || typeof a !== 'object' || typeof b !== 'object' || Array.isArray(a) !== Array.isArray(b)) return false; + const keys = Object.keys(a); + return keys.length === Object.keys(b).length && keys.every((key) => Object.hasOwn(b, key) && equivalent(a[key], b[key])); + }; + let response; + try { response = HTTP.parseResponse(responseRaw); } catch { response = { status: 0, headers: [], body: '' }; } + let json; + let jsonValid = false; + try { json = JSON.parse(response.body); jsonValid = true; } catch { /* not JSON */ } + return assertions.map((item, i) => { + let pass = false; + let actual; + let label = item.name && item.type !== 'header' ? item.name : item.type; + if (item.type === 'status') { actual = metrics.status || response.status; pass = actual === item.equals; label = `Status equals ${item.equals}`; } + else if (item.type === 'header') { + actual = HTTP.getHeader(response.headers, item.name); + pass = item.absent ? actual == null : Object.hasOwn(item, 'equals') ? actual === String(item.equals) : Object.hasOwn(item, 'contains') ? actual != null && actual.includes(String(item.contains)) : actual != null; + label = `Header ${item.name}`; + } else if (item.type === 'json') { + const found = jsonValid ? jsonPointer(json, item.path) : { exists: false }; + actual = found.value; + pass = item.absent ? jsonValid && !found.exists : found.exists && (!Object.hasOwn(item, 'equals') || equivalent(actual, item.equals)); + label = `JSON ${item.path || '(root)'}`; + } else if (item.type === 'bodyContains') { actual = response.body.includes(item.value); pass = actual; label = `Body contains ${item.value.slice(0, 60)}`; } + else { actual = item.type === 'time' ? metrics.duration : metrics.bytes; pass = Number.isFinite(actual) && actual <= item.max; label = `${item.type === 'time' ? 'Time (ms)' : 'Size (bytes)'} ≀ ${item.max}`; } + if (metrics.error) pass = false; + return { id: i + 1, label, pass, actual: (actual == null ? '(missing)' : typeof actual === 'object' ? JSON.stringify(actual) : String(actual)).slice(0, 4000), detail: metrics.error || (pass ? 'Passed' : 'Expectation not met') }; + }); + } + + function passiveReview(entries) { + const findings = []; + const seen = new Set(); + const add = (entry, code, severity, title, evidence, advice) => { + let url; + try { url = new URL(entry.url); } catch { return; } + const key = `${code}|${url.origin}|${url.pathname}|${evidence}`; + if (seen.has(key) || findings.length >= 1000) return; + seen.add(key); + url.username = ''; url.password = ''; + for (const name of [...url.searchParams.keys()]) if (/^(access_token|token|api[_-]?key|password|secret|authorization)$/i.test(name)) url.searchParams.set(name, '[redacted]'); + findings.push({ id: findings.length + 1, entryId: entry.id, code, severity, title, url: url.href, evidence: String(evidence).slice(0, 500), advice, status: 'open' }); + }; + for (const entry of entries || []) { + let url; + try { url = new URL(entry.url); } catch { continue; } + if (!/^https?:$/.test(url.protocol)) continue; + const headers = HTTP.headersToList(entry.resHeaders); + const get = (name) => HTTP.getHeader(headers, name) || ''; + const local = /^(localhost|127\.|\[::1\])/.test(url.hostname); + if (url.protocol === 'http:' && !local) add(entry, 'http', 'review', 'Unencrypted HTTP traffic', url.origin, 'Use HTTPS for deployed apps, especially traffic containing sessions or personal data.'); + if (entry.status == null || entry.error) continue; + if (url.protocol === 'https:' && !get('strict-transport-security')) add(entry, 'hsts', 'info', 'HSTS not observed', 'No Strict-Transport-Security header', 'Check whether HSTS is appropriate for this deployed origin. Local/staging apps may intentionally omit it.'); + if (get('access-control-allow-origin') === '*' && get('access-control-allow-credentials').toLowerCase() === 'true') add(entry, 'cors-wildcard', 'review', 'Conflicting CORS credentials policy', 'Allow-Origin: *; Allow-Credentials: true', 'Browsers reject wildcard credentialed access. Review the intended origins and test from an untrusted browser origin.'); + const requestOrigin = HTTP.getHeader(HTTP.headersToList(entry.reqHeaders), 'origin'); + if (requestOrigin && get('access-control-allow-origin') === requestOrigin && get('access-control-allow-credentials').toLowerCase() === 'true') add(entry, 'cors-reflection', 'review', 'Credentialed CORS allows the captured origin', `Allowed origin: ${requestOrigin}`, 'This can be intentional. Verify the origin is allowlisted; this observation alone does not prove arbitrary origin reflection.'); + const html = /text\/html/i.test(get('content-type') || entry.mime || ''); + const csp = get('content-security-policy'); + if (html && !csp) add(entry, 'csp', 'info', 'HTML without an enforced CSP', 'No Content-Security-Policy header', 'Consider a policy suited to the app. A missing policy is defense-in-depth context, not proof of XSS.'); + if (html && !get('x-frame-options') && !/frame-ancestors\s/i.test(csp)) add(entry, 'frames', 'review', 'No framing restriction observed', 'No X-Frame-Options or CSP frame-ancestors', 'If this page performs sensitive actions, verify whether it should be embeddable and test clickjacking impact.'); + if (html && /(?:^|;)\s*script-src[^;]*'unsafe-eval'/i.test(csp)) add(entry, 'csp-eval', 'info', 'CSP permits unsafe-eval', 'script-src includes unsafe-eval', 'Review whether production scripts need eval-like execution.'); + if (get('x-content-type-options').toLowerCase() !== 'nosniff') add(entry, 'nosniff', 'info', 'MIME sniffing protection not observed', 'X-Content-Type-Options is absent or not nosniff', 'Consider adding nosniff alongside accurate Content-Type headers.'); + const sensitiveRequest = HTTP.headersToList(entry.reqHeaders).some((h) => /^(authorization|cookie)$/i.test(h.name)); + if (sensitiveRequest && /\bpublic\b/i.test(get('cache-control'))) add(entry, 'cache', 'review', 'Authenticated response marked public', `Cache-Control: ${get('cache-control')}`, 'Verify this response contains no user-specific data and that shared caches cannot serve it to another user.'); + for (const header of headers.filter((h) => h.name.toLowerCase() === 'set-cookie')) { + const cookieName = header.value.split('=')[0]; + const attrs = header.value.split(';').slice(1).map((part) => part.trim().toLowerCase()); + const has = (name) => attrs.some((value) => value === name || value.startsWith(name + '=')); + if (url.protocol === 'https:' && !has('secure')) add(entry, 'cookie-secure', 'review', 'Cookie without Secure', cookieName, 'Use Secure for cookies that should only be sent over HTTPS.'); + if (!has('httponly')) add(entry, 'cookie-http', 'info', 'Cookie readable by JavaScript', cookieName, 'Session cookies usually benefit from HttpOnly. Some client-readable cookies intentionally omit it.'); + if (!has('samesite')) add(entry, 'cookie-same', 'info', 'Cookie without explicit SameSite', cookieName, 'Choose a SameSite policy that fits the cross-site flow; modern browser defaults vary with context.'); + if (attrs.includes('samesite=none') && !has('secure')) add(entry, 'cookie-none', 'review', 'SameSite=None cookie without Secure', cookieName, 'Modern browsers reject this combination; set Secure when cross-site cookies are necessary.'); + } + for (const key of url.searchParams.keys()) { + if (/^(access_token|token|api[_-]?key|password|secret|authorization)$/i.test(key)) add(entry, 'url-secret', 'review', 'Credential-like value in URL', `Query field: ${key} (value hidden)`, 'Move credentials out of URLs where feasible; URLs can appear in history, logs, and referrers.'); + } + const body = String(entry.resBody || '').slice(0, 200_000); + if (/(?:Traceback \(most recent call last\)|SQLSTATE\[|You have an error in your SQL syntax|at [\w.$]+\([^\n]+:\d+:\d+\))/i.test(body)) add(entry, 'debug-error', 'review', 'Detailed exception or database error', 'Recognizable debug/error signature in response body (values hidden)', 'Verify production returns a generic error and keeps diagnostic detail in server logs.'); + if (/-----BEGIN (?:RSA |EC |OPENSSH )?PRIVATE KEY-----/.test(body)) add(entry, 'private-key', 'review', 'Private-key marker in response', 'Private-key PEM marker (key content hidden)', 'Check whether a private key is exposed. Remove exposed material and rotate affected keys.'); + if (get('server') || get('x-powered-by')) add(entry, 'technology', 'info', 'Server technology disclosure', [get('server'), get('x-powered-by')].filter(Boolean).join(' Β· '), 'Review unnecessary version details; this does not establish an exploitable issue.'); + } + return findings; + } + + function withoutCredentials(raw, target) { + const parsed = HTTP.parseRequest(raw, target); + parsed.headers = parsed.headers.filter((header) => !/^(authorization|proxy-authorization|cookie|x-api-key|api-key)$/i.test(header.name)); + return { raw: HTTP.serializeRequest(parsed), target: new URL(parsed.url).origin, parsed }; + } + + function importPostman(input) { + if (!input?.info || !Array.isArray(input.item)) throw new Error('Not a Postman collection.'); + const requests = []; + const warnings = []; + const variables = (input.variable || []).filter((item) => /^[A-Za-z_][\w.-]*$/.test(item.key)).map((item) => `${item.key}=${String(item.value ?? '')}`).join('\n'); + const walk = (items, folder = '', inheritedAuth = input.auth, depth = 0) => { + if (depth > 20) throw new Error('Postman folders are nested too deeply.'); + for (const item of items) { + if (requests.length >= 100) throw new Error('Postman import is limited to 100 requests.'); + if (item.item) { walk(item.item, [folder, item.name].filter(Boolean).join(' / '), item.auth || inheritedAuth, depth + 1); continue; } + const req = item.request; + if (!req || typeof req !== 'object') { warnings.push(`${item.name}: skipped unsupported request.`); continue; } + const url = typeof req.url === 'string' ? req.url : req.url?.raw; + if (!url) { warnings.push(`${item.name}: URL missing.`); continue; } + const headers = (req.header || []).filter((header) => !header.disabled).map((header) => ({ name: header.key, value: header.value || '' })); + const auth = req.auth || inheritedAuth; + if (auth?.type === 'bearer') headers.push({ name: 'Authorization', value: 'Bearer ' + ((auth.bearer || []).find((value) => value.key === 'token')?.value || '') }); + else if (auth?.type && auth.type !== 'noauth') warnings.push(`${item.name}: ${auth.type} authentication must be configured in Builder.`); + let body = ''; + if (req.body?.mode === 'raw') body = req.body.raw || ''; + else if (req.body?.mode === 'urlencoded') { + body = (req.body.urlencoded || []).filter((field) => !field.disabled).map((field) => `${encodeURIComponent(field.key)}=${encodeURIComponent(field.value || '')}`).join('&'); + if (!HTTP.getHeader(headers, 'content-type')) headers.push({ name: 'Content-Type', value: 'application/x-www-form-urlencoded' }); + } else if (req.body?.mode) { warnings.push(`${item.name}: skipped ${req.body.mode} body. File uploads are not imported.`); continue; } + if (item.event || req.event || input.event) warnings.push(`${item.name}: scripts are not executed or imported.`); + const headerText = headers.map((header) => `${header.name}: ${header.value}`).join('\n'); + requests.push({ name: String(item.name || 'Request'), folder: folder || 'Postman', raw: `${String(req.method || 'GET').toUpperCase()} ${url} HTTP/1.1\n${headerText}\n\n${body}`, target: /^https:/.test(url) ? 'https://localhost' : 'http://localhost', follow: false, notes: typeof req.description === 'string' ? req.description : '' }); + } + }; + walk(input.item); + return { requests: Workflow.importCollection({ format: 'interceptor-collection', version: 1, requests }), variables, warnings }; + } + + function validateBackup(input) { + if (!input || input.format !== 'interceptor-backup' || input.version !== 1 || !input.workspace || typeof input.workspace !== 'object') throw new Error('Not an Interceptor workspace backup.'); + const workspace = input.workspace; + const arrays = { history: 2500, repeaters: 100, collections: 100, autoLog: 500, runnerResults: 50, findings: 1000, environments: 50, websocketFrames: 1000 }; + for (const [name, max] of Object.entries(arrays)) { + if (!Array.isArray(workspace[name]) || workspace[name].length > max) throw new Error(`Backup ${name} must be an array with at most ${max} entries.`); + } + const str = (value, max, label) => { if (typeof value !== 'string' || value.length > max) throw new Error(`Invalid ${label} in backup.`); }; + for (const entry of workspace.history) { + str(entry.url, 20_000, 'history URL');str(entry.method, 40, 'history method'); + if (!/^https?:$/.test(new URL(entry.url).protocol)) throw new Error('Backup history URL is not HTTP(S).'); + if (!Number.isFinite(entry.wallTime) || !Number.isInteger(entry.id)) throw new Error('Invalid history metadata in backup.'); + if (entry.status != null && (!Number.isInteger(entry.status) || entry.status < 0 || entry.status > 599)) throw new Error('Invalid history status.'); + if (entry.type != null) str(entry.type, 1000, 'history type'); + for (const list of [entry.reqHeaders, entry.resHeaders]) { + if (!Array.isArray(list) || list.length > 1000) throw new Error('Invalid history headers in backup.'); + for (const header of list) { str(header.name, 1000, 'header name');str(header.value, 100_000, 'header value'); } + } + if (entry.reqBody != null) str(entry.reqBody, 800_000, 'request body'); + if (entry.resBody != null) str(entry.resBody, 800_000, 'response body'); + } + Workflow.importCollection({ format: 'interceptor-collection', version: 1, requests: workspace.collections }); + for (const request of workspace.repeaters) { + if (!Number.isInteger(request.id)) throw new Error('Invalid Repeater ID.'); + if (request.snapshotSeq != null && (!Number.isInteger(request.snapshotSeq) || request.snapshotSeq < 0)) throw new Error('Invalid snapshot sequence.'); + str(request.raw, 1_000_000, 'Repeater request');str(request.target, 20_000, 'Repeater target'); + if (request.response != null) str(request.response, 4_500_000, 'Repeater response'); + if (request.sent != null) str(request.sent, 1_100_000, 'sent request'); + if (request.assertions != null) str(request.assertions, 100_000, 'assertion draft'); + if (request.snapshots && (!Array.isArray(request.snapshots) || request.snapshots.length > 5)) throw new Error('Invalid response snapshots.'); + for (const snapshot of request.snapshots || []) { if (!Number.isInteger(snapshot.id)) throw new Error('Invalid snapshot ID.'); str(snapshot.response, 201_000, 'snapshot response'); str(snapshot.sent, 201_000, 'snapshot request'); str(snapshot.label, 1000, 'snapshot label'); } + } + for (const environment of workspace.environments) { str(environment.name, 100, 'environment name');str(environment.variables, 100_000, 'environment variables'); } + if (workspace.variables != null) str(workspace.variables, 100_000, 'variables'); + for (const row of workspace.runnerResults) { if (!Number.isInteger(row.id)) throw new Error('Invalid Runner result.'); str(row.response, 101_000, 'Runner response'); str(row.raw, 200_000, 'Runner request'); str(row.target, 20_000, 'Runner target'); str(row.payload, 10_000, 'payload'); } + for (const finding of workspace.findings) { + for (const key of ['code', 'severity', 'title', 'url', 'evidence', 'advice', 'status']) str(finding[key], 20_000, 'finding ' + key); + if (!Number.isInteger(finding.id) || !Number.isInteger(finding.entryId) || !['open', 'reviewed', 'ignored'].includes(finding.status)) throw new Error('Invalid finding metadata.'); + } + for (const frame of workspace.websocketFrames) { str(frame.url, 20_000, 'WebSocket URL'); str(frame.data, 20_000, 'WebSocket frame'); if (!Number.isInteger(frame.id) || !Number.isInteger(frame.opcode) || !['Sent', 'Received'].includes(frame.direction)) throw new Error('Invalid frame metadata.'); } + if (new Set(workspace.repeaters.map((r) => r.id)).size !== workspace.repeaters.length || new Set(workspace.history.map((r) => r.id)).size !== workspace.history.length) throw new Error('Duplicate IDs in backup.'); + if (workspace.fields != null) { + if (typeof workspace.fields !== 'object' || Array.isArray(workspace.fields)) throw new Error('Invalid tool drafts.'); + for (const value of Object.values(workspace.fields)) if (typeof value !== 'boolean') str(value, 1_000_000, 'tool draft'); + } + if (workspace.settings && (typeof workspace.settings !== 'object' || Array.isArray(workspace.settings))) throw new Error('Invalid backup settings.'); + for (const key of ['compare', 'builder', 'comparison']) if (workspace[key] != null && (typeof workspace[key] !== 'object' || Array.isArray(workspace[key]))) throw new Error('Invalid ' + key + ' in backup.'); + if (workspace.settings?.autoRules != null) { + if (!Array.isArray(workspace.settings.autoRules) || workspace.settings.autoRules.length > 100) throw new Error('Invalid Auto rules.'); + for (const rule of workspace.settings.autoRules) { str(rule.param, 20_000, 'rule fields'); str(rule.value, 100_000, 'rule replacement'); } + } + for (const [name, max] of [['left', 1_000_000], ['right', 1_000_000], ['leftLabel', 1000], ['rightLabel', 1000], ['unified', 2_100_000]]) if (workspace.compare?.[name] != null) str(workspace.compare[name], max, 'comparison'); + for (const entry of workspace.autoLog) { + if (!Number.isInteger(entry.id) || !Number.isInteger(entry.seqNo)) throw new Error('Invalid Auto log ID.'); str(entry.url, 20_000, 'Auto log URL'); str(entry.method, 40, 'Auto log method'); + if (!Array.isArray(entry.changes) || entry.changes.length > 1000) throw new Error('Invalid Auto log changes.'); + for (const change of entry.changes) { str(change.key, 20_000, 'change key'); if (change.from != null) str(String(change.from), 800_000, 'change value'); if (change.to != null) str(String(change.to), 800_000, 'change value'); } + } + const validateTests = (tests) => { + if (!Array.isArray(tests) || tests.length > 50) throw new Error('Invalid assertion results.'); + for (const test of tests) { str(test.label, 1000, 'test label'); str(test.actual, 1_000_000, 'test actual'); str(test.detail, 20_000, 'test detail'); if (typeof test.pass !== 'boolean') throw new Error('Invalid test status.'); } + }; + for (const row of [...workspace.repeaters, ...workspace.runnerResults, ...(workspace.builder ? [workspace.builder] : [])]) { + if (row.status != null && (!Number.isInteger(row.status) || row.status < 0 || row.status > 599)) throw new Error('Invalid response status.'); + if (row.error != null) str(row.error, 20_000, 'response error'); + if (row.tests != null) validateTests(row.tests); + for (const snapshot of row.snapshots || []) if (snapshot.tests != null) validateTests(snapshot.tests); + } + if (workspace.builder) { + str(workspace.builder.raw, 500_000, 'Builder request'); str(workspace.builder.target, 20_000, 'Builder target'); + if (workspace.builder.response != null) str(workspace.builder.response, 4_500_000, 'Builder response'); + } + if (workspace.comparison) for (const key of ['left', 'right', 'summary']) str(workspace.comparison[key], 1_000_000, 'credential comparison'); + if (workspace.interceptDrafts != null) { + if (!Array.isArray(workspace.interceptDrafts) || workspace.interceptDrafts.length > 100) throw new Error('Invalid paused drafts.'); + for (const draft of workspace.interceptDrafts) { str(draft.raw, 1_000_000, 'paused draft'); str(draft.url, 20_000, 'paused URL'); if (!['request', 'response'].includes(draft.stage)) throw new Error('Invalid paused stage.'); } + } + // The UI restores only named fields, without imported live session handles. + return JSON.parse(JSON.stringify(workspace)); + } + + function base64(bytes) { return HTTP.bytesToB64(bytes); } + function unbase64(text) { + if (typeof text !== 'string' || !/^[A-Za-z0-9+/]*={0,2}$/.test(text)) throw new Error('Invalid encrypted backup encoding.'); + return HTTP.b64ToBytes(text); + } + async function backupKey(password, salt) { + const key = await crypto.subtle.importKey('raw', new TextEncoder().encode(password), 'PBKDF2', false, ['deriveKey']); + return crypto.subtle.deriveKey({ name: 'PBKDF2', hash: 'SHA-256', salt, iterations: 200_000 }, key, { name: 'AES-GCM', length: 256 }, false, ['encrypt', 'decrypt']); + } + async function encryptBackup(backup, password) { + if (password.length < 8) throw new Error('Use a backup password with at least 8 characters.'); + const salt = crypto.getRandomValues(new Uint8Array(16)); + const iv = crypto.getRandomValues(new Uint8Array(12)); + const ciphertext = await crypto.subtle.encrypt({ name: 'AES-GCM', iv }, await backupKey(password, salt), new TextEncoder().encode(JSON.stringify(backup))); + return { format: 'interceptor-encrypted-backup', version: 1, salt: base64(salt), iv: base64(iv), data: base64(new Uint8Array(ciphertext)) }; + } + async function decryptBackup(input, password) { + if (input.format !== 'interceptor-encrypted-backup' || input.version !== 1) throw new Error('Unsupported encrypted backup.'); + const salt = unbase64(input.salt), iv = unbase64(input.iv); + if (salt.length !== 16 || iv.length !== 12) throw new Error('Invalid encrypted backup metadata.'); + try { + const plaintext = await crypto.subtle.decrypt({ name: 'AES-GCM', iv }, await backupKey(password, salt), unbase64(input.data)); + return JSON.parse(new TextDecoder().decode(plaintext)); + } catch { throw new Error('Unable to unlock backup: wrong password or damaged file.'); } + } + const api = { parseAssertions, runAssertions, jsonPointer, passiveReview, withoutCredentials, importPostman, validateBackup, encryptBackup, decryptBackup }; + global.Lab = api; + if (typeof module !== 'undefined' && module.exports) module.exports = api; +})(typeof window !== 'undefined' ? window : globalThis); diff --git a/local-store.js b/local-store.js new file mode 100644 index 0000000..370b1e1 --- /dev/null +++ b/local-store.js @@ -0,0 +1,33 @@ +'use strict'; +/* IndexedDB stores the complete workbench on this browser profile's local disk. */ +(function (global) { + let database; + async function open() { + if (database) return database; + database = new Promise((resolve, reject) => { + const request = indexedDB.open('interceptor-workspace', 1); + request.onupgradeneeded = () => request.result.createObjectStore('workspaces'); + request.onsuccess = () => resolve(request.result); + request.onerror = () => { database = null; reject(request.error); }; + }); + return database; + } + async function transaction(mode, operation) { + const db = await open(); + return new Promise((resolve, reject) => { + const tx = db.transaction('workspaces', mode); + const request = operation(tx.objectStore('workspaces')); + tx.oncomplete = () => resolve(request.result); + tx.onerror = () => reject(tx.error); + tx.onabort = () => reject(tx.error || new Error('Local save cancelled.')); + }); + } + const api = { + read: () => transaction('readonly', (store) => store.get('current')), + write: (snapshot) => transaction('readwrite', (store) => store.put(snapshot, 'current')), + preserve: (snapshot) => transaction('readwrite', (store) => store.put(snapshot, 'before-restore')), + previous: () => transaction('readonly', (store) => store.get('before-restore')), + clear: () => transaction('readwrite', (store) => store.delete('current')), + }; + global.LocalStore = api; +})(globalThis); diff --git a/manifest.json b/manifest.json index d7b0c03..a613979 100644 --- a/manifest.json +++ b/manifest.json @@ -3,7 +3,7 @@ "name": "Interceptor - HTTP Proxy for Web Devs", "short_name": "Interceptor", "version": "1.1.0", - "description": "Inspect and edit HTTP traffic, replay requests, run payload tests, map APIs, and organize collections in a local workbench.", + "description": "Inspect HTTP/WebSockets, test APIs, review security, and back up your local workspace. Includes Repeater, Runner and collections.", "permissions": [ "debugger", "tabs", diff --git a/package.json b/package.json index 244f713..f233a83 100644 --- a/package.json +++ b/package.json @@ -4,7 +4,7 @@ "private": true, "description": "Dependency-free tests and checks for the Interceptor browser extension", "scripts": { - "check": "node --check http.js && node --check workbench.js && node --check workflow.js && node --check workflow-ui.js && node --check background.js && node --check dashboard.js && node --check popup.js", + "check": "node --check http.js && node --check workbench.js && node --check workflow.js && node --check workflow-ui.js && node --check lab.js && node --check local-store.js && node --check lab-ui.js && node --check background.js && node --check dashboard.js && node --check popup.js", "test": "node --test tests/*.test.js" } } diff --git a/tests/browser-integration.mjs b/tests/browser-integration.mjs index ff9ca35..b80f80a 100644 --- a/tests/browser-integration.mjs +++ b/tests/browser-integration.mjs @@ -1,6 +1,7 @@ import assert from 'node:assert/strict'; import http from 'node:http'; import fs from 'node:fs/promises'; +import { createHash } from 'node:crypto'; // Run against an isolated Chromium profile with this extension loaded. const debuggingOrigin = process.argv[2] || 'http://127.0.0.1:9226'; @@ -52,7 +53,9 @@ async function until(expression) { throw new Error(`Condition not reached: ${expression}`); } +let fixtureRequestCount = 0; const server = http.createServer((req, res) => { + fixtureRequestCount++; let body = ''; req.on('data', (chunk) => { body += chunk; }); req.on('end', () => { @@ -70,6 +73,14 @@ const server = http.createServer((req, res) => { } }); }); +const socketConnections = new Set(); +server.on('upgrade', (req, connection) => { + socketConnections.add(connection); + connection.on('close', () => socketConnections.delete(connection)); + const accept = createHash('sha1').update(req.headers['sec-websocket-key'] + '258EAFA5-E914-47DA-95CA-C5AB0DC85B11').digest('base64'); + connection.write(`HTTP/1.1 101 Switching Protocols\r\nUpgrade: websocket\r\nConnection: Upgrade\r\nSec-WebSocket-Accept: ${accept}\r\n\r\n`); + setTimeout(() => { if (!connection.destroyed) { const payload = Buffer.from('{"event":"fixture-live-message"}'); connection.write(Buffer.concat([Buffer.from([0x81, payload.length]), payload])); } }, 100); +}); await new Promise((resolve) => server.listen(0, '127.0.0.1', resolve)); const fixture = `http://127.0.0.1:${server.address().port}`; let fixtureTab; @@ -226,11 +237,10 @@ try { assert.equal(collection.item.name, 'Validation cases'); assert.ok(collection.count > 0); assert.equal(await evaluate(`(async()=>{ - workflowState.remember=true;saveWorkspace();await new Promise(r=>setTimeout(r,400)); - return (await chrome.storage.local.get('workspace')).workspace.requests[0].name; + saveWorkspace();await flushLocalSave(); + return (await LocalStore.read()).workspace.collections[0].name; })()`), 'Validation cases'); - await evaluate('(async()=>{workflowState.remember=false;saveWorkspace();await new Promise(r=>setTimeout(r,50))})()'); - assert.equal(await evaluate("chrome.storage.local.get('workspace').then(data=>data.workspace===undefined)"), true); + assert.equal(await evaluate("(async()=>{const s=await LocalStore.read();return s.workspace.history.length>0 && s.workspace.repeaters.some(r=>r.snapshots?.length===2)})()"), true); const curlUi = await evaluate(`(()=>{ document.querySelector('#repImportCurl').click(); document.querySelector('#curlInput').value=${JSON.stringify(`curl '${fixture}/curl' -H 'X-Test: imported'`)}; @@ -242,6 +252,82 @@ try { await evaluate(`(()=>{document.dispatchEvent(new KeyboardEvent('keydown',{key:'k',ctrlKey:true,bubbles:true}));document.querySelector('#toolSearch').value='Site Map';document.querySelector('#toolSearch').dispatchEvent(new Event('input'));document.querySelector('#toolList button').click()})()`); assert.equal(await evaluate("document.querySelector('.view.active').id"), 'view-sitemap'); assert.equal(await evaluate("Workbench.hash('SHA-256','abc')"), 'ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad'); + const builder = await evaluate(`(async()=>{ + addEnvironment('Local test', 'baseUrl=${fixture}\\ntoken=builder-test-token'); + document.querySelector('#builderUrl').value='{{baseUrl}}/builder'; + document.querySelector('#builderMethod').value='POST';document.querySelector('#builderAuth').value='bearer'; + document.querySelector('#builderAuthValue').value='{{token}}';document.querySelector('#builderBodyMode').value='json'; + document.querySelector('#builderBody').value='{"amount":9007199254740993}'; + document.querySelector('#builderAssertions').value='[{"type":"status","equals":200},{"type":"json","path":"/headers/authorization","equals":"Bearer builder-test-token"}]'; + await sendBuilder();return {response:labState.builder.response,tests:labState.builder.tests}; + })()`); + assert.match(builder.response, /9007199254740993/); + assert.ok(builder.tests.every((test) => test.pass)); + assert.equal(await evaluate('state.history.at(-1).source'), 'API Builder', 'API tool sends are kept in local HTTP History'); + assert.match(await evaluate('buildApiRequest().raw'), /\{\{baseUrl\}\}/, 'saved Builder requests retain environment URL variables'); + assert.match(await evaluate('buildApiRequest().raw'), /Bearer \{\{token\}\}/, 'saved Builder requests retain bearer token variables'); + await evaluate(`(()=>{ + newRepeater({raw:'GET /auth-compare HTTP/1.1\\nHost: 127.0.0.1:${server.address().port}\\nAuthorization: Bearer auth-test\\nCookie: session=fixture\\n\\n',target:${JSON.stringify(fixture)}}); + document.querySelector('#securitySource').value='repeater'; + })()`); + const comparison = await evaluate('(async()=>{await compareCredentials();return labState.comparison})()'); + assert.match(comparison.left, /Bearer auth-test/); + assert.doesNotMatch(comparison.right, /Bearer auth-test|session=fixture/); + assert.deepEqual(await evaluate('chrome.declarativeNetRequest.getSessionRules()'), []); + await evaluate(`(async()=>{ + document.querySelector('#securityScan').click();document.querySelector('#tabSelect').value='${fixtureTab}';await attach(); + await cdp('Runtime.evaluate',{expression:'window.fixtureSocket=new WebSocket(${JSON.stringify(fixture.replace('http:', 'ws:') + '/live')});window.fixtureSocket.onopen=()=>window.fixtureSocket.send("fixture-outbound");'}); + })()`); + await until('labState.websocketFrames.some(f=>f.direction==="Sent") && labState.websocketFrames.some(f=>f.direction==="Received")'); + assert.ok(await evaluate('labState.websocketFrames.some(f=>f.data.includes("fixture-live-message"))')); + await evaluate('(async()=>{await cdp("Runtime.evaluate",{expression:"window.fixtureSocket.close()"});await detach()})()'); + const persisted = await evaluate(`(async()=>{ + await flushLocalSave();const backup=captureWorkspace();Lab.validateBackup(backup); + const encrypted=await Lab.encryptBackup(backup,'fixture-backup-password'); + const decrypted=await Lab.decryptBackup(encrypted,'fixture-backup-password'); + window.fixtureBackup=decrypted; + return {history:backup.workspace.history.length,repeaters:backup.workspace.repeaters.length,collections:backup.workspace.collections.length,frames:backup.workspace.websocketFrames.length,environments:backup.workspace.environments.length,results:backup.workspace.runnerResults.length}; + })()`); + assert.ok(persisted.history > 0); + assert.ok(persisted.environments > 0); + const requestsBeforeRestore = fixtureRequestCount; + await evaluate('(async()=>{workflowState.collections=[];labState.environments=[];state.history=[];await applyBackup(Lab.validateBackup(window.fixtureBackup))})()'); + assert.equal(fixtureRequestCount, requestsBeforeRestore, 'workspace restore sends no HTTP requests'); + assert.equal(await evaluate('workflowState.collections.length'), persisted.collections); + assert.equal(await evaluate('state.history.length'), persisted.history); + assert.equal(await evaluate('state.settings.autoMode'), false); + assert.equal(await evaluate('state.attached'), false); + await call('Page.reload'); + await until('typeof labState !== "undefined" && labState.ready && document.readyState === "complete"'); + assert.equal(await evaluate('state.history.length'), persisted.history); + assert.equal(await evaluate('state.repeaters.length'), persisted.repeaters); + assert.equal(await evaluate('workflowState.collections.length'), persisted.collections); + assert.equal(await evaluate('labState.websocketFrames.length'), persisted.frames); + assert.equal(await evaluate('labState.environments.length'), persisted.environments); + assert.equal(await evaluate('workflowState.runner.results.length'), persisted.results); + assert.match(await evaluate('labState.builder.response'), /9007199254740993/); + // Exercise the file-import preview and explicit restore action. + const currentBackup = await evaluate('captureWorkspace()'); + const backupPath = `${process.cwd()}/local/browser-fixture-backup.json`; + await fs.writeFile(backupPath, JSON.stringify(currentBackup)); + await call('DOM.enable'); + let root = await call('DOM.getDocument'); + let fileInput = await call('DOM.querySelector', { nodeId: root.root.nodeId, selector: '#backupFile' }); + await call('DOM.setFileInputFiles', { nodeId: fileInput.nodeId, files: [backupPath] }); + await until('labState.pendingBackup && !document.querySelector("#backupPreview").classList.contains("hidden")'); + assert.match(await evaluate('document.querySelector("#backupSummary").textContent'), /No requests are sent/); + const uiRequestsBeforeRestore = fixtureRequestCount; + await evaluate('document.querySelector("#backupRestore").click()'); + await until('!labState.pendingBackup'); + assert.equal(fixtureRequestCount, uiRequestsBeforeRestore); + await fs.writeFile(backupPath, '{"format":"interceptor-backup","version":1,"workspace":{"history":"bad"}}'); + root = await call('DOM.getDocument'); + fileInput = await call('DOM.querySelector', { nodeId: root.root.nodeId, selector: '#backupFile' }); + await call('DOM.setFileInputFiles', { nodeId: fileInput.nodeId, files: [backupPath] }); + await until('document.querySelector("#toast").textContent.includes("Backup import failed")'); + assert.equal(await evaluate('labState.pendingBackup'), null); + assert.equal(await evaluate('state.history.length'), persisted.history); + await fs.rm(backupPath); assert.deepEqual(exceptions, []); if (process.argv.includes('--screenshots')) { @@ -254,7 +340,7 @@ try { document.querySelector('#decoderInput').value='{"orderId":9007199254740993,"amount":1,"validated":true}';runDecoder(); document.querySelector('#toast').classList.remove('show'); })()`); - for (const view of ['history', 'repeater', 'comparer', 'decoder', 'intercept', 'sitemap', 'inspector', 'runner', 'collections']) { + for (const view of ['history', 'repeater', 'comparer', 'decoder', 'intercept', 'sitemap', 'inspector', 'runner', 'collections', 'builder', 'security', 'websocket', 'workspace']) { if (view === 'intercept') { await evaluate(`(async()=>{ document.querySelector('#tabSelect').value='${fixtureTab}';await attach(); @@ -285,7 +371,7 @@ try { assert.equal(overflow, false, 'narrow workbench fits the viewport'); shot = await call('Page.captureScreenshot', { format: 'png' }); await fs.writeFile('local/screenshots-1.1.0/decoder-narrow.png', Buffer.from(shot.data, 'base64')); - for (const view of ['runner', 'collections', 'inspector', 'sitemap']) { + for (const view of ['runner', 'collections', 'inspector', 'sitemap', 'builder', 'security', 'websocket', 'workspace']) { await evaluate(`switchView('${view}')`);await delay(100); assert.equal(await evaluate('document.documentElement.scrollWidth > innerWidth'), false, `${view} fits narrow viewport`); } @@ -297,13 +383,14 @@ try { assert.match(await evaluate('workflowState.variables'), /host=127\.0\.0\.1/); await evaluate('(()=>{switchView("collections");document.querySelector("#collectionOpen").click()})()'); assert.match(await evaluate('activeRepeater().raw'), /\{\{payload\}\}/); - await evaluate('(async()=>{workflowState.remember=false;saveWorkspace();await new Promise(r=>setTimeout(r,50))})()'); - assert.equal(await evaluate("chrome.storage.local.get('workspace').then(data=>data.workspace===undefined)"), true); + await evaluate('(async()=>{saveWorkspace();await flushLocalSave()})()'); + assert.equal(await evaluate('LocalStore.read().then(data=>data.workspace.collections.length>0)'), true); assert.deepEqual(exceptions, []); - console.log('PASS: live intercept/Auto/Repeater, HAR, Site Map, Inspector, variables, payload Runner and cancellation, snapshots, collection persistence; no runtime exceptions.'); + console.log('PASS: intercept/Auto/Repeater, Runner and cancellation, API Builder/auth/assertions, credential comparison, live WebSocket capture, full encrypted backup/restore/reload; no runtime exceptions.'); } finally { if (fixtureTab) await evaluate(`chrome.tabs.remove(${fixtureTab})`).catch(() => {}); await call('Page.close').catch(() => {}); socket.close(); + for (const connection of socketConnections) connection.destroy(); await new Promise((resolve) => server.close(resolve)); } diff --git a/tests/lab.test.js b/tests/lab.test.js new file mode 100644 index 0000000..f84cf25 --- /dev/null +++ b/tests/lab.test.js @@ -0,0 +1,74 @@ +'use strict'; +const test = require('node:test'); +const assert = require('node:assert/strict'); +const Lab = require('../lab.js'); + +test('declarative assertions check status, headers, JSON Pointer, text and budgets', () => { + const items = Lab.parseAssertions(JSON.stringify([ + { type: 'status', equals: 201 }, { type: 'header', name: 'Content-Type', contains: 'json' }, + { type: 'header', name: 'X-Secret', absent: true }, { type: 'json', path: '/a~1b/~0key/0', equals: 42 }, + { type: 'json', path: '/missing', absent: true }, { type: 'bodyContains', value: '42' }, + { type: 'time', max: 500 }, { type: 'size', max: 1000 }, + ])); + const response = 'HTTP/1.1 201 Created\nContent-Type: application/json\n\n{"a/b":{"~key":[42]}}'; + assert.ok(Lab.runAssertions(items, response, { duration: 25, bytes: 30 }).every((result) => result.pass)); + assert.ok(Lab.runAssertions(items, response, { error: 'Cancelled' }).every((result) => !result.pass)); + assert.equal(Lab.runAssertions([{ type: 'json', path: '/constructor' }], response)[0].pass, false); + assert.equal(Lab.runAssertions([{ type: 'json', path: '', equals: { b: 2, a: 1 } }], 'HTTP/1.1 200 OK\n\n{"a":1,"b":2}')[0].pass, true); + assert.equal(Lab.runAssertions([{ type: 'json', path: '/missing', absent: true }], 'HTTP/1.1 200 OK\n\nnot JSON')[0].pass, false); + assert.throws(() => Lab.parseAssertions('[{"type":"script"}]'), /unknown/); + assert.throws(() => Lab.parseAssertions('[{"type":"status","equals":0}]'), /HTTP status/); +}); + +test('passive review deduplicates contextual findings and hides credential evidence', () => { + const entry = { id: 1, url: 'https://example.test/private?token=very-secret', status: 200, reqHeaders: [{ name: 'Authorization', value: 'Bearer private' }], resHeaders: [{ name: 'Content-Type', value: 'text/html' }, { name: 'Set-Cookie', value: 'session=super-secret; SameSite=None' }, { name: 'Access-Control-Allow-Origin', value: '*' }, { name: 'Access-Control-Allow-Credentials', value: 'true' }, { name: 'Cache-Control', value: 'public' }], resBody: 'SQLSTATE[123]' }; + const findings = Lab.passiveReview([entry, { ...entry, id: 2 }]); + assert.ok(findings.some((item) => item.code === 'cors-wildcard')); + assert.ok(findings.some((item) => item.code === 'cookie-none')); + assert.ok(findings.some((item) => item.code === 'debug-error')); + assert.ok(findings.some((item) => item.code === 'cache')); + assert.equal(findings.length, Lab.passiveReview([entry]).length); + assert.doesNotMatch(JSON.stringify(findings), /very-secret|super-secret|Bearer private/); +}); + +test('credential comparison removes credential headers while retaining query/body data', () => { + const result = Lab.withoutCredentials('POST /?token=query-secret HTTP/1.1\nHost: example.test\nAuthorization: Bearer token\nCookie: session=test\nX-API-Key: key\nContent-Type: application/json\n\n{"token":"body-secret"}', 'https://example.test'); + assert.doesNotMatch(result.raw, /Authorization:|Cookie:|X-API-Key:/i); + assert.match(result.raw, /token=query-secret/); + assert.match(result.raw, /body-secret/); +}); + +test('Postman import preserves folder requests, variables, bearer auth and skips executable scripts', () => { + const data = { info: { name: 'Local API' }, variable: [{ key: 'baseUrl', value: 'https://example.test' }], auth: { type: 'bearer', bearer: [{ key: 'token', value: '{{token}}' }] }, event: [{ script: { exec: ['throw Error("never execute")'] } }], item: [{ name: 'API', item: [{ name: 'Create', request: { method: 'POST', url: '{{baseUrl}}/orders', header: [{ key: 'Content-Type', value: 'application/json' }], body: { mode: 'raw', raw: '{"amount":1}' } } }, { name: 'File', request: { url: '{{baseUrl}}/upload', body: { mode: 'formdata' } } }] }] }; + const result = Lab.importPostman(data); + assert.equal(result.requests.length, 1); + assert.match(result.requests[0].raw, /Authorization: Bearer {{token}}/); + assert.equal(result.requests[0].folder, 'API'); + assert.equal(result.variables, 'baseUrl=https://example.test'); + assert.ok(result.warnings.some((value) => value.includes('scripts'))); + assert.ok(result.warnings.some((value) => value.includes('formdata'))); +}); + +function backup() { + return { format: 'interceptor-backup', version: 1, workspace: { history: [], repeaters: [], collections: [], autoLog: [], runnerResults: [], findings: [], environments: [], websocketFrames: [], fields: {}, settings: {} } }; +} +test('backup validation rejects malformed restores and accepts unfinished assertion drafts', () => { + const data = backup(); + data.workspace.repeaters.push({ id: 1, raw: 'GET / HTTP/1.1\n\n', target: 'https://example.test', assertions: '[unfinished', snapshots: [] }); + assert.equal(Lab.validateBackup(data).repeaters[0].assertions, '[unfinished'); + data.workspace.repeaters[0].snapshots.push({ id: ' diff --git a/dashboard.js b/dashboard.js index 41a93f5..0030044 100644 --- a/dashboard.js +++ b/dashboard.js @@ -3,6 +3,30 @@ const $ = (s) => document.querySelector(s); const $$ = (s) => [...document.querySelectorAll(s)]; + +function applyShortcutHints(platform) { + const mac = /^mac(?:os|intel|intosh)?$/i.test(String(platform || '')); + const modifier = mac ? '⌘' : 'Ctrl'; + const spokenModifier = mac ? 'Command' : 'Control'; + const ariaModifier = mac ? 'Meta' : 'Control'; + for (const hint of $$('[data-shortcut]')) { + hint.textContent = `${modifier} + ${hint.dataset.shortcut}`; + hint.setAttribute('aria-label', `${spokenModifier} + ${hint.dataset.shortcut}`); + } + for (const button of $$('[data-shortcut-title]')) { + button.title = `${modifier} + ${button.dataset.shortcutTitle}`; + button.setAttribute('aria-keyshortcuts', `${ariaModifier}+${button.dataset.shortcutTitle}`); + } +} + +async function configureShortcutHints() { + const fallback = navigator.userAgentData?.platform || navigator.platform || ''; + applyShortcutHints(fallback); + try { applyShortcutHints((await chrome.runtime.getPlatformInfo()).os); } + catch { /* the local platform fallback remains visible */ } +} +const shortcutHintsReady = configureShortcutHints(); + let dashboardPort; let closingDashboard = false; function connectDashboard() { diff --git a/tests/browser-integration.mjs b/tests/browser-integration.mjs index b80f80a..4d19c27 100644 --- a/tests/browser-integration.mjs +++ b/tests/browser-integration.mjs @@ -88,6 +88,25 @@ try { await call('Runtime.enable'); await call('Page.enable'); await until('typeof state !== "undefined" && document.readyState === "complete" && state.repeaters.length'); + const platform = await evaluate('chrome.runtime.getPlatformInfo().then(info=>info.os)'); + const initialShortcut = await evaluate('(async()=>{await shortcutHintsReady;return document.querySelector("[data-shortcut]").textContent})()'); + assert.equal(initialShortcut, platform === 'mac' ? '⌘ + Enter' : 'Ctrl + Enter'); + for (const [os, modifier, ariaModifier] of [['mac', '⌘', 'Meta'], ['win', 'Ctrl', 'Control'], ['linux', 'Ctrl', 'Control'], ['MacIntel', '⌘', 'Meta'], ['macOS', '⌘', 'Meta']]) { + const rendered = await evaluate(`(()=>{applyShortcutHints(${JSON.stringify(os)});return { + hints:[...document.querySelectorAll('[data-shortcut]')].map(e=>({key:e.dataset.shortcut,text:e.textContent})), + buttons:[...document.querySelectorAll('[data-shortcut-title]')].map(e=>({key:e.dataset.shortcutTitle,title:e.title,aria:e.getAttribute('aria-keyshortcuts')})), + decoderIcon:document.querySelector('[data-view="decoder"] .nav-icon').textContent + }})()`); + assert.ok(rendered.hints.every(hint=>hint.text === `${modifier} + ${hint.key}`)); + assert.ok(rendered.buttons.every(button=>button.title === `${modifier} + ${button.key}` && button.aria === `${ariaModifier}+${button.key}`)); + assert.notEqual(rendered.decoderIcon, '⌘'); + } + await evaluate(`applyShortcutHints(${JSON.stringify(platform)})`); + for (const key of ['ctrlKey', 'metaKey']) { + await evaluate(`document.dispatchEvent(new KeyboardEvent('keydown',{key:'k',${key}:true,bubbles:true}))`); + assert.equal(await evaluate('document.querySelector("#toolDialog").open'), true); + await evaluate('document.querySelector("#toolDialog").close()'); + } await evaluate(`chrome.storage.local.set({settings:{...state.settings,autoMode:false,autoInclude:'',autoExclude:''}})`); fixtureTab = await evaluate(`(async()=>{ const tab = await chrome.tabs.create({url:${JSON.stringify(fixture)}}); From 619736dbb10f136e6eec0e4d34c0d15262f19172 Mon Sep 17 00:00:00 2001 From: user-github-me Date: Sat, 3 Oct 2026 12:44:08 +0800 Subject: [PATCH 5/5] test: wait for shortcut handlers before platform keyboard checks --- tests/browser-integration.mjs | 1 + 1 file changed, 1 insertion(+) diff --git a/tests/browser-integration.mjs b/tests/browser-integration.mjs index 4d19c27..f73854a 100644 --- a/tests/browser-integration.mjs +++ b/tests/browser-integration.mjs @@ -102,6 +102,7 @@ try { assert.notEqual(rendered.decoderIcon, '⌘'); } await evaluate(`applyShortcutHints(${JSON.stringify(platform)})`); + await until('typeof labState !== "undefined" && labState.ready'); for (const key of ['ctrlKey', 'metaKey']) { await evaluate(`document.dispatchEvent(new KeyboardEvent('keydown',{key:'k',${key}:true,bubbles:true}))`); assert.equal(await evaluate('document.querySelector("#toolDialog").open'), true);