Inspiration

Modern application security suffers from a painful split: traditional static analysis (SAST) tools drown developers in false positives because they ignore framework and container runtime behavior, while raw LLM code auditors burn massive token budgets and hallucinate vulnerabilities out of docstrings or safe parameterized queries.

We asked: What if we stitched together the best parts of deterministic compiler analysis, formal three-valued logic, adversarial AI reasoning, live threat intelligence, and native IDE automation into one cohesive creature? That question gave birth to ChimeraAudit—a Frankenstein security engine built from the ground up for the Best Frankenstein category at Kiroween 2026[cite: 2].

What it does

ChimeraAudit is a full-stack, zero-day vulnerability auditing workbench and Kiro-native security gate that transforms raw source code into verified patches and disclosure-ready CVE records in seconds[cite: 2]:

  • Organ 1 — Cross-Language Multi-Hop Slicer (slicer.py): Extracts Python (FastAPI/Flask) and Java (Spring Boot) routes—including bare @GetMapping/@PostMapping endpoints inheriting class-level prefixes—while masking triple-quoted docstrings ("""...""") with preserved line numbers so prompt examples are never mistaken for routes. It stitches cross-function helper calls (Entrypoint -> Hop 1 -> Hop 2 -> Sink) into a unified taint context[cite: 2].
  • Organ 2 — Kleene Three-Valued Logic Gate (detectors.py): Evaluates 6 vulnerability classes (sqli, pathtraver, authz, deserial, cmdi, ssrf) using True (provably vulnerable), False (provably guarded), and None (uncertain—defer to AI). It models real runtime invariants, such as Tomcat 10.1 + Spring MVC 6.1 PathPatternParser blocking single-segment @PathVariable traversal while catching bare @PostMapping sibling authorization gaps (AUTHZ_SIBLING_GUARD)[cite: 2].
  • Organ 3 — Two-Tier AI Skeptic Funnel (funnel.py): Routes only None cases through an adversarial two-tier LLM skeptic pipeline (with a 100% deterministic offline fallback so judges can test with zero API keys), cutting LLM token consumption by over 95%[cite: 2].
  • Organ 4 — 4-Source 0-Day Dedup Radar (dedup.py): Queries NVD, CIRCL, GHSA, and GitHub Issues in real time with whole-controller vs. method-specific disambiguation to separate true ZERO_RECORD_FRESH findings from known duplicates[cite: 2].
  • Organ 5 — Self-Verified Patcher & MITRE CVE 5.2 Exporter (patcher.py, cve5_exporter.py): Synthesizes unified diff patches, automatically re-runs the detector on the patched code to prove True -> False, and exports schema-valid MITRE CNA-LR CVE 5.2 (x_CAN) JSON reports[cite: 2].
  • Kiro IDE Native Integration (mcp_server.py & Hooks): Exposes 4 security tools via a custom stdio MCP server and enforces automatic regression checks on file save via Kiro Hooks[cite: 2].

How we built it

We built ChimeraAudit using a spec-first workflow inside Kiro IDE[cite: 2]:

  1. Steering & Invariants (.kiro/steering/): We codified our Kleene three-valued rules, container path-normalization boundaries, and whole-class vs. method-level CVE deduplication invariants into security-invariants.md and architecture-conventions.md so every generated module stayed strictly aligned[cite: 1, 2].
  2. EARS Specifications (.kiro/specs/chimera-audit/): We authored formal WHEN ... THE SYSTEM SHALL ... requirements, mathematical funnel models, and phased task checklists across requirements.md, design.md, and tasks.md[cite: 1, 2].
  3. Kiro Hooks & MCP Server: We wired .kiro/hooks/ to trigger automated security gates on .py/.java saves and built mcp_server.py (with zero-dependency JSON-RPC 2.0 fallback) so the Kiro Agent can slice, deduplicate, patch, and export CVE 5.2 records directly inside the editor[cite: 1, 2].
  4. Dr. Frankenstein's Zero-Day Laboratory (app.py & web/index.html): We built a FastAPI backend and a dark-mode cyber-gothic single-page workbench featuring 6 one-click presets (4 real 0-day patterns + 2 tricky false-positive traps) and interactive call-chain visualization[cite: 2].

Challenges we ran into

  • Eliminating False Positives Without Missing Subtle 0-Days: Naive regex or AST rules either flag safe single-segment @PathVariable("{fileName}") endpoints (which Tomcat/Spring 6.1 normalize automatically) or miss bare @PostMapping upload methods sitting right next to a patched sibling method. Encoding container-level normalization rules and sibling-guard heuristics into Kleene three-valued logic solved both sides of the precision-recall trade-off[cite: 2].
  • Zero-Friction Judge Experience: Security tools often require complex API keys or local database setups. Building a deterministic offline fallback alongside 6 realistic multi-hop presets ensured anyone can click a button on our live web app and watch the full audit-to-CVE-5.2 pipeline run in under 2 seconds[cite: 2].

Accomplishments that we're proud of

  • Stitching 6 distinct technologies (static AST/route slicing, Kleene formal logic, adversarial LLM funneling, 4-source threat-intel APIs, MCP/Hooks, and interactive graph visualization) into a single, fast FastAPI + HTML5 application[cite: 2].
  • Achieving >95% token reduction via the deterministic security gate while validating patches automatically with a closed-loop True -> False re-audit check[cite: 2].
  • Delivering native Kiro IDE tooling alongside a zero-setup web workbench with 100% passing pytest regression coverage[cite: 1, 2].

What we learned

Using Kiro's .kiro/steering and EARS-style .kiro/specs fundamentally changed how we built a multi-component security tool—turning subtle runtime behaviors (like docstring line-number preservation and Spring PathPatternParser semantics) into permanent, machine-enforced engineering invariants rather than ad-hoc bug fixes[cite: 2].

What's next for ChimeraAudit

  • Expanding multi-hop taint slicing to Go, TypeScript/Node.js, and C#/.NET controllers.
  • Adding automated GitHub Pull Request creation with verified unified diffs and signed SARIF + CVE 5.2 artifact bundles.
  • Publishing the ChimeraAudit MCP server to the community registry for drop-in Kiro IDE protection across open-source repositories.

Built With

Share this project:

Updates

Submission history