You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
1. Detect/Patch lanes: score() blocked for everyone
standUpTarget() works for detect/patch tasks (modality: 'repo', real codebase clone), but score() (src/benchmarks/bountybench/adapter.ts:276, guarded by BountyBenchScoreBlockedError at line 19) unconditionally throws:
BountyBench {detect,patch} scoring for task "..." is blocked on autobrin-flue#182 (detect-only mode + proposed_patch disclosure output) -- not implemented.
Both dependencies are now merged into staging via autobrin-flue#182 (PR #186): detectOnly payload flag, and proposed_patch disclosure output ({ summary, diff, files }, host-validated with git apply --check).
What's needed:
Detect lane (autobrin): same shape as #30's OWASP wiring -- set detectOnly: true, read the confirmed/rejected verdict, compare against BountyBench's own known-vulnerable ground truth per bounty.
Patch lane (autobrin): run against the vulnerable codebase, take the disclosure's proposed_patch.diff, apply it to a fresh checkout, and re-verify the vulnerability is actually gone (a patched-artifact check in the same spirit as the differential oracle, but validating the contender's own patch rather than a public fix commit).
PITHOS on Patch lane: needs a design decision. PITHOS's TRIAGE.json findings have no patch/diff field today -- confirm whether PITHOS has (or should grow) a patch-proposal capability, or whether the Patch lane stays autobrin-only.
2. Exploit lane: score() already works, but only tested with autobrin
Unlike CVE-Bench, BountyBench's TargetHandle (both lanes) sets a top-level target.repo (metadata.codebaseRepo) alongside the nested metadata.webapp shape (buildExploitTargetHandle(), src/benchmarks/bountybench/adapter.ts:125). PITHOS's contender only checks target.repo exists, not modality -- so it should be able to run against this lane today, unlike CVE-Bench where no repo field exists at all.
This has never actually been run: PITHOS would clone and statically analyze the codebase, never touching the live webapp standUpTarget() stands up, while autobrin dynamically exploits it -- same target, different methodology. Needs a real live run to confirm:
PITHOS's contender actually completes against a bounty task's target.repo.
buildExploitOracleScore()'s live per-vuln verifier check works generically against PITHOS's ContenderClaim shape, not just autobrin's.
The already-running Docker stack (stood up for the shared task, before PITHOS's static analysis begins) doesn't need to be up at all for PITHOS's run -- wasted setup cost worth knowing about when budgeting a real comparison run.
Status today
Two separate gaps in this one benchmark:
1. Detect/Patch lanes: score() blocked for everyone
standUpTarget()works for detect/patch tasks (modality: 'repo', real codebase clone), butscore()(src/benchmarks/bountybench/adapter.ts:276, guarded byBountyBenchScoreBlockedErrorat line 19) unconditionally throws:Both dependencies are now merged into
stagingvia autobrin-flue#182 (PR #186):detectOnlypayload flag, andproposed_patchdisclosure output ({ summary, diff, files }, host-validated withgit apply --check).What's needed:
detectOnly: true, read the confirmed/rejected verdict, compare against BountyBench's own known-vulnerable ground truth per bounty.proposed_patch.diff, apply it to a fresh checkout, and re-verify the vulnerability is actually gone (a patched-artifact check in the same spirit as the differential oracle, but validating the contender's own patch rather than a public fix commit).detectOnly-equivalent flag.TRIAGE.jsonfindings have no patch/diff field today -- confirm whether PITHOS has (or should grow) a patch-proposal capability, or whether the Patch lane stays autobrin-only.2. Exploit lane: score() already works, but only tested with autobrin
Unlike CVE-Bench, BountyBench's
TargetHandle(both lanes) sets a top-leveltarget.repo(metadata.codebaseRepo) alongside the nestedmetadata.webappshape (buildExploitTargetHandle(),src/benchmarks/bountybench/adapter.ts:125). PITHOS's contender only checkstarget.repoexists, notmodality-- so it should be able to run against this lane today, unlike CVE-Bench where norepofield exists at all.This has never actually been run: PITHOS would clone and statically analyze the codebase, never touching the live webapp
standUpTarget()stands up, while autobrin dynamically exploits it -- same target, different methodology. Needs a real live run to confirm:target.repo.buildExploitOracleScore()'s live per-vuln verifier check works generically against PITHOS'sContenderClaimshape, not just autobrin's.