cd /news/ai-tools/ai-pen-testing-chrome-extension · home topics ai-tools article
[ARTICLE · art-96105] src=github.com ↗ pub= topic=ai-tools verified=true sentiment=· neutral

AI Pen Testing Chrome Extension

A developer has released a Chrome extension (Manifest V3) that captures first-party JavaScript files from a tab and sends them to an OpenAI model to surface server-side attack vectors such as API endpoints, injectable parameters, SSRF/IDOR/SQLi/auth-bypass surface, and leaked secrets, with results shown in a Security Audit panel in Chrome DevTools. The tool is off by default, supports per-tab toggling, configurable scope (same-origin, same-hostname, same-site), and includes features like content-hash caching, large-file chunking, and report export. It requires an OpenAI API key and is available for authorized testing.

read4 min views1 publishedAug 14, 2026
AI Pen Testing Chrome Extension
Image: source

A Chrome extension (Manifest V3) that, when enabled for a tab, captures every first-party JavaScript file the site loads and sends it to an OpenAI model with a prompt tuned to surface server-side attack vectors — API endpoints, injectable parameters, SSRF/IDOR/SQLi/auth-bypass surface, leaked secrets — plus concrete routes for further testing. Results render in a dedicated Security Audit panel in Chrome DevTools.

I built this tool because it automates the workflow that I usually use to kick off a pentest for a website. It doesn't do anything too fancy, but it saves me a lot of time and I thought others might find it useful as well. Feel free to submit pull requests.

Per-tab toggle from the toolbar (and from the panel). Off by default; the content script stays completely idle until you enable a tab.First-party only. Third-party CDNs/analytics are ignored. Scope is configurable: same-origin (default), same-hostname, or same-site (eTLD+1, approx).Server-side focus. The default prompt treats client JS as a map of the backend and hunts for: reconstructed API/GraphQL/RPC endpoints, injection reaching the server (SQLi/NoSQLi/command/SSTI/XXE), SSRF, IDOR & broken access control, mass assignment, auth weaknesses, path traversal, insecure deserialization, business-logic gaps, and secret/config leakage.DevTools panel with per-script cards: overall risk, reconstructed endpoint table, detected secrets, and findings (severity, confidence, CWE, evidence,testing routes, and a fix).** Configurable**API key, model (picker + custom id), OpenAI-compatible base URL, concurrency, chunk size, temperature, token budget, inline-script analysis, skip patterns, and a custom system prompt.Extras: content-hash result cache (dedupes identical bundles), large-file chunking, a paste-a-snippet analyzer, severity/text filtering, and Markdown/JSON report export.

  • Open chrome://extensions

, enableDeveloper mode. Load unpacked→ select this folder.

  • Open DevTools (⌥⌘I / F12) Security Audit tab- gear icon → set your OpenAI API key and model Save.

  • Open a site you're authorized to test. Click the toolbar icon → Audit this tab. - Open DevTools (⌥⌘I / F12) Security Audit tab

A document_start

content script (all frames) watches for <script>

elements and resource

performance entries, fetches first-party script bodies (same-origin fetch

, so no CORS issues), hashes them, and forwards them to the background service worker. The worker runs a bounded-concurrency queue of OpenAI calls, caches by content hash, and streams results to the panel over a long-lived port. Because the DevTools panel occupies the tab's debugging channel, capture deliberately avoids chrome.debugger

and relies on content-script fetches instead.

Permission Why
storage
Settings + result cache (local ); per-tab runtime state (session ).
tabs
Resolve the active tab / its origin; message content scripts.
scripting
Inject the content script into a tab that was loaded before enabling.
activeTab
Grants host access to the current tab on the toolbar click, so enabling a pre-existing tab can inject and start immediately.
webNavigation
Distinguish real document commits from SPA history/hash changes, so in-app navigation doesn't wipe results.
host_permissions: api.openai.com
Call the OpenAI API from the background/panel.
optional_host_permissions
Requested on demand: the page origin when you enable, a custom base-URL host, and broad host access when you pick a non-origin scope.
content scripts on http(s)://*
Observe scripts on the site under test (idle unless enabled; only the top frame and same-origin subframes ever capture).
  • Your API key is stored in chrome.storage.local

on your machine and sent only to the endpoint you configure (defaultapi.openai.com

). - First-party script source code is sent to that endpoint for analysis. Don't enable this on sites whose code you may not submit to a third party. - Script bodies are fetched with credentials: 'omit'

, so the authenticated / per-user variant of a dynamic script endpoint (which can embed session tokens or PII) is never pulled and forwarded. - Only the top frame and same-origin subframes capture — scripts inside cross-origin third-party iframes are never read or sent.

manifest.json
background/service-worker.js   coordination, queue, badge, streaming
content/content-script.js      first-party JS capture (idle until enabled)
popup/                         toolbar enable/disable + quick stats
devtools/                      panel registration + full audit UI
lib/                           constants, storage, prompt, OpenAI client
icons/                         icons
  • No build step: ES modules load directly (background is a module worker; popup and panel pages use <script type="module">

; the content script is a standalone classic script). - Syntax check: node --check

on each.js

, or run the checks intools/

(see below).

This tool is for legit security testing and research and we are not responsible for any misuse for illegal or unauthorized purposes!

── more in #ai-tools 4 stories · sorted by recency
── more on @openai 3 stories trending now
sponsored brought to you by zahid.host 4,200+ EU-deployed projects
reading about agents? ship yours in a single git push.

Run your AI side-project on zahid.host

EU-based hosting, git-push deploys, automatic HTTPS, no cold starts. Free tier with a custom domain — perfect for shipping the agent you just read about.

$git push zahid main
Live at https://your-agent.zahid.host
Get free account → Pricing
from €0/mo · no card required
LIVE [news/ai-pen-testing-chrom…] indexed:0 read:4min 2026-08-14 ·