使用LLM和Certora Prover生成并优化智能合约CVL规范的迭代式代理框架,将验证器输出反馈回去,直到成功或达到最大迭代次数。
可配置的 agent harness,用于迭代式智能合约规范生成/精炼,使用:
openai/frontier-evals -> project/evmbench)Certora/CertoraProver)该 harness 会针对一个挑战循环执行:
每次迭代的运行产物都会被持久化保存。
src/evmbench_certora_harness/ 核心实现configs/harness.example.yaml 示例配置scripts/fetch_evmbench.sh 用于拉取基准任务的辅助脚本examples/sample_challenge/ 最小本地脚手架00_..05_*.md 实验笔记(适合 Obsidian)certoraRun 或 certoraRun.py)OPENAI_API_KEYOPENROUTER_API_KEYhttp://localhost:11434Certora 上游:
EVMBench 上游:
python -m venv .venv
source .venv/bin/activate
pip install -e .
复制并编辑配置:
cp configs/harness.example.yaml configs/harness.yaml
单个挑战:
python -m evmbench_certora_harness.cli run \
--config configs/harness.yaml \
--challenge datasets/evmbench/audits/2023-07-pooltogether \
--max-iterations 4
从配置中的 glob 匹配的第一个挑战:
python -m evmbench_certora_harness.cli run --config configs/harness.yaml --limit 1
试运行(不执行 Certora):
python -m evmbench_certora_harness.cli run --config configs/harness.yaml --dry-run
certora.command_template 能感知具体挑战。runs/ 下,以便事后分析。