Add governed QCoder implementation - #1
Conversation
Streamable HTTP MCP at /mcp, seven OAuth-scoped tools, MCP Apps UI ui://qcoder/console/v1, skill, packaging, 60 golden prompts, reports. Production oauth-mcp-qcoder-v1 binding remains external dependency.
Adds the second reviewed 20-tool batch requested after batch 1's draft PR, restructuring config/crucible-tool-catalog.json to a multi-batch schema (schemaVersion 2) so batch 1's validated data is preserved byte-for-byte. Of the 20 originally proposed candidates (Nmap, Masscan, Gobuster, Nikto, SQLMap, Amass, theHarvester, Recon-ng, Sherlock, Zeek, Suricata, Wazuh, Velociraptor, Falco, Bandit, Semgrep, CodeQL, TruffleHog, BrowserGym, Open Interpreter), 12 failed live re-verification against the MIT/Apache-2.0 policy gate (custom, AGPL, GPL, or unverifiable licenses) and were swapped for equivalent permissively-licensed tooling: Grant, OSV-SCALIBR, gosec, detect-secrets, Cosign, in-toto, OPA, CycloneDX CLI, honggfuzz, Garak, and PyRIT. Garak/PyRIT are the catalog's first generative-AI red-team entries, so the validator's route-prefix check now also accepts echo.ai_redteam.* alongside echo.crucible.*. Every entry's commit SHA and license SHA-256 was fetched live from the GitHub API; four repos (amass, grant, in-toto, BrowserGym) whose GitHub SPDX classifier reported NOASSERTION were confirmed Apache-2.0 by reading their actual LICENSE file text before inclusion. npm run verify (typecheck, lint, format, full test suite, build) and npm audit are green.
|
Added batch 2 of the Crucible tool catalog (commit f00303e), requested as a follow-up after batch 1 above.
Validation: |
…tooling Commander-requested: search GitHub for reverse-engineering repositories and add them to QCoder's governed tool catalog. Adds a third 20-tool batch covering the tool families FLEET_ROLES/reverse-engineer.md names as live capability companions (echo.re.binary.*, echo.re.apk.*): Ghidra, capa, FLOSS, YARA, jadx, Androguard, RetDec, LIEF, Capstone, Refinery, Detect It Easy, BinExport, plyara, CyberChef, PortEx, StringSifter, angr, pe-sieve, syzkaller, and Frida. Frida is cataloged critical/crucible-only (live cross-platform code injection into any running process is the same open-ended blast radius as Caldera and Open Interpreter in batches 1-2) and is never installed or autonomously launched outside Crucible. Eight originally-considered candidates (MobSF, Keystone, Unicorn, radare2, rizin, Cutter, Qiling, objection) were excluded after live GitHub verification confirmed GPL-2.0/GPL-3.0/LGPL-3.0 licensing; x64dbg and pyelftools were left out rather than included on an unverified or out-of-policy basis. Extends policy.allowedLicenses with BSD-3-Clause, BSD-2-Clause (Capstone, YARA, angr, Refinery, pe-sieve — all confirmed by reading actual LICENSE text after GitHub's classifier reported NOASSERTION/None) and wxWindows-3.1 (Frida only). Extends policy.routePrefixes with echo.re., echo.mobile_pentest., and echo.prometheus_strike. — real, live-verified ECHO capability namespaces. The catalog test now derives its accepted route prefixes from policy.routePrefixes instead of a hardcoded regex. npm run verify (typecheck, lint, format, full test suite, build) and npm audit are green.
|
Added batch 3 of the Crucible tool catalog (commit 77c9024) — reverse-engineering and binary-analysis tooling, per an explicit follow-up request to cover the tool families named in 20 new entries, all live-verified against GitHub (commit SHA + license):
8 candidates were excluded after live verification confirmed copyleft licensing (MobSF GPL-3.0, Keystone GPL-2.0, Unicorn GPL-2.0, radare2 LGPLv3, rizin LGPL-3.0, Cutter GPL-3.0, Qiling GPL-2.0, objection GPL-3.0); x64dbg and pyelftools were left out rather than included unverified/out-of-policy. Required two policy extensions (both documented in
The catalog test now derives its accepted route prefixes from Validation: |
Summary
Built the QCoder governed plugin and added a pinned Crucible security-tool catalog covering 20 additional open-source repositories across low, medium, high, and critical tiers. Added strict catalog validation, tests, release staging, and documentation. High-risk tools require an authorized Crucible scope; critical Caldera is Crucible-only.
Why
QCoder needs stronger coding, security validation, and autonomous-maintenance capabilities without turning a local terminal into unrestricted target or credential authority.
Validation
Security
Catalog entries are pinned to exact commits and license SHA-256 digests. Membership grants no shell, network, credential, or target authority. Low-risk scanners are workspace-safe; active discovery/fuzzing/proxy tools require Crucible scope; Caldera is critical and Crucible-only. No secrets or restricted data were added.
Evidence
Commit a8e4064 on agent/qcoder-canonical. Hosted checks must pass on this exact commit before merge.