Hackathons
Public builds made for hackathons. Each entry is published with what it shows, what was measured on its own corpus, and what it does not claim.
Entry
BlastGuard AI: AI that can refuse, with proof
What it shows
Because a secure patch can still break production. "Findings: 0" is not the same as "still works".
An agent loop finds misconfigurations, asks NVIDIA Nemotron for a YAML patch, re-verifies from scratch, then an Intent Preservation Gate returns SAFE_TO_PROPOSE or REVIEW_REQUIRED. The model only proposes; checks that do not depend on the model decide.
Pipeline
Find → patch → re-verify → gate.
Intent Preservation Gate after deterministic rules and external validators.
Measured
On its own small corpus.
Small, hand-written by one author, static oracles — published as is.
On its own small corpus · 16 cases, 48 real runs
A security-only tool would accept all 35. BlastGuard sent those 14 to review, and sent 0 function-preserving patches to review.
Runtime proof
One synthetic case in kind.
Security-passing patch that stopped collecting; gate refused.
- Original COLLECTED
- Nemotron patch NOTHING_TO_COLLECT passes every security check
- BlastGuard gate REVIEW_REQUIRED
Kind cluster in GitHub Actions: synthetic collector on a node hostPath. Attempt 1 failed (kept hostPath); attempt 2 passed security; gate returned REVIEW_REQUIRED.
Limits
What it does not claim.
Blind challenge on this corpus: 6 unseen cases, 18 real runs — frozen oracles found 0 false SAFE and the gate sent 13 of 18 to review.
A later cluster audit confirmed 2 failure modes across 6 runs; 3 could not be tested and 4 may be false alarms, so the oracles were too lax and the gate is strict but its reasons are generic.
VERIFIEDmeans "passed these checks", not "works in your cluster".- The app never touches a cluster.
- Corpora are small and hand-written by one author; oracles are static and conceptually overlap the gate.
- The runtime proof is one synthetic case.
Links
Open the sources.
- Devpost project ↗
- Repository ↗
- Live demo ↗ The demo sleeps when idle; press the wake button, it starts in about a minute.
- Video on YouTube ↗
Built with: Python, Streamlit, PyYAML, openai SDK, NVIDIA Nemotron (nemotron-3-super-120b-a12b), Nebius Token Factory, kubeconform, kube-linter, GitHub Actions, kind.
Provenance: the original BlastGuard (Go CVE blast-radius engine) existed before the submission period and is not integrated; everything in blastguard-ai was built during the submission period.
Build details on this setup
- Parsing
- Fail-closed YAML (safe loader, size and document caps; manifests never executed)
- Rules
- 13 deterministic rules BG001–BG013
- Validators
- kubeconform schema validation and kube-linter
- Sandbox
- Patch applied in a sandbox; identity guard blocks deletes/swaps of the workload
- Feedback
- Verifier feedback returns to the model; parse, API, budget or validator problems fail closed
- Demo caps
- Per-session 10 and process-wide 1500 run limits
How these pages are written
Every number on this page comes from the project's own published evidence.