GAUNTLEX

io.github.sanjoy1234由 GitHub 账号 sanjoy1234 发布v1.0.2更新于 Oct 24, 2026

Concurrent Builder + Breaker agents generate code and adversarial tests at once, gated in CI.

概览

AI 生成的概览

GAUNTLEX 针对同一份规格说明并发运行 Builder 与 Breaker 两个智能体,同时产出代码、对抗性测试和对抗韧性评分。

可以做什么
针对规格说明、本地文件或 GitHub issue 运行 Builder + Breaker 对抗评估,可附加业务意图并选择合规域(OWASP、HIPAA、FINRA、SOC 2、PCI DSS)。查看运行状态并读取最近一次运行的漏洞发现。校验报告完整性,以 HTML、SARIF、JUnit 或 JSON 格式渲染报告,并按合规控制项审计报告。比较两次运行、查看评分趋势与成本指标,浏览已保存的攻击记录。将工具接入 IDE 与 CI 配置,并作为本地 MCP 服务器供编码助手调用。
适用场景
适合需要在代码生成阶段而非提交之后进行安全测试的场景,也适合希望在 CI 中加入带评分、可防篡改的关卡,或用受监管行业剧本引导攻击的团队。同样适合想从 Claude Code、Cursor、Windsurf、Copilot、Codex 或 Zed 中触发并轮询运行的用户。
运行要求
本机需 Python 3.11+,支持 macOS、Linux 或 Windows(Windows 建议 WSL2)。通过 pip 或 uvx 从 gauntlex-ai 包安装。需要一个模型提供方:本地 Ollama、OpenRouter 免费额度,或 Anthropic/OpenAI API 密钥。setup 会把提供方与凭据写入 .env 文件;环境中若存在 Jira、Confluence 或 Aha! 凭据会被检测用于业务意图输入。
安装前请注意
setup 会把模型提供方凭据写入 .env 文件,检测到的 Jira、Confluence 或 Aha! 凭据可能被自动连接。除非使用本地 Ollama,运行会把规格说明和生成的代码发送给所配置的模型提供方。integrate 命令会写入并合并 IDE 与 CI 配置文件,CI 关卡可能阻止合并。社区模式共享为选择性加入。

安装

在 SourceWeft 中

  1. 打开 控制台中的 GAUNTLEX,将其添加到工作区。
  2. 为需要使用其工具的对话启用该服务。

Desktop only,通过 STDIO。 STDIO 服务会启动本地进程,因此需要 SourceWeft 桌面宿主。

其他 MCP 客户端

参照 仓库 中的启动说明。

README

⚔️ GAUNTLEX

Adversarial Co-Generation Engine

Generates code and adversarial attacks from the same specification, at the same time — before a commit exists.

[Tests] [Python] [PyPI] [License: MIT] [OS]

What it is · See it run · Quickstart · Commands · Domains · IDE Integrations · Deep Dive


What it is

Every AI coding tool ships code and hopes someone tests it for security later. GAUNTLEX removes the "later." It runs two agents concurrently against the same specification:

  • Builder — generates the implementation
  • Breaker — generates adversarial attacks against the same spec, at the same instant

An Arbiter scores every attack (mitigated / partial / missed) and produces an Adversarial Resilience Score (ARS). A configurable gate blocks your CI pipeline when the score falls below threshold — the same way a failing test suite blocks a merge.

No manual test authoring. No separate security review step. No waiting for a scanner to catch up to code that shipped last week.


See it run

📊 One-page overview — what it is, what's different, how it deploys. Built for sharing with a technical lead or architecture review board.

[GAUNTLEX overview — slide 1] [GAUNTLEX overview — slide 2]

Download the full PDF

Watch the Demo Setup through the CI gate, real terminal output, real dashboard — concurrent Builder + Breaker, HIPAA domain testing, and every IDE integration in one pass.


Why it's structurally different

