diff --git a/runners/extension/icons/icon128.png b/runners/extension/icons/icon128.png
index 4f4def9f..87c5db90 100644
Binary files a/runners/extension/icons/icon128.png and b/runners/extension/icons/icon128.png differ
diff --git a/runners/extension/icons/icon16.png b/runners/extension/icons/icon16.png
index 0f3bb0c9..87c5db90 100644
Binary files a/runners/extension/icons/icon16.png and b/runners/extension/icons/icon16.png differ
diff --git a/runners/extension/icons/icon32.png b/runners/extension/icons/icon32.png
index 7d4a103b..87c5db90 100644
Binary files a/runners/extension/icons/icon32.png and b/runners/extension/icons/icon32.png differ
diff --git a/runners/extension/icons/icon48.png b/runners/extension/icons/icon48.png
index 746ab09e..87c5db90 100644
Binary files a/runners/extension/icons/icon48.png and b/runners/extension/icons/icon48.png differ
diff --git a/runners/extension/manifest.json b/runners/extension/manifest.json
index f09c7445..d546b05b 100644
--- a/runners/extension/manifest.json
+++ b/runners/extension/manifest.json
@@ -1,7 +1,7 @@
{
"manifest_version": 3,
"name": "Agent OPFOR",
- "version": "0.0.1",
+ "version": "0.0.2",
"description": "Red-team any chat interface. Auto-detects chat widgets, runs adaptive attacks, and generates security reports.",
"icons": {
"16": "icons/icon16.png",
diff --git a/runners/extension/orchestrator.js b/runners/extension/orchestrator.js
index a8587d3d..ce00b9fa 100644
--- a/runners/extension/orchestrator.js
+++ b/runners/extension/orchestrator.js
@@ -411,7 +411,7 @@ export async function executeAdaptiveRedTeamRun(sendResponse, message, resume) {
}
if (!tab?.id) throw new Error("No active tab found.");
- maxRounds = Math.max(1, Math.min(20, Number(message.maxRounds ?? message.turns ?? 10)));
+ maxRounds = Math.max(1, Math.min(50, Number(message.maxRounds ?? message.turns ?? 10)));
waitMs = Math.max(3000, Math.min(30000, Number(message.waitMs || 10000)));
attackObjective = String(message.attackObjective || "").trim();
scrapeFromSite = message.scrapeFromSite !== false;
diff --git a/runners/extension/popup.html b/runners/extension/popup.html
index 8b1da394..a41db33f 100644
--- a/runners/extension/popup.html
+++ b/runners/extension/popup.html
@@ -2665,7 +2665,7 @@
-
+
diff --git a/runners/extension/popup.js b/runners/extension/popup.js
index 0a4fe450..58b78b92 100644
--- a/runners/extension/popup.js
+++ b/runners/extension/popup.js
@@ -537,7 +537,7 @@ async function loadSettings() {
const s = stored[POPUP_SETTINGS_KEY] || {};
Object.assign(state, {
scrapeFromSite: true,
- maxTurns: clamp(Number(s.maxTurns) || 10, 1, 20),
+ maxTurns: clamp(Number(s.maxTurns) || 10, 1, 50),
waitSec: clamp(Number(s.waitSec) || 10, 3, 30),
messageCharLimit: clamp(Math.round((Number(s.messageCharLimit) || 500) / 50) * 50, 100, 1500),
attackObjective: s.attackObjective ?? "",
@@ -3036,7 +3036,7 @@ function wire() {
$("advDoneBtn").addEventListener("click", closeAdvanced);
// Steppers
- bindStepper("maxTurns", "maxTurnsValue", "maxTurns", 1, 20);
+ bindStepper("maxTurns", "maxTurnsValue", "maxTurns", 1, 50);
bindStepper("waitSec", "waitSecValue", "waitSec", 3, 30);
bindStepper("messageCharLimit", "messageCharLimitValue", "messageCharLimit", 100, 1500);