Proof by Exploitation: Shannon’s Approach to Autonomous Penetration Testing

Explore Shannon, an autonomous AI pentester using "proof by exploitation" to find real vulnerabilities. It actively exploits flaws for hard evidence.

P
Parathan Thiyagalingam
December 24, 20259 min read
Proof by Exploitation: Shannon’s Approach to Autonomous Penetration Testing

The world of software development has changed dramatically. Teams are shipping code faster than ever; sometimes every day, sometimes every hour. Using AI powered coding assistants and lightning-fast CI/CD pipelines this has become possible. But while development speed has evolved, security testing hasn’t quite caught up. Most organizations still rely on slow, manual penetration tests that happen once or twice a year. In between, countless new features, releases, and API changes go untested which ultimately leaving potential vulnerabilities sitting in production for months. This gap is where real risks live. And here exactly where Shannon comes into play. Shannon is an autonomous AI penetration tester which was designed to find the security vulnerabilities in your application.

Shannon brings the hacker’s mindset into the development pipeline. Do not need to worry about it as a threat, but as a safety net. It continuously probes your app the same way an attacker would, but with your permission and your protection in mind.

Think of it as your own in-house red team that never sleeps, never gets tired, and always has your back.

Shannon’s Unique Approach: Proof by Exploitation

Most vulnerability scanners are like fire alarms that go off when they think there might be smoke. They flag possible issues based on known patterns, but they can’t always tell if the danger is real. Shannon takes a completely different approach. Instead of just identifying potential problems, it actively tries to exploit them and only reports an issue when it successfully breaks in.

If Shannon can’t reproduce an exploit, it doesn’t make the report. How sweet it is?

This “proof by exploitation” model virtually eliminates false positives and gives you something security teams truly love: a hard evidence.

Under the hood, Shannon works much like a skilled human penetration tester. It starts by mapping the application’s entire attack surface and analyze both the source code and the running app to see what’s exposed. Then it launches multiple specialized AI agents, each trained to detect different vulnerability classes, like SQL injections, broken authentication, or XSS.

Once a potential weakness is found, Shannon goes one step further and executes the attack, confirms the vulnerability, and captures proof — payloads, or exploit traces to include in its final report.

What makes Shannon stand out is how well it handles complexity. It can automatically deal with login flows, OAuth tokens, multi-factor authentication, and other modern web application mechanics that typically confuse automated scanners. This gives it a much deeper understanding of your app and the ability to test it like a real adversary would.

Setting Up the Test: Shannon with OWASP Juice Shop Application

For this experiment, Shannon was put to the test against OWASP Juice Shop v19.0.0 which is a deliberately insecure web app used by security professionals to benchmark testing tools. It’s packed with real-world vulnerabilities from the OWASP Top 10, making it the perfect playground for Shannon.

Setting it up was straightforward. Shannon runs inside Docker, so with a few volume mounts, network settings, and environment variables, it was ready to roll. Network capabilities like NET_RAW and NET_ADMIN gave it the power to perform deep reconnaissance using tools like Nmap.

First of all, clone the shannon repo:

git clone https://github.com/KeygraphHQ/shannon.git

Build the docker container: (Pre-requisite: You should have docker installed in your device)

docker build -t shannon:latest .

To test a single-repo:

  1. Run the following command to clone your project repository into the repos folder of shanon project.
git clone https://github.com/your-org/your-monorepo.git repos/your-app

Shannon can do test for multi-repo applications as well:

mkdir repos/your-app
cd repos/your-app
git clone https://github.com/your-org/frontend.git
git clone https://github.com/your-org/backend.git
git clone https://github.com/your-org/api.git

Now we need to set the Claude AI token:

It can be Claude Code or Anthropic API Key:

We need to set as ENVIRONMENT VARIABLE and

(optional) Then let’s run the application locally or if you have hosted we need to provide app URL in the configuration.

Two configurations were used:

  1. one for authenticated testing (where Shannon logs in like a real user)
  2. one for unauthenticated testing (simulating how an outsider might attack).

Inside the config folder, create a YAML file which will have all the informations like authentication URL, credentials to get into the app & so on.

juice-shop-auth.yaml

# juice-shop-auth.yaml
authentication:
login_type: form
login_url: "http://localhost:3000/#/login"
credentials:
username: "parathan98@gmail.com"
password: "parathan1234"
login_flow:
- "Click the 'Account' button" # open account widget
- "Click the 'Login' button or link"
- "Type $username into the email field"
- "Type $password into the password field"
- "Click the 'Log in' or 'Login' button"
success_condition:
type: url_contains
value: "/#/profile"

rules:
avoid:
- description: "Skip logout to keep sessions stable"
type: path
url_path: "/#/logout"
focus:
- description: "Prioritize checkout & user profile pages"
type: path
url_path: "/#/product"
- description: "API endpoints"
type: path
url_path: "/api"

Since, I ran it locally, I gave localhost:3000, you can provide URL if it hosted. And necessary other configurations if you have 2 Factor Authentication within your app when logs in.

These configuration files told Shannon how to log in, where to focus, and what to avoid, ensuring the tests were realistic yet safe.

Shannon’s 90-Minute War against the app’s security exploitation