Three properties, not features — the reasoning behind each is in the Deep Dive:

  1. Concurrent, not sequential. Builder and Breaker fire at the same instant via asyncio.gather(). The Breaker never sees generated code — it reasons from the specification alone, the same surface a real attacker would work from before your implementation choices exist.
  2. A native MCP integration, both directions. GAUNTLEX exposes itself as an MCP server so Claude Code, Cursor, Windsurf, or Zed can trigger and poll runs directly from your coding tool — and it consumes external MCP servers (plus built-in CISA KEV / NIST NVD feeds) to enrich every run with live threat data. See the Domain Intelligence page for exactly what's live vs. static.
  3. Regulatory domains as first-class input. FINRA, HIPAA, PCI DSS, SOC 2, and OWASP Top 10 playbooks steer the Breaker toward the scenarios that actually matter for a regulated codebase — not a generic scan re-labeled per industry.

Where GAUNTLEX fits vs. other security testing

Not a replacement for any of these — a different point in the lifecycle. Static analysis and pentests are still worth doing; GAUNTLEX exists because neither of them runs while the code is being generated.

Traditional SAST (Semgrep, Snyk, etc.)Manual pentestNo dedicated testingGAUNTLEX
When it runsAfter code is writtenAfter code is written, periodicallyNever, until an incidentSame instant as generation
What it testsKnown vulnerability patterns in existing codeThe live, deployed systemNothing dedicatedThe spec-to-code pipeline itself
SpeedMinutes per scanDays to weeks per engagement—~45s–12min per run (mode-dependent)
CostFree–moderateHigh (specialist time)"Free" until it isn'tFree, open source
Compliance mappingVaries by toolManual, engagement-specificNoneBuilt-in — OWASP/HIPAA/FINRA/PCI-DSS/SOC2 + CWE + NIST SSDF/SAMM/ISO 27001
Output you can verify laterScan reportPentest report—SHA-256 tamper-evident report (gauntlex verify)

Quickstart

bash
gauntlex setup        # start here — interactive, detects and validates the best                       # model for your environment (Ollama, OpenRouter free                       # tier, or your own API key)
gauntlex run --issue examples/demo_issue.md --mode quick --pretty   # then run the demo spec

Install first with pip install gauntlex-ai, or skip the install entirely with uvx --from gauntlex-ai gauntlex setup.

gauntlex setup writes your model provider and credentials to .env for you — there is no manual configuration step, and no fallback to whatever API key happens to be lying around the environment. What you configure during setup is what runs, always (run gauntlex init separately if you also want a .gauntlex.yml with tunable defaults like rounds_max or the gate threshold).

──────────────────────────────────────────────────────────────────────  GAUNTLEX Adversarial Run  Mode:      quick (5 attacks)  Language:  python  [signals: filesystem, async]  Domain:    owasp_top10──────────────────────────────────────────────────────────────────────  ARS Score: 0.87  ✅  PASSED  (gate: ≥ 0.80)
  ✅ CWE-89  SQL Injection via username param     mitigated  ✅ CWE-502 Unsafe deserialization                mitigated  ✅ CWE-78  OS command injection in file path     mitigated  ✅ CWE-22  Path traversal in upload handler       mitigated  ❌ CWE-79  Reflected XSS in error message         MISSED──────────────────────────────────────────────────────────────────────

Wall-clock time depends on which model you configure — anywhere from single-digit seconds with a fast paid API to several minutes with a free-tier or local model. Attack count targets 5/20/50 by mode (quick/standard/thorough), spread across the adversarial rounds — actual totals land close to but not always exactly at the target (a thorough run might fire ~30–50, for example), since it depends on how many attacks the model actually returns per round.

Run against a GitHub issue directly

bash
gauntlex run --issue https://github.com/your-org/your-repo/issues/42 --mode standard --domain hipaa --pretty

Add business intent — attack surface = spec + why it's needed

--issue is the spec — precise enough for the Builder and Breaker to implement and attack. It answers what to build. --intent adds a second, separate input answering why it's needed, pulled from wherever your team actually tracks that: a Jira key, a Confluence page, or an Aha! roadmap item. GAUNTLEX reasons from both together, not just the spec alone.

bash
gauntlex run --issue SPEC.md --intent PROJ-123 --domain hipaa --pretty

gauntlex setup connects Jira/Confluence/Aha! automatically if it detects credentials in your environment — see the interactive wizard's business intent step.

Requirements

  • Python 3.11+
  • macOS, Linux, or Windows (WSL2 recommended on Windows)
  • One model provider: Ollama (free, local), OpenRouter free tier, or an Anthropic/OpenAI API key

CLI reference

All 22 commands, grouped by when you'd reach for them:

