From 8f2825b32f33d2dfeb197cb53e479a09c84fc35e Mon Sep 17 00:00:00 2001 From: ajmallesh Date: Mon, 24 Nov 2025 12:37:55 -0800 Subject: [PATCH] docs: clarify Shannon is a white-box pentesting tool MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - Add prominent callout that Shannon Lite is designed for white-box (source-available) application security testing - Update XBOW benchmark description to "hint-free, source-aware" - Clarify benchmark comparison context (white-box vs black-box results) - Update benchmark performance comparison image 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude --- README.md | 10 +++++++--- assets/xbow-performance-comparison.png | Bin 163525 -> 174632 bytes xben-benchmark-results/README.md | 10 ++++++---- 3 files changed, 13 insertions(+), 7 deletions(-) diff --git a/README.md b/README.md index e88e6ef..e66c6dd 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,6 @@ > [!NOTE] -> **[Shannon Lite achieves a 96.15% success rate on the hint-free XBOW benchmark, surpassing top human pentesters. →](https://github.com/KeygraphHQ/shannon/tree/main/xben-benchmark-results/README.md)** +> **[Shannon Lite achieves a 96.15% success rate on a hint-free, source-aware XBOW benchmark. →](https://github.com/KeygraphHQ/shannon/tree/main/xben-benchmark-results/README.md)** +
@@ -54,7 +55,6 @@ Shannon closes this gap by acting as your on-demand whitebox pentester. It doesn - **Powered by Integrated Security Tools**: Enhances its discovery phase by leveraging leading reconnaissance and testing tools—including **Nmap, Subfinder, WhatWeb, and Schemathesis**—for deep analysis of the target environment. - **Parallel Processing for Faster Results**: Get your report faster. The system parallelizes the most time-intensive phases, running analysis and exploitation for all vulnerability types concurrently. - ## 📦 Product Line Shannon is available in two editions: @@ -65,7 +65,11 @@ Shannon is available in two editions: | **Shannon Pro** | Commercial | Enterprises requiring advanced features, CI/CD integration, and dedicated support | > **This repository contains Shannon Lite,** which utilizes our core autonomous AI pentesting framework. **Shannon Pro** enhances this foundation with an advanced, LLM-powered data flow analysis engine (inspired by the [LLMDFA paper](https://arxiv.org/abs/2402.10754)) for enterprise-grade code analysis and deeper vulnerability detection. -> + +> [!IMPORTANT] +> **White-box only.** Shannon Lite is designed for **white-box (source-available)** application security testing. +> It expects access to your application's source code and repository layout. + [See feature comparison](./SHANNON-PRO.md) ## 📑 Table of Contents diff --git a/assets/xbow-performance-comparison.png b/assets/xbow-performance-comparison.png index b9fff526fe986562561facac931b95bd184c1d87..f89e5dd881e2ba76e92d89265757e2c77c57e7eb 100644 GIT binary patch delta 49227 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 delta 38709 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 Tb5|k%V@cJNwUmk#tb+d+Kqd5` diff --git a/xben-benchmark-results/README.md b/xben-benchmark-results/README.md index 18521dd..8bb0707 100644 --- a/xben-benchmark-results/README.md +++ b/xben-benchmark-results/README.md @@ -1,6 +1,8 @@ -# Achieving 96.15% Success on the hint-free XBOW Benchmark +# Achieving 96.15% Success on a Hint-Free, Source-Aware XBOW Benchmark -Shannon Lite, our open-source AI pentester, achieved a **96.15% success rate (100/104 exploits)** on a systematically cleaned, hint-free version of the XBOW security benchmark. This performance surpasses the 85% score achieved by both leading AI agents and expert human penetration testers on the original benchmark. +Shannon Lite, our open-source AI pentester, achieved a **96.15% success rate (100/104 exploits)** on a systematically cleaned, hint-free version of the XBOW security benchmark, running in a *white-box (source-available)* configuration. + +For context, previously reported XBOW results for leading AI agents and expert human penetration testers achieved around 85% success on the original benchmark in *black-box mode*. Because Shannon was evaluated with full access to source code on a cleaned, hint-free variant, these results are not *apples-to-apples*, but they do highlight Shannon’s ability to perform deep, code-level reasoning in a realistic internal security review setting. **Shannon Github:** [github.com/KeygraphHQ/shannon](https://github.com/KeygraphHQ/shannon) @@ -14,7 +16,7 @@ Shannon Lite, our open-source AI pentester, achieved a **96.15% success rate (1 **About the benchmark:** XBOW is an open-source security benchmark containing 104 intentionally vulnerable applications designed to test AI agent capabilities on realistic penetration testing scenarios. -We tested against a fully cleaned, hint-free version of the benchmark—removing shortcuts like descriptive variable names, comments, and filenames that could artificially boost performance. This represents a more realistic evaluation of Shannon's core analysis and reasoning capabilities. +We tested against a fully cleaned, hint-free version of the benchmark in white-box mode, removing shortcuts like descriptive variable names, comments, and filenames that could artificially boost performance. This represents a more realistic evaluation of Shannon's core analysis and reasoning capabilities. --- @@ -142,7 +144,7 @@ We're releasing everything needed for independent validation: - Turn-by-turn agentic logs - **Available in the same repository** -We believe reproducible research is the only way to make genuine progress. Use these resources to validate our findings, benchmark your own tools, or build upon this work. +These resources record the benchmark configuration and complete results for all 104 challenges. ---