Once the setup was complete, Shannon was unleashed. For the next 90 minutes, it worked autonomously, methodically, and a little bit ruthlessly.

First came reconnaissance. Shannon analyzed the Juice Shop’s source code to identify its technology stack which is Node.js, Express, Angular, and SQLite. And then it mapped every endpoint and feature. At the same time, it explored the live app with browser automation, clicking through pages, submitting forms, and taking note of every interaction. By the end of this phase, Shannon had built a detailed map of the application’s entire attack surface.

Then came parallel vulnerability analysis, where Shannon’s different AI agents got to work. Each agents were hunting for specific classes of vulnerabilities.

  1. The authentication agent poked at login flows and session management.
  2. The SQL injection agent traced how user inputs reached database queries.
  3. The command injection agent tried to find paths leading to shell commands, while others looked for XSS and SSRF weaknesses.

These agents didn’t just guess; they performed deep data flow analysis by tracking how input moved through the app and pinpointing where it could go wrong.

Next step was exploitation: This is the real test. Shannon tried every proven trick in the hacker’s playbook.

From injecting SQL payloads and forging tokens to manipulating API calls and executing shell commands. Each successful exploit was logged and verified.

Its rule was simple: “No exploit, no report.” Only real, reproducible vulnerabilities made it into the final output.

Finally came report generation: A professionally structured, human-readable penetration testing report. Shannon automatically compiled all its findings, complete with summaries for executives, technical details for engineers, and proof-of-concept payloads ready to reproduce each issue. All of this was achieved autonomously, in an hour and a half, for roughly $50 in compute costs using Claude AI tokens.

If we compare this to a traditional penetration test that could take a week and cost tens of thousands of dollars.

Hope you now got some idea that of Shannon is such a game changer.

The Findings: When AI Goes on the Offensive

The results were alarming & found quite vulnerabilities within the app. In just one run, Shannon uncovered over 25 critical and high-severity vulnerabilities which are actually more than enough to achieve a full application compromise. In other words, it found multiple ways to take complete control of the app.

Among the highlights:

  1. Shannon bypassed login authentication using classic SQL injection payloads
  2. Discovered a hardcoded RSA key used to sign JWT tokens (allowing it to impersonate any user)
  3. Even found a 2FA secret embedded in the source code which it used to generate valid one-time codes.

It exposed unlimited brute-force opportunities, user enumeration flaws, and authorization bypasses that let it access other users’ data, admin panels, and even backend systems without credentials.

It didn’t stop there. It exploited SQL injections to dump entire databases, performed command injections to gain server-level access (cat /etc/passwd — a hacker’s favorite), and launched cross-site scripting attacks to hijack administrator sessions. It even found a server-side request forgery vulnerability that allowed it to reach into internal cloud metadata. This is a critical attack vector that can expose secrets in real-world systems.

By the end of the test, Shannon had demonstrated nearly every major category of web vulnerability, all within 90 minutes. It wasn’t just identifying weak points. It was proving them beyond a doubt.

Some terminal screenshots:

Why This Matters: Automation That Rivals Human Expertise

The power of Shannon lies not only in its speed but in the quality of its findings. Each report entry includes a technical explanation of the issue, evidence, payloads used, and remediation advice that developers can act on immediately.

This level of detail mirrors what you’d expect from a seasoned human pentester. But Shannon does it continuously, but at a small amount of the cost without waiting weeks for scheduling or report drafting.

However, Shannon isn’t meant to replace humans. It’s designed to augment them. Security engineers still need to review and validate findings, understand the business context, and implement the right fixes. What Shannon offers is the ability to run offensive security testing as often as you deploy, closing the gap between fast development and slow security.

Rethinking Security in the Age of AI

Shannon represents a shift in how we think about application security. The traditional model of annual penetration tests simply doesn’t fit a world of continuous delivery. Modern teams need continuous testing which is automated, intelligent, and adaptive. Shannon brings that capability into reach for everyone, from startups to large enterprises.

By integrating tools like Shannon into CI/CD pipelines, teams can ensure that every new deployment, feature flag, or configuration change gets tested immediately. It democratizes access to expert-level penetration testing and helps organizations “shift security left” which helps catching issues early in development instead of after release.

And for those with more complex environments, Shannon Pro extends these capabilities even further. The creator of Shannon (Open-Source) & Shannon Pro is Keygraph.
Shannon Pro offers data flow analysis, CI/CD integration, and compliance-ready reporting for frameworks like SOC 2 and ISO 27001.

The Future Is Here:

Watching an AI systematically take apart an application’s defenses is both thrilling and humbling. Shannon doesn’t just scans. It plans, attacks, adapts, and documents its work just like a professional hacker would. The vulnerabilities it found in the OWASP Juice Shop aren’t rare or exotic. They’re the same mistakes that real-world applications make every day.

As development cycles accelerate, the gap between code delivery and security validation keeps growing. Shannon offers a way to close that gap and bringing offensive testing into the same continuous rhythm as modern development.

It’s not about replacing human security experts but empowering them with tools that work as fast as they do.

Security testing is evolving, and Shannon is proof of what’s possible when AI takes on the hacker’s mindset.

The only real question now is: will your team adopt AI-driven security or wait until attackers do?

Thanks for reading.