Getting started
gauntlex setupConfigure model provider and integrations (run any time to reconfigure)
gauntlex initScaffold .gauntlex.yml with sensible defaults
gauntlex doctorFull environment health check
gauntlex validateDry run — checks config and connectivity, fires zero attacks
Running assessments
gauntlex runRun adversarial Builder + Breaker on a spec
gauntlex statusShow running and recently completed runs
gauntlex findingsVulnerability findings from the last run — fix-first, score last
gauntlex compareDiff two Resilience Reports — ARS delta and attack-level changes
gauntlex learnFeed a run into the Knowledge Forge + Forge Ledger (runs automatically after every gauntlex run — use this to re-process an older run)
Evidence & compliance
gauntlex reportRender a stored report in any output format (HTML/SARIF/JUnit/JSON)
gauntlex verifyRe-derive SHA-256 integrity hash, confirm a report hasn't been altered
gauntlex auditList all reports with compliance control mapping over a time window
gauntlex vaultBrowse the Forge Ledger — human-readable Markdown attack records
gauntlex statsARS trends, learning-curve, and cost metrics
Domains & policy
gauntlex policyList, install, search, or validate policy domains — see Domain Intelligence
Team & CI deployment
gauntlex integrateOne command: wire GAUNTLEX into Claude Code, Cursor, Windsurf, Copilot, Codex, Zed, Antigravity, or GitHub Actions
gauntlex mcp-serverStart GAUNTLEX as an MCP server (stdio transport) for local IDE use
gauntlex serveStart GAUNTLEX as a webhook/CI service, with optional GitHub team-based RBAC
gauntlex dashboardLaunch the GAUNTLEX dashboard web UI (also serves a live leaderboard at /leaderboard)
gauntlex leaderboardBuild a static ARS leaderboard HTML page across multiple agents/runs — e.g. for GitHub Pages
gauntlex forge-networkOpt-in community adversarial pattern sharing
gauntlex pruneRemove expired reports

Full usage, flags, and examples for every command: Deep Dive → Complete CLI Reference.


Language support

Auto-detected from the specification — no per-project configuration:

LanguagePriority CWEs (examples)
PythonSQL injection, OS command injection, unsafe deserialization, path traversal
JavaScript / TypeScriptPrototype pollution, XSS, CSRF, SSRF
JavaDeserialization, XXE, authorization bypass
GoRace conditions, nil-pointer dereference, resource exhaustion

Compliance & domain coverage

5 regulated-industry playbooks ship today — 43 attack scenarios total, each mapped to a specific rule or control, not a generic label:

DomainScenariosRegulatory framework
owasp_top1012OWASP Top 10 (2021/2025)
finra9FINRA Rules 4370, 3110; SEC Rule 17a-4
hipaa9HIPAA Security Rule (45 CFR §§160, 164)
soc27AICPA SOC 2 Trust Service Criteria
pci_dss6PCI DSS v4.0

Two more (owasp_api_security, nist_ssdf) are available via gauntlex policy install. GDPR, FedRAMP, and DORA are on the roadmap — not available today.

For exactly what's live threat data vs. static playbook content, and how to bring your own domain, see the full Domain Intelligence page.


IDE & agent integrations

One command wires GAUNTLEX into whatever AI coding tool you already have open:

bash
gauntlex integrate --dry-run               # preview every config it would write, writes nothinggauntlex integrate                         # wire up every supported target at oncegauntlex integrate --platform claude-code  # or just one — .mcp.jsongauntlex integrate --platform cursor       # .cursor/mcp.jsongauntlex integrate --platform windsurf     # ~/.codeium/windsurf/mcp_config.jsongauntlex integrate --platform copilot      # .vscode/mcp.jsongauntlex integrate --platform codex        # ~/.codex/config.tomlgauntlex integrate --platform zed          # .zed/settings.jsongauntlex integrate --platform antigravity  # ~/.gemini/config/mcp_config.jsongauntlex integrate --platform github-actions  # .github/workflows/gauntlex.yml CI gate

Each target gets the right file, format, and schema for that specific tool — this command handles the differences so you don't have to — and it merges into any config you already have rather than overwriting it, so other MCP servers you've already configured survive.

Claude Code users can also install via the plugin marketplace instead of integrate:

/plugin marketplace add sanjoy1234/gauntlex/plugin install gauntlex@gauntlex

