diff --git a/README.md b/README.md
index 2f28f928..1d5d0d8c 100644
--- a/README.md
+++ b/README.md
@@ -48,10 +48,7 @@ CyberStrikeAI is an **AI-native security testing platform** built in Go. It inte
MCP Management
-
-MCP stdio Mode
-
- |
+ |
@@ -72,8 +69,14 @@ CyberStrikeAI is an **AI-native security testing platform** built in Go. It inte
WebShell Management
|
- |
- |
+
+MCP stdio Mode
+
+ |
+
+Burp Suite Plugin
+
+ |
diff --git a/README_CN.md b/README_CN.md
index 36bd1dfe..301df3a3 100644
--- a/README_CN.md
+++ b/README_CN.md
@@ -47,10 +47,7 @@ CyberStrikeAI 是一款 **AI 原生安全测试平台**,基于 Go 构建,集
MCP 管理
-
-MCP stdio 模式
-
- |
+ |
@@ -71,8 +68,14 @@ CyberStrikeAI 是一款 **AI 原生安全测试平台**,基于 Go 构建,集
WebShell 管理
|
- |
- |
+
+MCP stdio 模式
+
+ |
+
+Burp Suite 插件
+
+ |
diff --git a/images/plugins.png b/images/plugins.png
new file mode 100644
index 00000000..2ea4c5d2
Binary files /dev/null and b/images/plugins.png differ
diff --git a/plugins/burp-suite/cyberstrikeai-burp-extension/dist/cyberstrikeai-burp-extension.jar b/plugins/burp-suite/cyberstrikeai-burp-extension/dist/cyberstrikeai-burp-extension.jar
index 0f3e9d52..5f64ac3e 100644
Binary files a/plugins/burp-suite/cyberstrikeai-burp-extension/dist/cyberstrikeai-burp-extension.jar and b/plugins/burp-suite/cyberstrikeai-burp-extension/dist/cyberstrikeai-burp-extension.jar differ
diff --git a/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/CyberStrikeAITab.java b/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/CyberStrikeAITab.java
index 29a24f03..410d1031 100644
--- a/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/CyberStrikeAITab.java
+++ b/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/CyberStrikeAITab.java
@@ -439,7 +439,7 @@ final class CyberStrikeAITab implements ITab {
if (run == null) return;
String token = getToken();
if (token == null || token.trim().isEmpty()) {
- appendToRun(runId, "\n[error] Not validated.\n");
+ appendProgressToRun(runId, "\n[error] Not validated.\n");
return;
}
String convId;
@@ -447,7 +447,7 @@ final class CyberStrikeAITab implements ITab {
convId = run.conversationId;
}
if (convId == null || convId.trim().isEmpty()) {
- appendToRun(runId, "\n[info] conversationId not available yet (wait for server to create session).\n");
+ appendProgressToRun(runId, "\n[info] conversationId not available yet (wait for server to create session).\n");
return;
}
@@ -456,10 +456,10 @@ final class CyberStrikeAITab implements ITab {
try {
CyberStrikeAIClient.Config cfg = currentConfig();
client.cancelByConversationId(cfg.baseUrl, token, convId);
- appendToRun(runId, "\n[info] Cancel requested.\n");
+ appendProgressToRun(runId, "\n[info] Cancel requested.\n");
setRunStatus(runId, "cancelling");
} catch (Exception ex) {
- appendToRun(runId, "\n[error] Cancel failed: " + ex.getMessage() + "\n");
+ appendProgressToRun(runId, "\n[error] Cancel failed: " + ex.getMessage() + "\n");
} finally {
SwingUtilities.invokeLater(() -> stopButton.setEnabled(true));
}
diff --git a/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/MarkdownRenderer.java b/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/MarkdownRenderer.java
index 1fdd7043..f7102c35 100644
--- a/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/MarkdownRenderer.java
+++ b/plugins/burp-suite/cyberstrikeai-burp-extension/src/main/java/burp/MarkdownRenderer.java
@@ -24,7 +24,10 @@ final class MarkdownRenderer {
// so we explicitly define font sizes to keep a clear hierarchy.
.append("body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Arial,sans-serif;font-size:13px;line-height:1.45;margin:10px;color:#111;}")
.append("code,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;}")
- .append("pre{background:#f6f8fa;border:1px solid #e5e7eb;border-radius:6px;padding:10px;overflow:auto;}")
+ // Keep inline code readable (Swing may render it too small otherwise).
+ .append("code{font-size:0.95em;background:#f6f8fa;border:1px solid #e5e7eb;border-radius:4px;padding:0 4px;}")
+ .append("pre{font-size:0.95em;background:#f6f8fa;border:1px solid #e5e7eb;border-radius:6px;padding:10px;overflow:auto;}")
+ .append("pre code{font-size:1em;background:transparent;border:none;padding:0;}")
.append("p{margin:0.55em 0;}")
.append("h1{font-size:20px;margin:0.85em 0 0.45em 0;}")
.append("h2{font-size:18px;margin:0.85em 0 0.45em 0;}")
diff --git a/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/CyberStrikeAITab.class b/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/CyberStrikeAITab.class
index a01eb1ba..aab4f092 100644
Binary files a/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/CyberStrikeAITab.class and b/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/CyberStrikeAITab.class differ
diff --git a/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/MarkdownRenderer.class b/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/MarkdownRenderer.class
index 2a5267b7..8e547158 100644
Binary files a/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/MarkdownRenderer.class and b/plugins/burp-suite/cyberstrikeai-burp-extension/target/classes/burp/MarkdownRenderer.class differ
diff --git a/plugins/burp-suite/cyberstrikeai-burp-extension/target/cyberstrikeai-burp-extension-1.0.0.jar b/plugins/burp-suite/cyberstrikeai-burp-extension/target/cyberstrikeai-burp-extension-1.0.0.jar
index 0f3e9d52..5f64ac3e 100644
Binary files a/plugins/burp-suite/cyberstrikeai-burp-extension/target/cyberstrikeai-burp-extension-1.0.0.jar and b/plugins/burp-suite/cyberstrikeai-burp-extension/target/cyberstrikeai-burp-extension-1.0.0.jar differ