Repository navigation
Releases: sageoffensive/DoubleAgent
Release list
DoubleAgent v3.3.26 — Reliable finding status and assessment continuity
DoubleAgent v3.3.26 — Reliable finding status and assessment continuity
This release brings Agent B's local improvements since v3.3.4 to the public Mac and web editions. Agent A remains the Burp authority for scope, target traffic, findings and write-back.
Agent B now keeps exact queue identity across a saved assessment, resumes only the intended item, and reports coverage gaps rather than claiming untested routes. Bounded parallel workers can help plan and review evidence; the UI shows their actual model calls and measured aggregate output rate. The chat has a simpler composer, visible thinking, clearer activity and Day/Night themes. Test accounts can be added by username, password and role when cross-account testing needs them; credentials stay in local app settings.
Finding review now distinguishes a candidate's confidence from its validation status. Agent B uses human-readable finding numbers in chat, ties validation to captured baseline, mutation and control evidence, and writes accepted verdicts back to DoubleAgent. A gated queue result cannot silently label a finding Valid. A separately accepted finding-level verdict with three captured responses can clear a prior gate, while missing or mismatched evidence stays Needs Investigation. Duplicate review preserves exact affected-location checks and writes accepted hide decisions back to Burp.
The target boundary remains enforced by Burp for assessment traffic. Out-of-scope internet access asks for an explicit Allow or Deny decision with the reason and proposed transfer visible. Parallel workers do not make target requests.
Validation: 102 extension tests, 468 Agent B Python tests and 10 JavaScript UI test files pass in the release checkout. The Mac bundle was also checked with strict code-signature, notarization, stapling, Gatekeeper and isolated-runtime smoke checks. These checks do not establish that any particular target finding is exploitable. A quarantined clean-Mac installation and all supported macOS versions were not independently exercised.
Downloads: the Apple Silicon Mac app, Burp extension source, full source archive and SHA-256 checksums are attached to the GitHub release. Quit Agent B before replacing the app; local settings and conversations are stored outside the app bundle.
Agent B v3.3.4 — Parallel teammates and clearer chat
Agent B v3.3.4 — Parallel teammates and clearer chat
Agent B can delegate evidence reviews and planning across saved model connections, show when those workers are actually being used, and present their results in a cleaner chat. This release includes the changes from local builds v3.3.0–v3.3.2.
Parallel subagents
Enable Settings → Run & scope → Subagents, choose saved connections and set the maximum concurrent workers from 1–16 (default 4, in addition to the lead). Choose both Spark connections to distribute assignments between them, or leave the selection empty to inherit the lead's connection. Subagents are off by default and settings apply to the next run.
Suitable multi-finding reviews and assessment jobs automatically start independent reviews or planning assignments. The lead can delegate further batches; ordinary chat uses workers when the lead chooses to delegate. Each worker has a separate model client, context and bounded budget. Failed workers retain successful results. More workers increase model requests and possible provider charges; speed depends on server capacity.
Workers can read captured Burp evidence and engagement context. They cannot send target traffic, fetch internet data, modify findings, approve actions, run commands or spawn workers. The lead reviews their untrusted proposals and retains authentication, target actions, verdicts and final decisions. Burp scope and explicit internet Allow / Deny controls remain in force. Stop cancels the lead, active workers and queued assignments.
Visible activity and measured speed
A team bar above the message box stays visible when thinking is collapsed. It shows active workers against the limit, queued and finished assignments, cancellations and failures. Expand it for each task's connection, phase and completed-request TPS. Lead only explicitly means no subagents have been used.
Aggregate TPS uses provider-reported output tokens across the lead, workers and evidence reviewer, divided by their shared model-request wall time. Overlapping intervals count once. It is a completed-request average, including prefill and network time and excluding time between model calls. It updates as requests finish; in-flight calls are excluded until then. Missing final usage makes the aggregate Unavailable, with reporting coverage shown. No token estimates or summed per-worker rates are used.
OpenAI-compatible streams request usage totals and retry without that option if the server explicitly rejects it. Anthropic and Bedrock native usage fields are supported. Interrupted calls may not report final usage.
Clearer chat and reliable context
Replies use a clean reading column, proper paragraphs, headings, nested lists, emphasis, inline code, labelled code blocks, quotes and scrollable tables. Long answers stay visible in full. User messages remain in compact bubbles. Markdown is rendered and sanitized locally; raw HTML is displayed literally, unsafe links are removed, and external images become clickable links rather than automatic downloads. Local attachment previews can still display inline. Pinned Markdown dependencies and their licenses are bundled for offline rendering.
Tool-call references survive attachment expansion so strict model APIs can accept delegated results. Single-finding validation retains its Auto reasoning optimization, compact decisive evidence, accepted-verdict state and bounded transport retries.
Downloads and upgrade
Agent-B-macOS-arm64-v3.3.4.zip: signed, notarized and stapled Apple Silicon app, build 3304, with bundled Python.DoubleAgent-Burp-v3.3.4.zip: the unchanged Agent A loader and modular source, extension version 3.2.2.DoubleAgent-v3.3.4.zip: source, documentation and the exact packaged Mac app.SHA256SUMS: checksums for all three archives.
Stop any current run and quit Agent B before replacing the app in Applications. Existing settings, conversations and saved assessment state are preserved. Subagents remain opt-in.
Validation and limits
337 Agent B tests, 61 extension tests and five JavaScript UI checks pass. Tests cover parallel inference across two synthetic saved endpoints, credential isolation, worker limits, cancellation, failure handling, deadlines, budgets, blocked privileged actions, target changes, throughput overlap and missing usage. Markdown checks cover structure, safe links, escaping, fallback and pinned dependency integrity; a browser check also exercises the actual sanitizer with malicious inputs. Desktop and minimum-window layouts were checked. A harmless local-server smoke verified returned token usage; it is not a hardware throughput benchmark.
The exact Mac bundle passes strict signatures, Apple notarization, stapling, Gatekeeper and isolated-runtime smoke checks. Staged source and extracted release archives are scanned for secrets, and published archive checksums are verified. A quarantined clean-Mac installation and the minimum supported macOS version have not been comprehensively tested. The supplied binary is Apple Silicon for macOS 13+; no Intel binary is included.
Agent B v3.2.5 — Streamlined chat and controls
Agent B v3.2.5
The chat composer uses a rounded, growing message box with a compact bottom toolbar. Attachments and verified Burp scope status sit on the left; the current model, supported thinking preference and message controls sit on the right. The model control opens Connections. Scope status requires the connected extension's fail-closed guard and describes target traffic only.
Stop is inside the composer and cancels the current run directly. It remains available while Agent B is working or waiting for an approval. Typing during a run reveals Send guidance beside Stop. Pending approvals still require their explicit choice; a chat message cannot approve them. Drafts survive stopping or a failed stop request.
The message box grows with multiline text. Compact windows keep the toolbar reachable, with labels, tooltips and keyboard focus for icon controls.
Burp actions now sit together at the bottom of the sidebar, directly above New conversation, Settings and Help. Connection details scroll independently in smaller windows.
Downloads and upgrade
Agent-B-macOS-arm64-v3.2.5.zip: signed, notarized and stapled Apple Silicon app, build 3205, with bundled Python. Stop any current run and quit Agent B before replacing the app in Applications.DoubleAgent-Burp-v3.2.5.zip: the unchanged Agent A loader and modular source, extension version 3.2.2.DoubleAgent-v3.2.5.zip: source, documentation and the exact packaged Mac app.SHA256SUMS: checksums for all three archives.
Replacing the app preserves existing settings and conversations. This release changes Agent B's interface; Burp's scope gates and explicit internet Allow / Deny choices remain in place. The scope indicator describes target traffic through Burp, separate from configured model-provider connections.
Validation and limits
303 Agent B tests, 61 extension tests and all three JavaScript UI checks pass. The isolated bundle smoke check covers startup, empty settings, read-only findings on connect, notes, uploads and exports. The installed app retains saved databases, settings and the unsent draft. Strict signatures, Apple notarization, the stapled ticket and Gatekeeper acceptance are verified. Desktop and minimum-window layouts were checked.
The staged source and extracted release archives are scanned for secrets before publication. A quarantined clean-Mac installation and the minimum supported macOS version have not been comprehensively tested. This release provides an Apple Silicon app for macOS 13+; no Intel binary is included.
DoubleAgent v3.2.4: Teammate chat and reliable dedupe
DoubleAgent v3.2.4
One teammate chat, with duplicate decisions saved back to Burp. This release brings together the Agent B changes since v3.2.0 and includes the updated Agent A extension.
One conversation
Ask questions, read captured evidence or give testing directions in the same chat. Agent B can start the appropriate bounded Burp task directly from your request, without a Discuss mode or sidebar handoff. New directions reach the controller, and saved task outcomes support follow-up questions. Findings use the numbers shown in Burp, such as #3. Detailed thinking and activity remain collapsed by default.
Duplicates that actually stay hidden
“Dedupe the list” starts a read-and-classify review of saved findings. Accepted duplicate verdicts are written to DoubleAgent and hidden from the normal findings view, preserving their original IDs, evidence, audit history and canonical references. Show hidden reveals duplicates and false positives; reclassifying a duplicate restores its visibility. A consolidated chat list alone is never reported as a saved change. Duplicate review sends no target traffic.
Duplicate-review tools now accept displayed finding numbers such as #31, resolving them to trusted immutable IDs within the active comparison population. Saved comparison pages include the display number, and rejected references return the valid mapping for recovery. Unknown numbers, unrelated findings, self-duplicates and attempts to hide a retained canonical finding remain blocked.
The duplicate-review tool schema explicitly requires both a canonical reference and matching evidence, aligning the model's instructions with the enforced write contract.
Resuming a saved review after restarting Burp reclaims that exact queue item. If it is missing, the harness stops instead of selecting unrelated pending work.
The complete finding index and accepted duplicate pairs remain available after context compaction, preventing repeated recovery reads just to recover references. Duplicate-review instructions ask for human input only when evidence or a material decision is missing, rather than reconfirming an already-authorized review.
Assessment tasks honor the chat's thinking preference. Duplicate review can recover from an exhausted optional-reasoning budget without overriding an explicit operator preference. Stop also cancels streaming responses at the next received chunk on servers that close the HTTP connection after streaming.
Burp's scope, authentication and evidence gates remain in place. Public-reference lookups still require a one-time Allow / Deny choice showing the destination, data and reason. These controls do not govern configured model-provider traffic or every process on the host.
Downloads and upgrade
Agent-B-macOS-arm64-v3.2.4.zip: signed, notarized and stapled Apple Silicon app, build 3204, with bundled Python. Move Agent B.app to Applications after stopping the current run and quitting the old app.DoubleAgent-Burp-v3.2.4.zip: Agent A loader and modular source, extension version 3.2.2. Extract the complete folder and reloadagent_A_burp/DoubleAgent.pywithsrc/beside it. Both components must be updated for retained duplicate write-back.DoubleAgent-v3.2.4.zip: source, documentation and the exact packaged Mac app.SHA256SUMS: checksums for all three archives.
Existing Agent B settings and conversations are preserved when replacing the app. Back up your Burp project and DoubleAgent workspace before reloading the extension.
Validation and limits
303 Agent B tests pass against the source and exact bundled runtime; 61 extension tests and both JavaScript UI checks pass. The isolated bundle smoke check covers startup, empty settings, read-only findings on connect, notes, uploads and exports. Strict signatures, Apple notarization, the stapled ticket and Gatekeeper acceptance are verified. The staged source and extracted release archives are scanned for secrets before publication.
A live saved-finding review verified accepted duplicate receipts, canonical retention, normal/hidden visibility and persistence without target traffic. The configured model needed steering to stop repeated evidence reads; the finding-index and resume fixes improve recovery but do not guarantee model judgment or autonomous completion. A quarantined clean-Mac installation, Intel builds and the minimum supported macOS version have not been comprehensively tested. Review the evidence and configure authorized Burp scope before assessment work.
DoubleAgent v3.2.0 — Agent B hypotheses and evidence review
DoubleAgent v3.2.0
Agent B is now DoubleAgent's main assessment experience, on Mac and the web. This release removes beta branding and adds durable hypothesis tracking and stronger review of captured evidence. Agent A remains the Burp extension responsible for target requests, scope and findings.
Remember what has been tested
- A local hypothesis registry tracks attack family, route, parameter, actor, mechanism, outcomes, blockers and captured evidence IDs for each engagement, target and queue item.
- Full App test tracks populate the registry automatically. Focused investigations can add and select concrete hypotheses; matching normalized identities reuse the same entry.
- Reopening a terminal idea requires an explanation of new information. The registry survives restarts and context compaction, supports pagination and appears in the existing notes export. It grants no scope, credentials or approval.
Confirm findings from captured evidence
- A fresh reviewer with no tools receives harness-captured Burp observations separately from the model's claim and, for existing findings, the original candidate read from Burp. The reviewer uses your configured model connection.
- Confirmation requires at least three current-run captures, a distinct mutation, a matching captured PoC, citations to the supporting evidence and consideration of a benign alternative. Unknown, stale, cross-hypothesis or mismatched evidence cannot confirm a finding.
- Captures are redacted and bounded, with explicit truncation flags. New findings store the captured response excerpt instead of model-authored response text. Missing evidence, malformed reviews, cancellation or reviewer failures block confirmed write-back and preserve evidence for operator review.
- Generic finding writes use the same review gate. Bulk triage cannot bypass it, and queue summaries cannot implicitly promote linked candidates or replace an already reviewed PoC.
Simpler Burp connection
Connecting reads a bounded findings snapshot and offers Verify findings or Discuss something else in the conversation. There is no separate validation button. Discussion remains read-only; verification starts when you choose it. Missing data and sampling limits are explicit.
Burp remains authoritative for target scope. Supported public-reference lookups retain the one-time Allow / Deny choice, with collapsed request details showing the destination, data and reason. These controls do not govern configured model-provider traffic or every process on the host.
Downloads
Agent-B-macOS-arm64-v3.2.0.zip: Developer ID-signed, notarized and stapled Apple Silicon app, build 3200, with bundled Python. Extract and move Agent B.app to Applications.DoubleAgent-Burp-v3.2.0.zip: Agent A loader and modular source. Extract the full archive and loadagent_A_burp/DoubleAgent.pybesideagent_A_burp/src/.DoubleAgent-v3.2.0.zip: source, documentation and the packaged Mac app.SHA256SUMS: checksums for the three archives.
Validation and limits
276 Agent B tests, 57 extension tests and both JavaScript UI checks pass. The Agent B suite also passes using the app's bundled runtime; an isolated smoke check covers startup, empty settings, read-only findings on connect, notebook persistence, uploads and exports. Strict signatures, Apple notarization, stapling and Gatekeeper acceptance are verified. Source and extracted distribution contents are scanned for secrets before publication; GitHub CI covers Jython/Swing compatibility and the bundled macOS runtime.
The registry and reviewer are tested with synthetic evidence and model responses. Model review can still be wrong; it does not prove a vulnerability or guarantee safety. Live target/model interoperability, a quarantined clean-Mac installation, Intel builds and the minimum supported macOS version are not comprehensively validated by these checks. Review the evidence and configure Burp's authorized scope before assessment work.
DoubleAgent 3.1.0 beta 9 — Findings in chat on connect
DoubleAgent 3.1.0 beta 9
Connect to Burp now automatically makes Agent A findings available in Agent B chat. Previously, connecting loaded the assessment contract but left the separate chat snapshot disabled, so Agent B could say there was nothing to read even when findings existed.
Findings in chat
- Connecting enables and captures a read-only snapshot. Your next chat message refreshes it and supplies the captured findings to your selected model, with finding IDs, evidence previews, source references and a capture time.
- The snapshot is bounded to 30 findings and 20 queue items. Agent B must identify sampling limits; unavailable data is never treated as proof that no findings exist.
- Connection uses fixed reads from the configured Burp API. It does not call a model, claim queue work, run scanners or send target traffic. Starting an assessment still requires choosing an assessment task.
- Missing findings produce an honest unavailable message and are retried on the next chat message. A different target cannot be merged into the conversation; start a new conversation first.
- Read-only sharing can still be disabled in Settings. Existing notebook notes and paused assessment checkpoints are preserved.
- Scope enforcement and the one-time Allow/Deny controls for supported internet reference requests remain in place. These controls do not govern configured model-provider traffic or every process on the host.
Easier setup
- The GitHub layout now separates
agent_A_burp,agent_b_webandagent_b_mac. The Mac folder contains only the ready-built app archive. - The simplified README includes copy-and-paste agent setup prompts. They ask where to install, then walk through Agent A passive analysis and choosing models for both agents.
Downloads
Agent-B-macOS-arm64-v3.1.0-beta.9.zip: signed, notarized and stapled Apple Silicon app, build 3109, with bundled Python.DoubleAgent-Burp-v3.1.0-beta.9.zip: Burp loader and modular source. Extract the full archive and loadagent_A_burp/DoubleAgent.pybesideagent_A_burp/src/.DoubleAgent-v3.1.0-beta.9.zip: reviewed source, documentation and the Mac app archive.SHA256SUMS: archive checksums.
Verification and remaining limits
- 254 Agent B tests and 57 extension tests pass. New regressions cover automatic chat grounding, fixed GET-only access, secret redaction, persistence and opt-out, target changes, failed reads, truly empty findings and connection/chat concurrency.
- The same 254 tests pass against the app's bundled runtime. A synthetic local Burp API verifies the packaged
/api/connect/burproute enables and captures findings using only the expected reads, without a model connection or target traffic. - JavaScript checks and Jython 2.7.4 compatibility/Swing checks pass. The app matches reviewed source; strict signatures, Apple notarization, stapling and Gatekeeper checks pass. Source and packaged artifacts are scanned for secrets before publication.
- Synthetic checks do not replace live Burp/model interoperability testing or a quarantined clean-Mac installation test. Intel and minimum-supported-macOS validation remain outstanding. This is an experimental prerelease.
DoubleAgent v3.1.0-beta.8 — App access readiness and Repeater fixes
DoubleAgent 3.1.0 beta 8
Agent B now checks app access before Full App work and pauses credential-dependent work when authentication is uncertain. Double Agent's manual Send to Repeater action now uses the request attached to a finding instead of relying on Proxy history.
App access before assessment
- Before Full App planning or model-driven testing, the harness reads captured Burp responses and checks the app's exact URL against Burp scope. A cookie or HTTP 200 alone does not prove authentication.
- When access or login is uncertain, choose I'm signed in through Burp, The app doesn't need a login, or Stop. Sign in through your Burp browser and confirm only once access works. Credential-dependent prompts omit the public-app choice.
- The question appears once, with context collapsed and the normal composer hidden. Passwords and tokens must not be pasted into chat. Only the displayed choices are accepted, and answers are single-use.
- Captured evidence and operator confirmation are labelled separately. The readiness check is passive: it sends no app request and neither source is presented as a fresh live login verification.
- A rejected session pauses for confirmation instead of automatically replaying authentication. Intentional anonymous control requests do not trigger a login prompt.
- Full App resume checks access again; readiness is not restored as permission from a checkpoint. Stop and app restart cancel pending questions. While waiting, the queue claim is kept alive; an incomplete check releases the claim where the local API is available.
- Regular chat, Connect to Burp, and read-only duplicate review do not require this gate. Burp's existing scope and safety decisions remain authoritative, with no override for uncertain or out-of-scope URLs.
Repeater handoff repaired
- Findings Send to Repeater and double-click prefer the saved request, preserving its method, headers and body, even when the finding came from Scanner or Agent B rather than Proxy history.
- When no saved request exists, only an exact URL/method history match is used. A URL-only fallback creates a clearly labelled URL starter GET; it is not reported as the captured request or a verified PoC.
- Findings and queue buttons run Burp callbacks off Swing's event-dispatch thread. The selected finding or queue identity is captured before the worker starts, so sorting or a background refresh cannot select a different item.
- Queue URL-only handoffs preserve the URL path and query. Empty or unusable items report that no tab was created.
- Creating a Repeater tab does not send target traffic. The old browser-navigation fallback is removed.
Downloads
Agent-B-macOS-arm64-v3.1.0-beta.8.zip: signed, notarized and stapled Apple Silicon app, build 3108, with bundled Python.DoubleAgent-Burp-v3.1.0-beta.8.zip: Burp loader and modular source. Extract the full archive and reloadburp/DoubleAgent.pybesideburp/src/.DoubleAgent-v3.1.0-beta.8.zip: reviewed source and documentation for both agents.SHA256SUMS: archive checksums.
Verification and remaining limits
- 246 Agent B tests and 56 public-extension tests pass. Readiness regressions cover ambiguous cookies/200s, login forms, cross-origin and port mismatches, unavailable scope, explicit public access, rejected sessions, cancellation, restart, and gating before Full App planning.
- Repeater tests use callback stubs and synthetic requests, checking exact request preservation, sorted selection, history fallback, destination ports/TLS, URL paths/queries, and background-worker handoff. No live target traffic or scanner activity was used for this release verification.
- Jython 2.7.4 compilation and real Swing event-thread checks pass with stubbed Burp callbacks; CI repeats this compatibility check using a checksum-pinned Jython runtime.
- JavaScript checks, 246 tests against the bundled runtime, isolated startup/upload/download smoke checks, and exact source-to-bundle comparison pass. The Apple Silicon app is signed, notarized and stapled; strict signature and Gatekeeper checks pass. Source and packaged artifacts are scanned for secrets before publication.
- Live Burp Repeater callback verification remains outstanding. Automated smoke checks do not replace a quarantined clean-Mac installation test; Intel and minimum-supported-macOS validation remain outstanding. This is an experimental prerelease.
- The one-time internet permission controls from beta 7 remain in place. They govern supported public-reference retrieval, not configured model-provider traffic or every process on the host.
DoubleAgent 3.1.0 beta 7 — one-time internet permission
DoubleAgent 3.1.0 beta 7
Agent B now asks for your permission before fetching supported public reference data. A compact Allow / Deny card replaces Review together, making the next internet request visible and keeping the decision with you.
New security feature: one-time internet permission
- See the request before it runs. A short summary describes the lookup. Expand Request details, collapsed by default, to see the destination, exactly which identifiers or file paths will be sent, what will be fetched, why the model needs it, and which configured model receives the result.
- Allow once or Deny. No reference retrieval starts before Allow. Permission binds to the immutable request shown in the card. Each additional lookup requires a new choice. Deny prevents automatic retries for the rest of the chat turn.
- The harness enforces the decision. Models cannot approve themselves or use approval flags, uploaded-file instructions, retrieved content or earlier conversational intent as consent. Stop and app restart cancel pending permission; stale answers cannot be replayed. Stop cannot recall data already sent.
- Destinations remain bounded. Supported references are published OSV advisories, exact package/version advisory matches, and up to six selected public GitHub source/text files at an explicit revision. GitHub retrieval resolves the approved revision to one commit. Arbitrary URLs, redirects, crawling, credentials, cookies, inherited proxies, repository cloning and file execution remain unavailable.
- Scope stays authoritative. Reference proposals are available only in regular chat. They cannot run assessment tools, send target traffic, change scope or create findings. Burp's existing scope and safety gates remain enforced.
This controls model-initiated public-reference retrieval, not every network call made by the app. Normal chat still uses its configured model connection; Burp assessment traffic retains its existing controls. Retrieved text is untrusted reference material, and an advisory or static match is not a verified vulnerability.
Simpler chat
- Removed the Review together button, offers, panel and script. The old research launch endpoints return HTTP 410, including requests carrying old consent flags.
- Pending internet requests appear once, with Allow/Deny and collapsed details. Requests and the operator's choices remain visible in the chat history after the decision.
- Existing research notes and read-only historical exports are preserved. Settings, saved connections and chat history are preserved by the installed-app update.
- Help now explains internet permission. No extra mode or sharing checkbox is needed.
- Displayed version v3.1.0-beta.7; Mac bundle build 3107. Burp's version label is updated; this release adds no new Burp testing behavior.
Downloads
Agent-B-macOS-arm64-v3.1.0-beta.7.zip: signed, notarized and stapled Apple Silicon app with bundled Python.DoubleAgent-Burp-v3.1.0-beta.7.zip: Burp extension and modular source.DoubleAgent-v3.1.0-beta.7.zip: reviewed source and documentation for both agents.SHA256SUMS: archive checksums.
Verification and remaining limits
- 226 Agent B tests and 48 extension tests pass with the bundled Python 3.12 runtime. Permission regressions verify no retrieval before Allow, Deny blocking retries, fresh consent per lookup, Stop/restart cancellation, strict Allow/Deny answers, rejected model-supplied consent flags, immutable approved inputs, selected-file retrieval and absence of assessment tools in chat.
- JavaScript syntax and permission-card rendering checks pass. Isolated UI checks exercise Allow, Deny and Stop, verify collapsed details, a single pending card, preserved expansion across polling, narrow-window usability and no browser errors. Lookup transport was mocked; these tests sent no live reference or target requests and ran no scanners.
- The exact app passes strict signature verification, Apple notarization, stapling, ticket validation and Gatekeeper. Its isolated runtime smoke check verifies startup, empty settings, UI, notes/export, local uploads/downloads, removal of the old research endpoint, and offline JavaScript reports. Bundled harness/UI files match the release source byte for byte.
- Exact staged source and final app secret scans are clean. Release archives have published SHA-256 checksums.
This remains a prerelease, tested on Apple Silicon with macOS 27.2. A quarantined installation on a clean Mac, Intel and minimum-supported-macOS testing remain outstanding. See the macOS release checklist and internet permission guide.
DoubleAgent v3.1.0-beta.6
DoubleAgent 3.1.0 beta 6
This release simplifies Agent B's chat and fixes duplicate-review recovery and failed Settings saves.
Changes
- One chat with automatic routing. Conversation/Notebook/Assessment tabs, the mode selector, response-download buttons and the top status section are removed. Thinking and activity are collapsed by default. Pending questions appear once, with one reply box; approval choices remain explicit.
- Help is below Settings. Notes, context and exports remain in Settings → Run & scope. Existing consent-gated source review and offline JavaScript analysis are retained. Agent B uses its new black hat icon.
- Load models lists IDs from a connection's server without saving its draft or sending an inference request. Manual model entry remains available on catalogue failure; saved credentials cannot move silently to another server.
- Duplicate review retains an immutable comparison snapshot and accepted verdicts. Its read-only page tool recovers all rows after compaction and restart, including deleted duplicates. Changed populations, incomplete completion lists and unaccepted deletion receipts remain blocked. It cannot send target traffic or run scanners.
- Burp Settings validates the entire draft before applying any change. Invalid fields show a dialog and focus the field. Configuration writes are atomic; failed persistence restores the prior configuration, reporting PIN, provider keys and live state.
- Hidden FP counts and informational severity labels are clearer. Destructive finding actions require confirmation, and deletion retains selection identity if background rows change. Deleted duplicates remain deleted.
- Pending actions stay disabled across polling, stale connection-test results are ignored, cancelled password drafts are cleared, and waiting activity stops its timer. Saved verdict counts are labelled accurately.
- Displayed version v3.1.0-beta.6; Mac bundle build 3106.
Downloads
Agent-B-macOS-arm64-v3.1.0-beta.6.zip: signed, notarized and stapled Apple Silicon app with bundled Python.DoubleAgent-Burp-v3.1.0-beta.6.zip: Burp extension and modular source. Reload the extension to activate its fixes.DoubleAgent-v3.1.0-beta.6.zip: reviewed source and documentation for both agents.SHA256SUMS: archive checksums.
Verification and remaining limits
- 220 Agent B tests and 48 extension tests pass with the bundled Python 3.12 runtime. Regression checks force context compaction, recover every comparison ID, restore accepted deletion state after restart, deny unrelated calls, reject invalid settings without mutations, and restore files/live state after failed writes.
- JavaScript syntax, passive source-review checks and Burp Python compilation pass. Isolated UI checks cover the single chat, connection editor/catalogue controls, Help, notes under Settings, preserved source-review controls and narrow-window layout, with no browser errors.
- The exact app passes strict code-signature verification, Apple notarization, stapling, ticket validation and Gatekeeper. Its isolated runtime smoke test covers empty settings, startup/UI, notes/export, local upload/download, source import/export and offline JavaScript reports. No target traffic, scanner run or live finding/approval writes were used for these checks.
- Exact staged source and final app secret scans are clean. The shipped harness/UI matches reviewed source byte for byte, and release archives have published SHA-256 checksums.
This remains a prerelease. Validation was performed on Apple Silicon with macOS 27.2. A quarantined installation on a clean Mac, Intel and minimum-supported-macOS testing remain outstanding; the isolated smoke check does not substitute for these. The app targets Apple Silicon only. See the macOS release checklist.
DoubleAgent v3.1.0-beta.5
DoubleAgent 3.1.0 beta 5
Changes
- JavaScript analysis is now a built-in skill under Settings → Skills. It adapts xrip/claude-skill-analyze-js at pinned commit
64cb40cd5afaf0b946e2e44065da19c84b4ff69c, with the MIT license and provenance included. - Attach
.js,.jsxor.mjsfiles in Discuss and choose Analyze JS to inspect or download a local report without a model connection. The native Python analyzer identifies endpoint references, URLs, masked credential candidates, emails, file references and bundler hints. No Bun, npm or Node installation is required. - Selecting the skill includes its report and review instructions when the operator sends the attached file in Discuss. Discuss continues to supply no assessment tools. Existing skill selections remain unchanged until the operator enables this module.
- Reports preserve original-upload line/column locations, deduplicate candidates and display up to 100 items, prioritizing credential candidates. Truncated counts are explicitly labelled as a sample. Detected credential values are fully masked in stored source, downloads and reports.
- Test connection moves to the main Connections settings pane and tests the selected saved connection. Editing a connection retains its existing save/validation controls.
- Existing Conversation/Notebook/Assessment views, scope guards and consent-gated inline source review remain available. Agent A is unchanged from beta 4.
- The displayed version is v3.1.0-beta.5; Mac bundle build 3105.
Human control and limits
JavaScript analysis inspects only operator-uploaded text, up to 120 KB per file. It does not execute source, invoke a shell, install packages, traverse directories, fetch referenced URLs, test credentials, create findings or send assessment traffic. Source and report values are untrusted reference data, never instructions or approval. Scope and engagement permissions remain authoritative.
Static matches are candidates, not verified vulnerabilities, reachable endpoints or valid credentials. Pattern matching and redaction are incomplete; no matches does not prove safety. Review source before sharing it with a model. Previewing the local report contacts no model; sending the file in Discuss shares its redacted source, and the report if the skill is selected, with the chosen model connection.
Downloads
Agent-B-macOS-arm64-v3.1.0-beta.5.zip: self-contained Apple Silicon app with bundled Python.DoubleAgent-Burp-v3.1.0-beta.5.zip: Agent A extension and modular source, unchanged from beta 4.DoubleAgent-v3.1.0-beta.5.zip: source and documentation for both agents.SHA256SUMS: archive checksums.
Verification
- 196 Agent B tests and 29 extension tests passed. The exact signed app's bundled Python also passed all 196 Agent B tests.
- JavaScript syntax and passive source-review offer checks passed.
- The final bundle matched the reviewed harness and UI source byte for byte. Its isolated-runtime smoke check passed fresh settings, workspace/version UI, notebook persistence/export, uploads/downloads, source-review import/export and offline JavaScript report/export.
- The packaged UI was checked for the JavaScript report dialog, the unselected built-in skill, saved-connection testing placement, local/OpenRouter connection editors, the displayed beta 5 version and unchecked source-review network consent, with no browser console errors. No model connection or target traffic was used.
- Exact staged-source and final app-bundle secret scans found no leaks. No operator settings, databases, model keys or uploaded evidence are included. Automated scanning does not guarantee detection of every possible secret.
- The Apple Silicon app is Developer ID-signed, Apple-notarized and stapled. Strict signature, stapled-ticket and Gatekeeper checks passed.
This remains a beta: clean-Mac quarantined installation, minimum-macOS compatibility, Intel support, live-provider responses and live-target behavior are not verified in this release workflow.