This registers the MCP server and all /gauntlex:* skills (run, verify, doctor, compare, report, learn, validate) in one step, updated via /plugin update. Requires gauntlex on PATH (pip install gauntlex-ai).

Zero-config: this repo ships an AGENTS.md that Codex, Cursor, Cline, Windsurf, and Gemini CLI read automatically with no install step at all — copy the pattern into your own repo if you're building on top of GAUNTLEX rather than just using it.

Exact file paths per platform, the merge-safety guarantees, and the MCP tools GAUNTLEX exposes (gauntlex_run, gauntlex_status, gauntlex_verify, and more): Integrations guide.


Enterprise deployment

  • gauntlex dashboard — ARS trend, gate status, and attack-outcome breakdown across every connected repository. One URL for the team.
  • gauntlex serve --rbac — GitHub team-based access control (admin / reviewer / developer) across a shared instance.
  • gauntlex audit — every run listed with NIST SSDF / OWASP SAMM / SOC 2 control mapping, for a configurable window.
  • Air-gapped operation — the full engine runs on local Ollama with zero outbound calls, for environments that can't reach the internet.

Full detail on each: Deep Dive → Enterprise Features.


Key terms

  • Adversarial Resilience Score (ARS) — the mean of per-attack scores (mitigated=1.0, partial=0.5, missed=0.0) across every attack fired at a run. Range [0.0, 1.0]. The core metric GAUNTLEX produces.
  • Builder — the agent that generates code from the specification.
  • Breaker — the agent that generates adversarial attacks from the same specification, at the same instant, without seeing the Builder's output.
  • Concurrent co-generation — Builder and Breaker running via asyncio.gather() against the same spec at the same time, instead of testing after code is written.
  • Resilience Report — the tamper-evident output of a GAUNTLEX run, including a SHA-256 hash over the ordered attack results, independently verifiable via gauntlex verify.
  • Gate — the CI check that blocks a merge when a run's ARS falls below the configured threshold (default 0.80).

FAQ

How do I test AI-generated code for security vulnerabilities? Point GAUNTLEX at the same specification your AI coding tool used: gauntlex run --issue your_spec.md --mode quick. It fires adversarial attacks derived from that spec and returns an Adversarial Resilience Score in under a minute.

What is an Adversarial Resilience Score (ARS)? The mean of per-attack scores (mitigated = 1.0, partial = 0.5, missed = 0.0) across every attack fired at a run — a continuous [0.0, 1.0] measure of how well the generated code holds up, not a simple pass/fail count. Full formula and reasoning: the ARS explainer.

Does GAUNTLEX test code before or after it's generated? At the same instant. The Breaker agent reasons from the specification directly, concurrently with the Builder — it never waits for code to exist first, which is what "concurrent, not sequential" means in practice.

Which compliance frameworks does GAUNTLEX support? OWASP Top 10, HIPAA, FINRA, PCI DSS, and SOC 2 out of the box, with NIST SSDF and OWASP API Security available as installable extensions. See Domain Intelligence for exactly what's covered per domain.

Can GAUNTLEX run without sending code to an external API? Yes — the full engine runs on local Ollama with zero outbound calls, for air-gapped or compliance-restricted environments.

More questions, including gating thresholds and contributing a new policy domain: full FAQ in the Deep Dive.


Learn more

  • Deep Dive — the full story: why concurrent execution matters, how GAUNTLEX compares to SAST/DAST/pentest, the complete CLI and configuration reference, architecture, FAQ, and roadmap.
  • Domain Intelligence — exactly what's covered per regulated domain, what's live vs. static, and how to extend it.
  • Contributing — how to add a policy domain, a language profile, or a feature.

Where to find GAUNTLEX

Package & registries

Writing

Community


Acknowledgments


MIT License · Built by Sanjoy Ghosh

来源:README.md,提交 0bdae27

工具

0
SourceWeft 尚未在沙箱中启动过该软件包,因此其工具未知。

版本历史

1
  1. v1.0.2最新Sep 16, 2026

评分

已满足适用检查项的 50%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通25 分

    请保持端点能够响应 MCP 握手;SourceWeft 每 30 天探测一次。

  • 已声明认证方式10 分

    请在注册中心条目中声明凭据请求头,或保持端点能够响应探测,以便判定其认证方式。

  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分