[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"project-105287":3},{"id":4,"name":5,"fullName":6,"owner":7,"repo":5,"description":8,"homepage":9,"htmlUrl":10,"language":11,"languages":10,"totalLinesOfCode":10,"stars":12,"forks":13,"watchers":14,"openIssues":15,"contributorsCount":16,"subscribersCount":16,"size":16,"stars1d":17,"stars7d":17,"stars30d":17,"stars90d":16,"forks30d":16,"starsTrendScore":18,"compositeScore":19,"rankGlobal":10,"rankLanguage":10,"license":20,"archived":21,"fork":21,"defaultBranch":22,"hasWiki":21,"hasPages":21,"topics":23,"createdAt":10,"pushedAt":10,"updatedAt":34,"readmeContent":35,"aiSummary":10,"trendingCount":16,"starSnapshotCount":16,"syncStatus":14,"lastSyncTime":36,"discoverSource":37},105287,"executioner","dbx0\u002Fexecutioner","dbx0","The agentic pentesting environment that lives on your machine. AI agent teams, visual workflows and your own tools, 100% local.","https:\u002F\u002Fgithub.com\u002Fdbx0\u002Fexecutioner\u002Freleases\u002Flatest",null,"TypeScript",108,25,2,1,0,11,33,66.84,"MIT License",false,"main",[24,25,26,27,28,29,30,31,32,33],"ai-agents","bug-bounty","electron","offensive-security","pentesting","recon","red-team","security","typescript","workflow-automation","2026-11-01 00:13:32","\u003Cp align=\"center\">\n  \u003Cimg src=\"docs\u002Fassets\u002Fcover.jpg\" alt=\"Executioner\" width=\"100%\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdbx0\u002Fexecutioner\u002Fstargazers\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002Fdbx0\u002Fexecutioner?style=flat&label=%E2%98%85&color=e5484d\" alt=\"GitHub stars\" \u002F>\u003C\u002Fa>\n  \u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdbx0\u002Fexecutioner\u002Freleases\">\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002Fdbx0\u002Fexecutioner?style=flat&color=e5484d&label=release\" alt=\"Latest release\" \u002F>\u003C\u002Fa>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002Flicense-MIT-e5484d?style=flat\" alt=\"License: MIT\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002FmacOS%20%7C%20Windows%20%7C%20Linux-171717?style=flat\" alt=\"Runs on macOS, Windows and Linux\" \u002F>\n  \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fbadge\u002F100%25%20local-171717?style=flat\" alt=\"Runs 100% on your machine\" \u002F>\n\u003C\u002Fp>\n\n\u003Cp align=\"center\">\n  \u003Cstrong>The agentic pentesting environment that lives on your machine.\u003C\u002Fstrong>\u003Cbr\u002F>\n  Hand an assessment to a team of AI agents, give them your tools, and watch targets, findings and evidence land in one place.\u003Cbr\u002F>\n  There is no cloud service and no account to create.\n\u003C\u002Fp>\n\n\u003Ch3 align=\"center\">\u003Ca href=\"https:\u002F\u002Fgithub.com\u002Fdbx0\u002Fexecutioner\u002Freleases\u002Flatest\">\u003Cins>Download Executioner\u003C\u002Fins>\u003C\u002Fa> · \u003Ca href=\"docs\u002Fassets\u002Fdemo.mp4\">\u003Cins>Watch the 80 second demo\u003C\u002Fins>\u003C\u002Fa>\u003C\u002Fh3>\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource srcset=\"docs\u002Fassets\u002Fhero.gif\" type=\"image\u002Fgif\" \u002F>\n    \u003Cimg src=\"docs\u002Fassets\u002Fhero.jpg\" alt=\"Executioner running an agent team against a bug bounty program, with targets streaming into the side panel\" width=\"960\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\n## Why Executioner\n\nMost of a pentest is recon and taking notes: which hosts are in scope, what ran against them, what came back, which of the 400 lines of scanner output matters, and where the screenshot for finding #12 went. Agents are good at running tools and bad at keeping track of what happened last session.\n\nIn Executioner every engagement is a workspace with its own scope, targets, findings, workflows and evidence, and every agent you launch inside it can read and write all of it. You decide what runs, and the agents do the repetitive work.\n\n## Features\n\n### Agent teams that share notes\n\nLaunch Claude Code, Codex, Gemini, Cursor, OpenCode or Hermes straight into an engagement. Each one arrives already briefed and already connected to the engagement's scope, targets, findings and workflows, so a recon agent's subdomains are there for the exploit agent five minutes later.\n\nOne click starts a whole team. Recon & Strike enumerates, scans, exploits and writes the report, Web AppSec covers the OWASP surface, and Code Audit reviews a codebase. The sidebar shows each sub-agent's status as it works, and you get a notification when one needs your input.\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Fagents.gif\" type=\"image\u002Fgif\" \u002F>\n    \u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Fagents.jpg\" alt=\"A Recon and Strike agent team working on an engagement, recording an IDOR finding\" width=\"100%\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n### Describe a workflow and let the assistant draft it\n\nTell the assistant what you want in plain words: *\"when a new subdomain shows up, probe it, screenshot it and have Claude look for login pages.\"* It proposes a graph, and once you've reviewed it, one click puts it on the canvas.\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Fassistant.gif\" type=\"image\u002Fgif\" \u002F>\n    \u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Fassistant.jpg\" alt=\"The AI assistant drafting a four node workflow from a plain language request\" width=\"100%\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n### Visual workflows\n\nChain tools, conditions, loops and AI agents on a canvas. Run them by hand, on a schedule, or every time a new target appears. Step through node by node when you want to see exactly what happens, and watch every result flow into targets and findings when you don't.\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Fworkflow.gif\" type=\"image\u002Fgif\" \u002F>\n    \u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Fworkflow.jpg\" alt=\"A subdomain sweep workflow running node by node, with an agent triaging high severity results\" width=\"100%\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n### Findings you can hand to a triager\n\nAgents, workflows and you all write to the same findings list. Each one carries severity, status, the target it hit, who recorded it and the raw request and response as evidence. Triage them in place, then export a report you can submit with one click.\n\n\u003Cp align=\"center\">\n  \u003Cpicture>\n    \u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Ffindings.gif\" type=\"image\u002Fgif\" \u002F>\n    \u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Ffindings.jpg\" alt=\"The findings list with a confirmed IDOR finding open, showing the reproduction request\" width=\"100%\" \u002F>\n  \u003C\u002Fpicture>\n\u003C\u002Fp>\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\" valign=\"middle\">\n\n### All your assets in one tree\n\nDomains, subdomains, IPs, ranges and URLs land in a single tree as tools and agents discover them. Open any target to see its ports, technologies, HTTP services, WHOIS, screenshots and every finding against it.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n  \u003Cpicture>\u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Ftargets.gif\" type=\"image\u002Fgif\" \u002F>\u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Ftargets.jpg\" alt=\"Targets streaming into the asset tree, with ports and technologies for the selected host\" width=\"100%\" \u002F>\u003C\u002Fpicture>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" valign=\"middle\">\n\n### Scope from the program page\n\nPaste the scope section from HackerOne, Bugcrowd or the policy page and let AI turn it into include and exclude rules. Every target is judged against them instantly, and out of scope assets are flagged before anything touches them.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n  \u003Cpicture>\u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Fscope.gif\" type=\"image\u002Fgif\" \u002F>\u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Fscope.jpg\" alt=\"Pasting a program policy and parsing it into six scope rules\" width=\"100%\" \u002F>\u003C\u002Fpicture>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" valign=\"middle\">\n\n### Run tools here or on a remote box\n\nEach of the 33 tools gets a form, so you don't need the man page. Pick targets, set the flags, check the exact command, then run it on this machine, over SSH, or inside a Kali container. The output is parsed into targets.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n  \u003Cpicture>\u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Ftools.gif\" type=\"image\u002Fgif\" \u002F>\u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Ftools.jpg\" alt=\"Running a port scan against three targets on a remote Kali box\" width=\"100%\" \u002F>\u003C\u002Fpicture>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\" valign=\"middle\">\n\n### One keystroke from anything\n\nPress \u003Ckbd>⌘\u003C\u002Fkbd> \u003Ckbd>K\u003C\u002Fkbd> to jump to any target, finding, chat or view. Keep a scratchpad floating over everything for the payloads and notes you don't want to lose.\n\n\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\n  \u003Cpicture>\u003Csource srcset=\"docs\u002Fassets\u002Ffeatures\u002Fpalette.gif\" type=\"image\u002Fgif\" \u002F>\u003Cimg src=\"docs\u002Fassets\u002Ffeatures\u002Fpalette.jpg\" alt=\"The command palette finding a Grafana host, a related chat and a finding\" width=\"100%\" \u002F>\u003C\u002Fpicture>\n\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Your data stays on your machine\n\nExecutioner has no backend, so client data, credentials and exploit drafts stay on your disk.\n\nAn engagement is a folder. Scope, targets, findings, workflows, notes and evidence all live inside it, so you can copy it, back it up, zip it for the client, or put it under version control and review changes in the built-in source control panel.\n\nExecutioner drives the agent CLIs you already have installed and logged in. Tools run locally, on a remote box over SSH, or inside a Docker container such as Kali or Parrot. API keys for integrations like Shodan and Censys are stored locally and referenced by name in workflows.\n\nThe network traffic comes from two places you control: your tools talking to your targets, and each agent CLI talking to its own model provider under your account.\n\n## Bring your own agent\n\n\u003Cdiv align=\"center\">\n\u003Ctable align=\"center\">\n\u003Ctr>\n\u003Ctd align=\"center\">\u003Cimg src=\"docs\u002Fassets\u002Fagents\u002Fclaude.svg\" alt=\"\" width=\"48\" height=\"48\" \u002F>\u003Cbr\u002F>\u003Cb>Claude Code\u003C\u002Fb>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\"docs\u002Fassets\u002Fagents\u002Fcodex.svg\" alt=\"\" width=\"48\" height=\"48\" \u002F>\u003Cbr\u002F>\u003Cb>Codex\u003C\u002Fb>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\"docs\u002Fassets\u002Fagents\u002Fgemini.svg\" alt=\"\" width=\"48\" height=\"48\" \u002F>\u003Cbr\u002F>\u003Cb>Gemini\u003C\u002Fb>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\"docs\u002Fassets\u002Fagents\u002Fcursor.svg\" alt=\"\" width=\"48\" height=\"48\" \u002F>\u003Cbr\u002F>\u003Cb>Cursor\u003C\u002Fb>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\"docs\u002Fassets\u002Fagents\u002Fopencode.svg\" alt=\"\" width=\"48\" height=\"48\" \u002F>\u003Cbr\u002F>\u003Cb>OpenCode\u003C\u002Fb>\u003C\u002Ftd>\n\u003Ctd align=\"center\">\u003Cimg src=\"docs\u002Fassets\u002Fagents\u002Fhermes.svg\" alt=\"\" width=\"48\" height=\"48\" \u002F>\u003Cbr\u002F>\u003Cb>Hermes\u003C\u002Fb>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\u003C\u002Fdiv>\n\nPick a default during onboarding and switch per session. You can also run Claude agent teams, save agents with your own prompts, and point every agent at a shared folder of skills.\n\n## The arsenal\n\n| Recon | Web | Scanning | Network |\n|---|---|---|---|\n| Amass, dig, dnsx, Subfinder, theHarvester, wafw00f, WHOIS | Dalfox, Feroxbuster, ffuf, GAU, Gobuster, Gowitness, httpx, Katana, Nikto, sqlmap, WhatWeb, WPScan | Masscan, Naabu, Nmap, Nuclei, RustScan | Enum4linux, Hydra, MTR, Nbtscan, NetExec, Searchsploit, SSLScan, testssl.sh, Traceroute |\n\nOn the canvas they sit next to triggers (manual, schedule, on new target), logic (if, loop, merge, stop), AI agents, HTTP requests, screenshots, GeoIP, Shodan, Censys, notifications to Discord or Slack, and Python scripts. You can write your own nodes in Settings.\n\n## A closer look\n\n\u003Ctable>\n\u003Ctr>\n\u003Ctd width=\"50%\">\u003Cimg src=\"docs\u002Fassets\u002Fscreenshots\u002Foverview.png\" alt=\"Engagement overview with stats, severity breakdown and activity\" \u002F>\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\u003Cimg src=\"docs\u002Fassets\u002Fscreenshots\u002Ftargets.png\" alt=\"Target tree and host details\" \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003Ctr>\n\u003Ctd width=\"50%\">\u003Cimg src=\"docs\u002Fassets\u002Fscreenshots\u002Fworkflow.png\" alt=\"Finished workflow run\" \u002F>\u003C\u002Ftd>\n\u003Ctd width=\"50%\">\u003Cimg src=\"docs\u002Fassets\u002Fscreenshots\u002Ftools.png\" alt=\"Tool runner with parsed output\" \u002F>\u003C\u002Ftd>\n\u003C\u002Ftr>\n\u003C\u002Ftable>\n\n## Install\n\nThe install script downloads the latest release, checks it against the published checksums and installs it.\n\n**Linux and macOS**\n\n```bash\ncurl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fdbx0\u002Fexecutioner\u002Fmain\u002Finstall.sh | bash\n```\n\nOn Linux it adds Executioner to your app launcher and puts an `executioner` command in `~\u002F.local\u002Fbin`, without sudo. On macOS it installs `Executioner.app` into Applications.\n\n**Windows** (PowerShell)\n\n```powershell\nirm https:\u002F\u002Fraw.githubusercontent.com\u002Fdbx0\u002Fexecutioner\u002Fmain\u002Finstall.ps1 | iex\n```\n\nRun the same command again to update. To remove it, run `curl -fsSL https:\u002F\u002Fraw.githubusercontent.com\u002Fdbx0\u002Fexecutioner\u002Fmain\u002Finstall.sh | bash -s -- --uninstall`, or set `$env:EXECUTIONER_UNINSTALL='1'` before the Windows command.\n\nYou can also grab the build for your platform from the [latest release](https:\u002F\u002Fgithub.com\u002Fdbx0\u002Fexecutioner\u002Freleases\u002Flatest):\n\n| Platform | Download |\n|---|---|\n| macOS (Apple silicon and Intel) | `.dmg` |\n| Windows | `-setup.exe` |\n| Linux | `.AppImage` or `.deb` |\n\nThen install at least one agent CLI (Claude Code, Codex, Gemini, Cursor, OpenCode or Hermes) and the tools you plan to run. The onboarding walks you through the rest and tells you which tools are missing.\n\n## Use it responsibly\n\nExecutioner is built for authorized security testing: bug bounty programs, pentests with a signed scope, CTFs and your own infrastructure. Only point it at systems you have explicit permission to test, and keep your scope rules up to date. You are responsible for what you run.\n\n## Build from source\n\nYou need Node 24 and pnpm 12. `mise install` in the repo root pins both. On Linux, a C++ toolchain and Python are needed to compile the terminal module.\n\n```bash\npnpm install\npnpm -r build\npnpm --filter @exe\u002Fdesktop dev\n```\n\nRun the checks with `pnpm test`, `pnpm lint` and `pnpm typecheck`.\n\nThe README videos and screenshots are rendered from mockups with fictional data.\n\n\n## License\n\nMIT. See [LICENSE](LICENSE).\n","2026-10-31 04:26:20","CREATED_QUERY"]