
May 22 - 24, 2026Online and in person
The Secure Program Synthesis Hackathon
The Secure Program Synthesis Hackathon brings researchers and engineers together for three days to prototype the tools we'll need to verify what AI is writing. Co-organized with Atlas Computing. Top teams are invited to apply to the four-month SPS Fellowship that follows.
Entries
- View project: Vibe-Coding Specs: Eliciting, Editing, and Verifying Specifications for AI Coding Agents
Vibe-Coding Specs: Eliciting, Editing, and Verifying Specifications for AI Coding Agents
Team Lida Safety · Montreal
Specifications for real systems do not exist as one-shot artifacts: the user's intent emerges as they discover edge cases, rewrite drafts, and react to failing tests. We present an iterative pipeline that takes this seriously --- every spec artifact (the Lean predicate, the Python reference oracle, the generated code, …
- View project: AgentSpecGap
AgentSpecGap
Team solo-team · Jersey City, NJ
This prototype extracts rules from system prompts, tool descriptions, and runtime config. Rules are classified into one of interface validation, authorization check, workflow ordering validation, runtime validation, business-logic validation
- View project: SpecGap Arena
SpecGap Arena
Team Obligation Cartographers · Bengaluru
SpecGap Arena is a benchmark and framework that exposes how incomplete specifications let plausible but incorrect code pass public tests. It synthesizes missing semantic obligations (security boundaries, invariants, edge cases) before implementation, then generates Hypothesis/CrossHair/Z3 acceptance checks that reject …
- View project: Hollow Proofs: Measuring LLM Dishonesty with a Formal Verifier
Hollow Proofs: Measuring LLM Dishonesty with a Formal Verifier
Team Hollow Proofs · Montréal
Honesty benchmarks for language models must check claims against ground truth, which can be difficult: world-knowledge benchmarks conflate lying with ignorance, and belief-based methods such as MASK rely on an elicited belief they cannot independently check. We study a setting where ground truth is mechanical: when a …
- View project: Where to Look: Energy-Based Fault Localization for Verus Vericoding
Where to Look: Energy-Based Fault Localization for Verus Vericoding
Team Oz Labs · Tel Aviv
A 1.5B-parameter discriminative energy-based model that scores each line of a Verus implementation with an energy proxy for "this line is the bug." Qwen2.5-Coder-1.5B + LoRA + sentinel-token per-line head, trained on 39k Microsoft Verus pairs with InfoNCE + pairwise hinge + ListNet. One adapter, runs on a single H100, …
- View project: Proof Assistance as Verification Oracle for Porting
Proof Assistance as Verification Oracle for Porting
Team Vajrapani · India, United States
This project tests a formal-verification harness on Anthropic’s Bun rewrite work, where AI-generated Rust ports are checked against their original Zig implementations. The harness translates Rust into Dafny, extracts behavioral theorems from Zig, and attempts to prove those theorems against the Rust-derived model. In …
- View project: SpecCheck: When LLMs Formalize, Who Checks the Spec?
SpecCheck: When LLMs Formalize, Who Checks the Spec?
Team invi · Manipal, India
Proof checkers guarantee that code satisfies a specification, but not that the specification captures what the user intended. When large language models formalize natural language requirements, they can silently weaken postconditions, drop edge cases, or resolve ambiguous terms in ways the user did not expect: a …
- View project: DiffSpec-PBT
DiffSpec-PBT
Team DiffSpec-PBT · Saudi Arabia
Prompt independent LLM spec authors for the same natural-language requirement. Use property-based testing on each spec pair to surface inputs/outputs where they disagree. Each disagreement is a concrete counterexample of intent drift, classified by type. Any OpenAI-compatible endpoint can serve as an author; the eval …
- View project: Counterexample-Guided Validation & Repair of LLM-Generated Safety Specifications
Counterexample-Guided Validation & Repair of LLM-Generated Safety Specifications
Team 9999 · Toronto
LLMs can turn natural-language safety requirements into formal specifications, but a fluent specification can still be the wrong one. It might quietly drop a guard, block access the policy should allow, or respond inconsistently when a safety-relevant input changes. We built a pipeline that checks whether an …
- View project: Does Oracle Quality Matter? Adversarial Feedback for Formally Verified Code Synthesis
Does Oracle Quality Matter? Adversarial Feedback for Formally Verified Code Synthesis
Team OracleGap · Bengaluru
Counterexample-Guided Inductive Synthesis (CEGIS) is the standard approach for repairing LLM-generated code that fails formal verification. We investigate whether augmenting the verifier's error feedback with adversarial LLM-generated counterexamples accelerates convergence. Using 50 Dafny tasks from the Vericoding …
- View project: TCB-Expansion Attacks on Lean 4 and the LLM Proof Reviewers That (Mostly) Miss Them
TCB-Expansion Attacks on Lean 4 and the LLM Proof Reviewers That (Mostly) Miss Them
Team 501st Lean-gion · New York
Using an open Lean bug (#7463), I built 23 proofs that the kernel accepts as valid but are actually false. The attack works by smuggling a fake axiom through a @[csimp] rewrite, which native_decide then compiles and runs — without the kernel ever seeing it. Lean's own audit command, #print axioms, reports the proof as …
- View project: VeriTool: Safer Agents through Safer Tools
VeriTool: Safer Agents through Safer Tools
Team checkcheckcheck · Chennai
Agent safety is often discussed at the level of the whole agent, but many practical failures happen at a lower level: the tools the agent is allowed to use. A file reader, SQL wrapper, API caller, or evaluator can each create a very different failure mode. VeriTool explores a simple alternative: instead of treating …
- View project: CapShim: Validating Capability Policies for the Model Context Protocol via a Non-Interference Type System
CapShim: Validating Capability Policies for the Model Context Protocol via a Non-Interference Type System
Team CapShim · Saudi Arabia
CapShim is a transparent proxy between an LLM agent and an MCP server. It typechecks the agent's proposed tool-call plan against an Information Flow Control (IFC) lattice and statically rejects any plan whose data flow would violate a YAML-declared policy — before any tool fires.
- View project: Moving Beyond Specification Validation to Specification Refinement with Mutation Verification
Moving Beyond Specification Validation to Specification Refinement with Mutation Verification
Team Imperial College Fun-don · London
For mutation verification of Dafny code, we evaluate the usage of constraint-solving based filtering of equivalent mutants and LLM analysis of legitimate alive mutants for automating the process of refining the specifications of verified Dafny code from mutations.
- View project: Fooling LLM-Based Program Verifiers
Fooling LLM-Based Program Verifiers
Team Dev and Lalit · Atlanta, GA
Extending the Clover Verification Scheme, we test a new adversarial data class and test if LLM can automate a certain type of mutation that consistently breaks the Clover scheme.
- View project: SpecFault-Dafny: A Class-Stratified Scorecard for Verifier-Passing Specification Faults
SpecFault-Dafny: A Class-Stratified Scorecard for Verifier-Passing Specification Faults
Los Llanos de Aridane
A 45-item Dafny benchmark of verifier-passing specification faults: 30 intent/contract mismatches across six failure classes and nine domains, plus 15 clean controls. It scores five baseline validators (verifier-only, static escape-hatch scanning, symbolic checks, round-trip comparison, and a fixed-order hybrid) by …
- View project: Spec-Laundering
Spec-Laundering
Team Spec-Laundering · Plano
A Benchmark and Severity Measure for Adversarial Specification Cheating in Dafny
- View project: SpecMutate: Coverage-Guided Specification Diagnosis and Repair for Property-Based Tests
SpecMutate: Coverage-Guided Specification Diagnosis and Repair for Property-Based Tests
Team Aditya · Prayagraj
SpecMutate achieves 15/15 diagnostic accuracy and 10/10 repair convergence on SpecMutate-15, a balanced 15-task benchmark spanning underconstrained, overconstrained, and correct Hypothesis specification classes. As large language models generate increasing volumes of test specifications, unverified specs become a …
- View project: Chorus: Mining Emergent Specifications from Caller Consensus
Chorus: Mining Emergent Specifications from Caller Consensus
Team Spectacular · Mumbai
Chorus is a static analysis framework that recovers a function's true specification from its callers rather than its author. Every call site encodes implicit assumptions — guards, handlers, argument patterns — and Chorus aggregates these across all callers as weak, noisy observers of the same underlying contract. …
- View project: SpecTrojan: Adversarial Specification Validation via Evil Twin Synthesis
SpecTrojan: Adversarial Specification Validation via Evil Twin Synthesis
Team Spectacular · Mumbai
SpecTrojan is a spec-validation tool that inverts the traditional input-space search: given a candidate specification, an attacker LLM synthesizes an "Evil Twin" — an alternative implementation that satisfies the spec yet diverges from the reference on intent-bearing inputs. A successful twin is an artifact-level …
- View project: Postern: a Lean-verified access gateway for agentic data lakehouse
Postern: a Lean-verified access gateway for agentic data lakehouse
Team Postern · Singapore
We address access control for data lakehouses queried by LLM agents. An agent's effective rights are context-driven — which principal it acts for, which task it is invoked under, which scope the caller granted — and the static identity→role→permission chain of RBAC cannot encode any of those axes. Per-engine row- and …
- View project: When Models Disagree: Cross-Model Divergence Analysis for Ambiguity Risk Estimation in Software Requirements
When Models Disagree: Cross-Model Divergence Analysis for Ambiguity Risk Estimation in Software Requirements
Team Jack · Mt. Juliet, TN
As AI systems generate increasing volumes of software code, one bottleneck in trustworthy software development is increasingly shifting upstream: specifying what code should do, and verifying that it does so. We investigate whether cross-model divergence in specification generation can serve as a practical signal for …
- View project: SpecSaboteur
SpecSaboteur
Team Safe_fr · Pune,India
SpecSaboteur validates formal specifications by generating adversarial "malicious compliance" implementations that satisfy every spec constraint while violating intended behavior — the dual of CEGIS applied to specification refinement. Tested on 14 Dafny and software specs across 3 strength tiers, it detects 12 gap …
- View project: Cross-Model Spec Comparison: Finding Disagreement in Candidate Lean 4 Specifications Generated by OpenAI Models
Cross-Model Spec Comparison: Finding Disagreement in Candidate Lean 4 Specifications Generated by OpenAI Models
Sofia, Bulgaria
We study whether candidate formal specifications produced by different OpenAI models agree on the intended behavior of small systems. For three specification tasks, we generate three Lean 4-oriented candidates per task, normalize them into a shared canonical format, and compare assumptions, preconditions, …
- View project: TrojanSpec-Bench: Adversarial Specification Elicitation in AI-Assisted Formal Verification
TrojanSpec-Bench: Adversarial Specification Elicitation in AI-Assisted Formal Verification
Team ParityAI · Budapest, Hungary
TrojanSpec-Bench is the first benchmark to treat the natural-language-to-specification elicitor in AI-assisted formal verification as a Dolev-Yao adversary. We release 1,024 verifier-admitted trojan triples across Dafny, Lean 4, and Verus, spanning four attack patterns anchored in real disclosed libcrux bugs. Our …
- View project: Don't LEAN On Me
Don't LEAN On Me
Team Decepticons · Kolkata
Don't LEAN On Me reproduces a cross-module soundness break on Lean v4.30.0-rc2 in which a malicious dependency uses @[implemented_by] and native_decide to hand a downstream consumer a kernel-certified theorem that contradicts the kernel's own reduction of the same term, while #print axioms, lake build, and source …
- View project: Adversarial Iteration for Underspecified Program Synthesis
Adversarial Iteration for Underspecified Program Synthesis
Team The Herons · Tel Aviv
We introduce IDCS (Iterative Distinguishing of Code and Specs), a spec-guided pipeline that outperforms direct code generation on underspecified program-synthesis tasks. This pipeline, composed of a generator, a distinguisher, a user-proxy, and finally a coder, gets significantly better results than either using the …
- View project: Bugmine
Bugmine
Team Bugzy · Lagos
A commit-grounded pipeline for turning Code4rena access-control reports into self-validated Halmos property tests.
- View project: Specmut: Semantic Mutation Testing for Formal Specification Tightness
Specmut: Semantic Mutation Testing for Formal Specification Tightness
Team Specmut · Chesapeake
This project develops Specmut, a mutation-based validation tool for formal specifications. The core problem is that formal verification can prove code satisfies a specification, but it cannot prove the specification is strong enough to capture the intended behavior. Specmut generates nearby specification mutants and …
- View project: SpecGap: Preserving Disagreement in Specification Assurance
SpecGap: Preserving Disagreement in Specification Assurance
Team SpecGap · Bristol
SpecGap detects specification divergence between stakeholder intent, formalised policy, and implementation before runtime. When independent mechanisms disagree, SpecGap preserves the disagreement as evidence rather than collapsing it into a single verdict.
- View project: The Illusion of Passing Tests
The Illusion of Passing Tests
Team SPS Evals · Singapore
The illusion of passing tests is the false belief that visible test success is enough to justify deployment readiness at a security-critical trust boundary. In trustworthy software, generating code is no longer the bottleneck. The bottleneck has become verifying what the AI actually writes. Because complete formal …
- View project: sorryaudit: Transitive Sorry Taint Detection for AI-Assisted Lean 4 Proofs
sorryaudit: Transitive Sorry Taint Detection for AI-Assisted Lean 4 Proofs
Team sorryaudit · Bengaluru, India
AI proof assistants (Lean Copilot, LLMs) routinely use sorry as a placeholder for proof steps they cannot complete. The file compiles clean, CI passes, and the "formally verified" label gets attached. The problem is transitive: if theorem B depends on theorem A, and A uses sorry anywhere in its proof chain, B is also …
- View project: NeuroTrace: Spec-Aware Neural Network Runtime
NeuroTrace: Spec-Aware Neural Network Runtime
Team Safeboy · Los Angeles
NeuroTrace is a spec-driven observability framework for neural network models. The core idea is that a neural specification should not stay as a static file: it should become a live contract that the runtime, training loop, optimized implementation, export artifacts, and verifier outputs must continue to satisfy. …
- View project: Spec Mutation Survival Analyzer
Spec Mutation Survival Analyzer
Team LeanLogic · LA
An automated auditing pipeline that measures the actual strength of AI-generated formal specifications by testing how much "real work" each clause is doing. The Problem: Formal verification is only as strong as the specification it relies on. Even with few-shot prompting, LLMs consistently generate redundant, …
- View project: SpecTrap: How Compliance Pressure Degrades AI-Generated Formal Specifications
SpecTrap: How Compliance Pressure Degrades AI-Generated Formal Specifications
Team SpecTrap · India
AI models are increasingly used to generate formal specifications and property-based tests for verification pipelines. We show that production-style prompts ("generate at least 8 properties, do not refuse") cause specification soundness to collapse: GPT-4o drops from 60% to 13% file-level correctness (p = 1.76×10⁻⁴, …
- View project: Zero-DoF Spec-Conditioned Decoding
Zero-DoF Spec-Conditioned Decoding
Team Corn Farmers · Ithaca
While Large Language Models (LLMs) excel at code generation, their open-ended optimization for token likelihood over mathematical correctness introduces a severe security liability: excessive generative degrees of freedom. This structural flaw embeds subtle semantic vulnerabilities into functional software, while …
- View project: Veridict
Veridict
Team ZKred · Vadodara
Veridict is a merge gate for AI-synthesized code that decouples qualified-reviewer-ness from identity. A natural-language spec is sent to Claude, which generates an implementation, a pytest suite, and a Z3 invariant file. The issuer mints a Longfellow ZK credential only after all three formal layers pass, and N …
- View project: The Iron Rule Checklist: Structured Specification Elicitation Reduces False-Pass Rates from 82% to 3.5% in LLM-Generated Lean 4 Specifications
The Iron Rule Checklist: Structured Specification Elicitation Reduces False-Pass Rates from 82% to 3.5% in LLM-Generated Lean 4 Specifications
Shanghai, China
We measure the false-pass rate in NL-to-Lean 4 specification pipelines: how often objectively insufficient natural language descriptions produce specs that pass all decide-based verification tests. Across 243 descriptions (81 VERINA problems × 3 personas), the baseline false-pass rate is 82.4%. Free-form LLM …
- View project: Spec Triangulator: Multi-Tool Triangulation for Formal Specification Validation
Spec Triangulator: Multi-Tool Triangulation for Formal Specification Validation
Team CornerCore AI · Toronto, Hosur, Tanjavur
Spec Triangulator is a two-component system designed to solve the triage and validation challenges in formal verification. While formal verification tools can confirm what a developer has specified, they cannot verify if the specification itself is semantically correct. Spec Triangulator helps engineers choose the …
- View project: RAFT: Gradual Typing, Invariance Enforcement, and Property Verification in Research Python.
RAFT: Gradual Typing, Invariance Enforcement, and Property Verification in Research Python.
Team RAFT · Paris, France
AI researchers prototype in short scripts or Jupyter notebooks and push directly to state-of-the-art frameworks like transformers or vLLM. They lack the time for rigorous testing or manual verification. Moreover, the nature of their work makes traditional test or spec-driven development difficult to apply. We propose …
- View project: Adaptive Permission Sandbox for LLM Agents
Adaptive Permission Sandbox for LLM Agents
Team CTRL+S · Jabalpur, India
LLM agents are powerful but unsafe by default, often executing harmful or unauthorized actions such as destructive SQL queries or leaking sensitive data. My project introduces an Adaptive Permission Sandbox with a human‑readable DSL that enforces safety rules proactively, before execution. Policies cover static …
- View project: JARE: A Differential-Testing Workbench for Auditing AI-Generated Specifications
JARE: A Differential-Testing Workbench for Auditing AI-Generated Specifications
Team JARE · Montreal
JARE is an auditing tool for AI-generated software specifications. When an AI writes both the rules a program should follow and the tests that check those rules, the tests can pass even when the rules are wrong. JARE finds concrete examples where an AI-generated specification disagrees with what the developer actually …
- View project: LLM-Assisted Ambiguity Detection in Regulatory Specifications
LLM-Assisted Ambiguity Detection in Regulatory Specifications
Team kshgrshrn · NOIDA
Regulatory software has a specification problem. Rules like "late filing attracts a penalty of Rs. 50 per day" are written for accountants and lawyers, not for engineers who need to know when the clock starts, whether there is a cap, and what happens when a supplier files late. The hard part is not implementing the …
- View project: BALD-PS: Factored Bayesian Active Learning for Specification Elicitation, with Symmetric Mutation-Equivalence Validation
BALD-PS: Factored Bayesian Active Learning for Specification Elicitation, with Symmetric Mutation-Equivalence Validation
Team OpenScience · Hattiesburg
BALD-PS is a framework for interactive formal specification elicitation from ambiguous natural-language requirements using factored Bayesian active learning. The key insight is that a specification naturally decomposes into two predicates , a precondition (requires) describing valid inputs and a postcondition …
- View project: MicroVMM: AI-Assisted Verification-Oriented Virtual Machine Monitor
MicroVMM: AI-Assisted Verification-Oriented Virtual Machine Monitor
Team BabyPhD · Tokyo, Japan
Modern agentic systems increasingly execute untrusted AI-generated code inside lightweight sandboxing environments. While many existing sandboxes rely on operating-system namespaces, recent advances in autonomous vulnerability discovery have exposed weaknesses in these traditional isolation boundaries. At the same …
- View project: AuraRemed: Autonomous Security Engineering Report
AuraRemed: Autonomous Security Engineering Report
Team AuraRemed · Spain
About AuraRemed is a local DevSecOps engine that automates software vulnerability remediation without data leakage. Its architecture couples Semgrep (Tier 2) for deterministic flaw detection with Qwen2.5-Coder (Tier 1) to apply surgical in-memory patches and security docstrings in a closed feedback loop until …
- View project: SPEC-CHECK
SPEC-CHECK
Team Drona · Hydearbad, India
"SPEC-CHECK addresses Track 1 — Specification Elicitation — by automatically extracting formal constraints from natural language requirements documents and evaluating whether LLM outputs adhere to them or silently override them. Built on empirical findings from ARCORE-ML (NeurIPS 2026 #2102, EMNLP 2026 #391), which …
- View project: TrajectoryCheck: Trajectory-Level Invariant Validation for Behavioral Drift Detection in Generated Code
TrajectoryCheck: Trajectory-Level Invariant Validation for Behavioral Drift Detection in Generated Code
New Delhi,India
TrajectoryCheck is a trajectory-level invariant validation framework that evaluates whether generated systems preserve behavioral consistency across execution phases. Instead of relying on static output inspection, the framework models execution as a sequence of operational phases connected through local and global …
- View project: Axiom Zero: AlphaZero-Style Reinforcement Learning for Automated Formal Verification of Python Programs
Axiom Zero: AlphaZero-Style Reinforcement Learning for Automated Formal Verification of Python Programs
Team Axiom_Zer0 · Cape Town
The rapid growth of AI-generated code has created a verification crisis: Gross World Lines of Code (LoC) is expanding at unprecedented rates, yet developers have no systematic guarantee that the code produced by large language models behaves as intended. We present Axiom Zero, a compiler and reinforcement learning …
- View project: lean Coconut
lean Coconut
Team German Alfaro · Tijuana
We investigate whether latent chain-of-thought reasoning (Coconut; Hao et al., 2024) can improve tactic diversity and pass@k performance in Lean 4 next-tactic prediction. We train decoder-only transformers from scratch on the LeanDojo benchmark and compare standard autoregressive generation against Coconut …
- View project: Project Verify
Project Verify
Team Verify · Kenya
Project Verify is a Secure Program Synthesis Hackathon project that turns code, documentation, and requirements into structured formal specifications using multiple LLMs (Claude, GPT-4o, and Gemini). It extracts preconditions, postconditions, invariants, assumptions, and testable properties, then compares outputs …
- View project: Verified But Wrong
Verified But Wrong
Stockholm
Verified But Wrong studies a target-validity failure mode in vericoding: formally verified code can satisfy a supplied specification while violating the natural-language intent that specification was meant to capture. We audit a public Dafny vericoding benchmark, validate 11 externally sourced demonstrations including …
- View project: SPS-VeriSpec
SPS-VeriSpec
Team SPS-VeriSpec · Boston
We implemented a complete pipeline from Python program to Datalog properties to test cases.
- View project: Grounding LLMs With Standards Documents
Grounding LLMs With Standards Documents
Team Specification Team · Indianola, Iowa and San Jose, California
We grounded LLMs with POSIX, WC3, etc standards documents and the LEAN4 source code and in the course of the weekend they are able to elicit several bugs in the Rust MIT Coreutils and Safari/Webkit codebases.
- View project: SpecSentinel
SpecSentinel
Team UNIT - 108 · INDIA
SpecSentinel is a professional-grade, single-file specification validation studio built in Python 3.10 and Streamlit.The application provides an end-to-end, interactive pipeline that evaluates whether a candidate specification truly and completely captures the intended behaviour of a software system. The platform …
- View project: CwicSpec
CwicSpec
Team CwicSpec · York, United Kingdom
We built a prototype that conjectures candidate specifications for C functions by generating inputs, observing outputs with KLEE, and searching for equivalences between expressions. Inspired by QuickSpec, the project explores whether theory exploration can be applied to C programs. Our implementation is limited by …
- View project: ITP Fuzz
ITP Fuzz
Team Fuzzers · Overland Park
A framework for finding failure modes in interactive theorem provers (ITPs) and LLM-assisted proof tools.
- View project: SpecShift SPS Evaluator
SpecShift SPS Evaluator
Team SpecShift Research · Vermont, USA
SpecShift SPS Evaluator is a public synthetic scaffold for observable-only review of generated-code tasks. The project explores a simple problem: passing visible tests is not the same as satisfying the underlying specification. The prototype implements multiple structured review passes across baseline, schema, …
- View project: Lean checker validating Skill Plugin
Lean checker validating Skill Plugin
Team Ivan G. Rojas · Durham ,NC
It goes through goals in lean and solves for a theorem. It asks sub questions about why a checker passed/failed and adds this as a topological layer (a chain complex). We estimate a betti table using qiskit for test problems of greater complexity and this estimates the time any checker takes for parsed questions in …
- View project: OPERATION_RED-FRONTLINE_V3-Beta
OPERATION_RED-FRONTLINE_V3-Beta
Team RED-Frontiers · Hong Kong
Project Summary: OPERATION RED-FRONTLINE (v3-Beta)Elevator Pitch: OPERATION RED-FRONTLINE is an automated, asynchronous DevSecOps benchmarking framework designed to stress-test large language models across multiple turns. It moves beyond primitive single-shot keyword matching by using a stateful mutation loop and an …
- View project: Invariant Extraction + Monitoring
Invariant Extraction + Monitoring
Team Solodev · India
multi-model extraction, time-windowed FSM, live alerting, CI gate — layers on top of this core once you've validated the invariant quality on your real spec
Overview
HACKATHON WINNERS
Congratulations to our winning teams, and thank you to everyone who submitted. We had 61 projects across four tracks, co-organized with Atlas Computing, and the bar was high throughout. $2,000 in prizes total.
🥇 1st Place ($1,000):
Vibe-Coding Specs: Eliciting, Editing, and Verifying Specifications for AI Coding Agents by Linh Le & David Williams-King
🥈 2nd Place ($500):
Where to Look: Energy-Based Fault Localization for Verus Vericoding by Guy Nachshon
🥉 3rd Place ($300):
Proof Assistance as Verification Oracle for Porting by Abhinav Chand and Balaji R
🏅 4th Place ($100):
AgentSpecGap by Amish
🏅 5th Place ($100):
DiffSpec-PBT by Fatimah Emad Eldin
—————————————————————————————————————————————————
Gross World LoC is skyrocketing because of AI. By default, we have no way of knowing if what we're vibecoding does what we think it does. Secure program synthesis throws formal methods, proof assistants, type systems, model checkers, at all the code coming out of AI systems. Three days. Small teams. Real research output.
Top teams from this hackathon are fast-tracked to the Secure Program Synthesis Fellowship (June-October 2026), where mentor-led teams take projects further with Apart Research project managers, compute, and API credits.
Organized by Apart Research and Atlas Computing
Top teams get
| Fast-Track to the Secure Program Synthesis Fellowship | |
| $2,000 in cash prizes across all tracks | |
| 🥇 1st Place | $1,000 |
| 🥈 2nd Place | $500 |
| 🥉 3rd Place | $300 |
| 🏅 4th Place | $100 |
| 🏅 5th Place | $100 |
What this hackathon is about
Three days to build a research artifact at the intersection of AI, formal methods, and security. The bottleneck in trustworthy software is no longer writing code, it's specifying what the code should actually do and verifying it does. We want sharp prototypes that move that needle.
The hackathon runs alongside the Secure Program Synthesis Fellowship. Strong teams here get invited to apply to the four-month Fellowship that starts in June, where you continue the work with a mentor, an Apart project manager, compute, and API credits.
Tracks
Same four focus areas as the Fellowship. Pick one and ship something concrete by Sunday.
1. Specification Elicitation
Tools that pull formal specifications out of ambiguous sources: documentation, legacy code, requirements docs, conversations with domain experts. Structured editors, GUIs, pipelines that translate informal intent into Lean (or similar).
Example projects:
- A Coq/Lean spec drafting assistant that turns a natural-language requirement into a candidate spec, with reviewer tooling for the human in the loop.
- An IDE extension that surfaces hidden assumptions in a legacy C codebase.
2. Specification Validation
Methods that check whether a candidate specification actually captures the system's intended behavior. Testing, cross-checking, mutation, formal validation.
Example projects:
- Property-based fuzzing harness that flags specs which underconstrain or overconstrain the system.
- Cross-model spec comparison: generate two spec candidates from different LLMs, surface where they disagree.
3. Spec-Driven Development & Evaluation (a.k.a. Vericoding)
Workflows where a spec generates multiple candidate implementations and ranks them. CEGIS-style loops, spec-conditioned codegen, automatic discrimination between implementations. This is sometimes called vericoding: formally verified program synthesis from specs.
Example projects:
- An agent that generates N implementations from a spec and uses the spec as the evaluator.
- Lean-backed test harness that catches semantic regressions LLM coders introduce.
4. Adversarial Robustness for ITPs and Proof Tools
Find the failure modes in interactive theorem provers (Lean, Coq, Isabelle, F*) and the LLM-assisted tools that build on them. The new frontier of adversarial robustness for ITPs: fuzzing kernels, defeating proof autocompleters, exploiting unsound automation. Not classical ML adversarial examples.
Example projects:
- Adversarial inputs that defeat a state-of-the-art proof autocompleter.
- Red-team study of an "AI as proof reviewer" pipeline, looking for whether the AI rubber-stamps wrong proofs.
- Fuzz a Lean-verified library for runtime-level soundness gaps, in the style of Kiran Gopinathan's zlib bug (see Resources tab).
Who should join
Generalist software engineers with one or two deeper areas in any of: proof engineering (verified software preferred, but ITP math proofs work too), redteaming and fuzzing, SMT and model checking, secure systems design, or agent / ML evals work. If your expertise sits adjacent to this and you can spin up quickly, that's also a fit.
No formal methods background required to join, but expect to lean on teammates who have it.
What you will do
- Friday May 22: Kickoff, track briefings, team formation.
- Saturday May 23: Build.
- Sunday May 24: Final pushes, submissions, demo.
What happens after
Top teams are fast-tracked to the Secure Program Synthesis Fellowship, June-October 2026. The Fellowship pairs senior researchers (e.g. Erik Meijer, Mike Dodds) with small teams to take projects from prototype to research artifact, with compute, API credits, and demo-day travel funding.
Contact
Questions: secure-program-synthesis-fellowship@apartresearch.com
Resources
Worldview & background
- "Secure Program Synthesis" (Quinn Dougherty, LessWrong sequence, 2026) - Seven-post sequence on the worldview behind this hackathon. Includes "How to Solve Secure Program Synthesis" by Max von Hippel et al.
- awesome-secure-program-synthesis (for-all.dev, maintained by Quinn Dougherty and Max von Hippel) - Curated companies, papers, repos, evals, and orgs in the SPS space.
- "Specifications Don't Exist" (Mike Dodds, Galois, June 2025) - On why writing formal specifications is the bottleneck, not verification.
Project ideas from mentors
Several of the Fellowship mentors shared project prompts you can pick up directly. A few carry into the Fellowship afterward, so they're worth a look even if your team is already underway.
Deductive vericoding
Extend a minimal deductive-vericoding example over a small functional language (naturals and strings) in Lean to deductively vericode InsertionSort, PairSort, MergeSort and QuickSort, following Figure A.1 / Appendix A of the reference thesis below (which gives the Coq minimal examples). Self-contained. Best fit: Spec-Driven Development & Evaluation.
- Starter code (Function.lean) (Beneficial AI Foundation)
- Reference thesis (PDF) - Appendix A has the Coq minimal examples.
BabelBench
Five lines of inquiry, best fit Specification Validation and Adversarial Robustness:
- Same-language proof equivalence. Are two proofs of the same theorem in Coq or Lean doing the same mathematical work? Pick a notion of equivalence (definitional, propositional, or structural) and build a checker.
- Cross-language equivalence via LLM oracles. Two statements in different proof systems (e.g. Dafny vs Lean) alleged to mean the same thing. Using only LLMs as oracles, build a multi-model judgement aggregator.
- Proof shape across languages. Do two proofs of the same theorem in two systems share the same shape (DAG, skeleton, embedding)? Build an extractor for at least two systems and run it on paired proofs. Flagged as the richest of the five.
- Cheating detection. Flag proofs that succeed by leaning on sorry, axioms, aggressive automation, or weakened obligations, and propose a robust complexity measure.
- Corpus construction at scale. A scraper-plus-matcher pipeline to find or generate paired theorems across two proof systems without hand-curating, reporting what fraction of candidate pairs survive inspection.
Semantics Done Quick
- Pickle language modeling. Use an LLM to model the semantics of Apple's Pickle language and build semantic artifacts in that space.
- Formally verified code clones. Take an existing piece of code and build a formally verified clone of it, fast for tiny examples and scaling in complexity.
Per-track reading
Specification Elicitation
- formal-specification-ide (Atlas Computing) - Reference IDE prototype for writing and reviewing mechanized specs alongside human-readable text.
Specification Validation
- lean-tcb (OathTech, Apache 2.0) - Trusted computing base analyzer for Lean 4. Computes which definitions a human must review for a theorem to mean what it claims.
- "On the Promises of 'High-Assurance' Cryptography" (Symbolic Software, Feb 2026) - Found four security vulnerabilities in Cryspen's formally verified libcrux. Sharp critique of "verified" claims.
Spec-Driven Development & Evaluation
- "Counterexample-guided Inductive Synthesis" (Remy Wang) - Approachable primer on CEGIS, the foundational technique for spec-driven program synthesis.
- "Counterexample-guided Abstraction Refinement" (Clarke, Grumberg, Jha, Lu, Veith, CMU/Technion) - Foundational CEGAR paper, hosted as Stanford CS357 reading.
- "Synthesizing Finite-state Protocols from Scenarios and Requirements" (Raghothaman et al., arXiv 1402.7150, Feb 2014) - Spec-driven synthesis from message sequence charts.
- "Approximately Aligned Decoding" (Melcer et al., arXiv 2410.01103, Oct 2024) - Spec-conditioned LLM decoding that balances distribution distortion with computational efficiency.
- "Zero-Degree-of-Freedom LLM Coding using Executable Oracles" (John Regehr, March 2026) - On collapsing the freedoms LLMs have to do bad work by surrounding them with executable oracles.
Adversarial Robustness for FM and QA Tools
- "Validating a Lean Proof" (Lean reference docs) - Escalating sequence of checks against benign mistakes and malicious proof attempts.
- "Lean proved this program was correct; then I found a bug." (Kiran Gopinathan, April 2026) - Fuzzing a verified Lean implementation of zlib found a heap buffer overflow in the Lean runtime itself.
Tools
- Lean 4 - Interactive theorem prover, the workhorse for many of these projects.
- formal-specification-ide (Atlas Computing) - Reference spec IDE built around the Anthropic API.
Guidelines
Judging Criteria
Dimension 1: Impact Potential & Innovation
How much would this matter for the field if it worked? How innovative is it?
For scores of 4-5: is this actually new to the field, or replicating recent work?
| Score | Description |
|---|---|
| 1 | Negligible. No clear problem addressed, or no meaningful novelty. |
| 2 | Limited. Addresses a real problem but with a generic or well-trodden approach. Incremental at best. |
| 3 | Moderate. Clear problem with a reasonable approach; some novelty in framing or method beyond routine application of existing tools. |
| 4 | Significant. Important problem with an original approach, or identifies a neglected problem area. A valuable contribution others could build on. |
| 5 | Exceptional. Tackles a critical AI safety problem with a genuinely novel approach, or opens a new research direction. Clear theory of change. You'd be excited to share this with researchers in the area. |
Dimension 2: Execution Quality
How sound are methodology, implementation, and findings?
| Score | Description |
|---|---|
| 1 | Seriously flawed. Methodology broken, results uninterpretable, or implementation doesn't work. |
| 2 | Weak. Approach has significant gaps: missing validation, flawed experimental design, or incomplete implementation. |
| 3 | Competent. Technically solid given the short duration. Methodology makes sense, results are interpretable, limitations acknowledged, work builds toward clear conclusions. |
| 4 | Strong. Thorough methodology with convincing validation. Results clearly support conclusions. Immediately useful for future work. |
| 5 | Exceptional. Ambitious scope executed rigorously. Surprising findings, novel methods, or unusually robust validation. |
Dimension 3: Presentation & Clarity
How clearly are work, findings, and impact potential communicated?
| Score | Description |
|---|---|
| 1 | Incomprehensible. Cannot determine what the project is actually claiming or doing. |
| 2 | Hard to follow. Key information buried, missing, or diluted by excessive length. Significant effort to extract main points. |
| 3 | Clear enough. Can understand the problem, approach, and results without undue effort. Core content clearly present: problem, method, findings, limitations. |
| 4 | Well presented. Easy to follow, well-structured, appropriate level of detail. Target audience would get it quickly. |
| 5 | Exceptionally clear. A pleasure to read. Complex ideas made accessible. Could serve as a model for how to present this type of work. |
Submission Requirements
A complete submission includes:
- A research report in PDF format using the official submission template
- A project title and brief abstract (150 words max)
- Author names and affiliations for all team members
- Link to a public GitHub repository with your code (recommended - optional)
- A brief (3-5 minute) video demonstration of your solution (optional)
Important: Include an appendix called "Limitations and Dual-Use Considerations" that addresses:
- Limitations (false positives/negatives, edge cases, scalability constraints)
- Suggestions for future improvements
Report structure (recommended):
There is no hard page limit. Most winning projects are 4-8 pages. The report should include:
- Introduction: What problem did you address? Why does it matter for biosecurity?
- Related Work: What existing work does your project build on?
- Methodology: What did you build or test? Describe your approach in enough detail for someone to replicate it
- Results: What did you find? Include quantitative results where possible
- Discussion: What are the implications? What are the limitations? What would you do with more time?
- References: Cite relevant prior work
Important notes:
- You can submit as an individual or as a team
- You can build on existing work, but you MUST clearly identify what is NEW work done during the hackathon
- If you need to fix your submission, submit again using the exact same title and details. Your new files will replace the old ones.
- Submit through the official submission form on the hackathon page
- If you run into submission issues, DM Kamil on Discord or email sprints@apartresearch.com
- Before submitting, gather all your info in a separate document so you can copy-paste into the form: team member names, emails, Discord handles, project title, abstract, and your PDF. If you have extras like a presentation, GitHub link, or images, have those ready too. Triple-check everything before hitting submit.
- Due to the high volume of submissions, we cannot guarantee written feedback for every participant, although all projects will be evaluated.
Submission Template => Link
Discord Server Invite => Link
Frequently Asked Questions
Getting Started
Q: How does the hackathon work?
A: Sign up, join the Discord server, form or join a team (or work solo), pick a direction, build your project over three days, and submit a research report (PDF) by the deadline. Talks and Q&A sessions run throughout the event.
Q: How long is the hackathon?
A: Three days, May 22-24, 2026. Submissions are due end of day Sunday Anywhere on Earth (AoE), the last day of the event.
Q: Can I participate remotely?
A: Yes. The hackathon is fully online. All talks, collaboration, and submissions happen through Discord and Zoom.
Q: How do teams work?
A: Teams form before or during the hackathon. Check the team-forming channels on Discord to find collaborators. Solo participation is fine. We recommend teams of up to 5, but larger groups are allowed.
Q: Do tracks affect scoring?
A: All projects are scored on the same rubric regardless of track. Pick the track that best fits what you want to build.
Q: Do I get compute credits?
A: No, not for this one. Compute clouds have been booked solid for weeks, so we couldn't lock in credits in time.
Q: Do I need a formal methods background?
A: No. Many participants come from ML, software engineering, security, or AI safety backgrounds. The Resources tab has reading to get you up to speed, and speakers will provide context during the event.
Q: Are the talks recorded?
A: Yes. Recording links are shared in the Schedule tab.
Q: What timezone are deadlines in?
A: Submissions close Sunday May 24 at 11:59 PM Anywhere on Earth (AoE).
Q: Do I need to attend all three days?
A: No. You can work at your own pace. Talks are optional but recommended. The only hard deadline is the submission cutoff on Sunday.
Q: Can I participate from any country?
A: Yes. The hackathon is open globally and runs online.
Submissions
Q: What do I submit?
A: A research report in PDF format using the submission template. Think of it as a mini research paper documenting your problem, approach, results, and implications. Not a product demo.
Q: Which submission template should I use?
A: Always use the one linked on the Guidelines tab of the hackathon website. The template in the acceptance email may be an older or minimal version.
Q: Will I get a confirmation after submitting?
A: If the website shows you a "Your project has been submitted" message, then your submission went through. If you don't see that confirmation, try again or DM Kamil on Discord.
Q: My project doesn't show up on the website after submitting.
A: Submissions are reviewed and published manually. It can take up to 12 hours for your project to appear on the website. If it is still missing after that, email sprints@apartresearch.com.
Q: I submitted a duplicate by accident.
A: DM Kamil on Discord with your project title. He will keep the correct submission and delete any extras.
Q: I made a mistake in my submission. Can I fix it?
A: Submit again using the exact same title and exact same details, just fix what was wrong. Your new PDF and files will replace the old ones. If you're unsure, DM Kamil on Discord first.
Q: Can I fix my PDF after submitting?
A: Yes. Submit again using the exact same title and exact same details, just upload the corrected PDF. The new submission will replace the old one.
Q: Can I add team members after submitting?
A: Yes. You can update team members through the submission form on the website. If you need help, DM Kamil on Discord.
Q: Can I submit an unfinished project?
A: Yes. Submitting something unfinished is always better than not submitting. Judges evaluate what you accomplished during the hackathon timeframe.
Q: Can I build on existing research?
A: Yes, but you must clearly identify what is new work done during the hackathon. Projects with significant undisclosed prior work will be disqualified, even from top prize positions. If a judge or organizer contacts you about prior work concerns, respond promptly. Failure to respond may result in disqualification.
Q: Can I submit multiple projects?
A: Yes, but each project needs its own submission with a unique title. Most participants focus on one project.
Q: What if a team member drops out?
A: You can still submit with the remaining members. Update the team member list in your submission. If you need help, DM Kamil on Discord.
Judging and Results
Q: How does judging work?
A: Your project is assigned to 2-3 expert judges who review your PDF. Judges typically have about one week after the event to complete reviews.
Q: Are individual judge scores shared?
A: No. Individual scores are internal. Constructive feedback from judges is shared with participants without reviewer names.
Q: When will results be announced?
A: Typically within 2 weeks after the judging deadline. Winners are contacted directly. All participants receive reviewer feedback by email.
Support
Q: How do I get help during the hackathon?
- Discord help-desk channel (tag @Kamil Alaa)
- DM Kamil on Discord
- Email: sprints@apartresearch.com
Schedule
| Wed May 20 (pre-hackathon) | |
|---|---|
| 17:00 Pacific Time | Jason Gross and Rajashree Agrawal · Recording |
| Thu May 21 (pre-hackathon) | |
| 11:00 Pacific Time | Quinn Dougherty · Recording · Slides |
| Fri May 22 (Kickoff Day) | |
| 11:00 Pacific Time | Joe Kiniry · Recording · Slides |
| 13:00 Pacific Time | Kiran Gopinathan · Recording |
| Sun May 24 (Submission Deadline) | |
| 23:59 Anywhere on Earth | Project submission deadline is Sunday Midnight Anywhere on Earth |
Speakers

Quinn Dougherty
Speaker and Organizer
Quinn Dougherty runs Forall R&D, a research consultancy helping AI safety orgs navigate the formal methods explosion, with contracts at Galois (on ARIA's Mathematics for Safe AI program) and the Beneficial AI Foundation. He co-built FVAPPS, a 4,715-problem benchmark for AI-assisted formal verification, and FV-Spec, which translates real-world property-based tests into Lean theorem-proving challenge problems. He writes the Guaranteed Safe AI newsletter and organized the 2024 Proof Scaling workshop at Lighthaven.

Jason Gross
Speaker
Jason Gross is a co-founder of Theorem, where he is building AI-driven formal verification to address the oversight gap in massively scaled software deployment. He spent his MIT PhD developing Fiat Cryptography, the verified cryptographic code that now underpins HTTPS for trillions of internet connections daily, and remains a core developer of the Rocq (formerly Coq) proof assistant. He holds a Ph.D. from MIT EECS in proof-assistant performance engineering and is based in the San Francisco Bay Area.

Rajashree Agrawal
Speaker
Rajashree Agrawal is the co-founder of Theorem, where she leads the ML research side of trustworthy-by-default AI coding via program equivalence. Her published work spans LLM jailbreaks (co-author on Many-shot Jailbreaking and on transferable image jailbreaks across vision-language models), mechanistic interpretability through compact proofs with Jason Gross, and synthetic-data scaling and model collapse. She also runs Monsoon Math Camp, a math education program in India, and is based in the San Francisco Bay Area.

Joe Kiniry
Speaker
Dr. Joe Kiniry is the CEO and Chief Scientist of Sigil Logic, a Galois spinout, where he leads work on AI-driven formal methods for high-assurance systems. He spent the prior 12 years as Principal Scientist at Galois on hardware, firmware, and software correctness and security, and remains affiliated there. Before Galois he was a Full Professor at the Technical University of Denmark. He holds a Ph.D. from Caltech and is a Senior Member of both IEEE and ACM.

Kiran Gopinathan
Speaker and Judge
Kiran Gopinathan is a Research Scientist at Basis. Her research focuses on techniques for developing newer and better tools for automating formal verification - the art of using computers to automagically construct mathematical proofs about the correctness of software. Her research interests cover formal verification, program synthesis, type systems, language design and proof engineering. She previously completed her postdoc with Talia Ringer at UIUC, and before that earned her PhD in Programming Languages Research from the National University of Singapore on automating the maintenance of formally verified software.
Judges and mentors
- (opens in new tab)

Adam Chlipala
Judge
- (opens in new tab)

Sam Staton
Judge
- (opens in new tab)

Mark Santolucito
Judge
- (opens in new tab)

Santiago Cuellar
Judge
- (opens in new tab)

Max von Hippel
Judge
- (opens in new tab)

Peter McIntyre
Judge
- (opens in new tab)

Kaushik "KJ" Jangiti
Judge
- (opens in new tab)

Ashwin Pai
Judge
- (opens in new tab)

Twm Stone
Judge
- (opens in new tab)

Saurabh Yergattikar
Judge
- (opens in new tab)

Dippu Kumar Singh
Judge
- (opens in new tab)

Jess Bergs
Judge
Organizers
Local sites
Heron Hub Secure Program Synthesis Hackathon in Tel Aviv
Join a group of cybersecurity experts at the Heron Hub, Weizmann 14, Tel Aviv. due to limited space, please pre-register using the link
Event page: Heron Hub Secure Program Synthesis Hackathon in Tel Aviv (opens in new tab)The Secure Program Synthesis Hackathon (Montréal)
The Secure Program Synthesis Hackathon at Ω Labs, Montréal
Event page: The Secure Program Synthesis Hackathon (Montréal) (opens in new tab)
Where a Sprint can lead
How our programs connectAnyone can join
Stand out
6 to 16 weeks on your own project, with a research project manager, compute and publication support.
Upcoming Sprints
All SprintsAI Collusion Research Sprint
A weekend research sprint on collusion between AI agents: when it emerges in markets and everyday workflows, how to detect and audit it, how it is carried, and what breaks it. Co-organized with Poseidon Research and AE Studio, online with in-person hubs at Collider in New York City and AI Safety Hong Kong. Top teams are invited to apply to the Apart Fellowship.
Read the brief: AI Collusion Research SprintAI x Epistemics Research Sprint
A weekend research sprint on AI for epistemics: evaluating whether models know how solid their claims are, building trust infrastructure that people and agents can consume, and shipping epistemic products that improve real decisions. Online, four tracks including an open track. Top teams are invited to apply to the Apart Fellowship.
Read the brief: AI x Epistemics Research SprintQuestions? sprints@apartresearch.com






