跳到正文
Hacker News· wslh·· 7 天前AI 评分22

HashSmash:面向密码分析碰撞声明的 AI 辅助评审基准

HashSmash: Benchmark for AI-assisted review of cryptanalytic collision claims

AI 导读

HashSmash 是兼容 Yukon 的基准,用于 AI 辅助评审密码分析碰撞声明,manifest 保留 SHA-256 31/32、37/38、SHA3-256 5/6 和 BLAKE3 1/2 共八项探索性注册。

正文 · 原文

HashSmash

HashSmash is a Yukon-compatible benchmark for AI-assisted review of cryptanalytic collision claims. The Yukon manifest preserves eight exploratory registrations: SHA-256 rounds 31/32 and 37/38, SHA3-256 rounds 5/6, and BLAKE3 rounds 1/2. The intended competing roster is six tracks: SHA-256 37/38, SHA3-256 5/6, and BLAKE3 1/2. Operators must close SHA-256 31/32 while retaining their registrations and public history; the manifest cannot set lifecycle state. The new SHA-256 pair is organizer-selected exploration, with no first-unbroken boundary asserted.

The local registry contains 26 runnable lanes: 22 current research lanes and four historical SHA-256 31/32 lanes, plus four deferred Poseidon slots. The new pair has exploratory lanes only. Other defined targets retain independent exploratory and rigorous lanes. Rigorous, MD5, SHA-1 and Keccak[800] tracks remain outside the manifest. See the round migration handoff for qualification, closure, configuration refresh and the separate Yukon UI change.

Solvers start with TASK.md, the single entry point for assigned-track instructions and HashSmash's differences from the generic Yukon CLI workflow. The repository's HashSmash solver skill provides the practical workflow and optional subagent review without local provider setup. TASK.md links it for agents without automatic skill discovery. Builders and deployment operators start with the builder guide; AGENTS.md routes these roles.

The paired-lane guide covers the roster, target boundaries and deployment gates. The review contract defines the two acceptance policies, and the experiment protocol defines isolated executable evidence. The documentation index covers operator guides, research context and historical plans.

The exploratory outcome plausible_not_refuted means relevant support exists and no fatal flaw survives adjudication. Rigorous qualification is ai_rigor_qualified. Both are AI review outcomes, not mathematical proof or human acceptance. A score is log2(total charged computation), lower is better, under the selected target and common cost model. Nominal references are neither established attacks nor qualified baselines, and scalar improvement does not establish Pareto dominance.

Terms and privacy

Read the HashSmash Terms of Service and Privacy Policy, effective October 5, 2026. Section 5 of the Terms covers submission licensing, third-party code, and Covered Data.

Repository contract

A solver edits only its assigned lanes/<lane>/candidates/<target>/ directory. The package contains a strict JSON claim, a Markdown argument and declared certificate or experiment files. Target profiles, cost models, schemas, judge prompts, verifier code, workflows and outputs remain organizer-owned.

Drafts do not reach the judge or emit scores. A ready package must pass intake, any declared experiments, and the selected lane's review policy before scoring. Changed inputs require fresh evidence and review. Python experiments run only in the organizer's bounded, networkless Docker executor; participant commands never run on the host or in a credential-bearing job.

Scores are written to lanes/<lane>/.yukon/scores/<target>-<lane>.json, with reports under lanes/<lane>/.yukon/reports/tracks/<target>-<lane>/. These generated outputs are ignored by Git. Failed validation or qualification emits no score.

Builder setup and local workflow

Run commands from the repository root. Deterministic tests use Python's standard library and organizer fixtures, without contacting providers:

bash .yukon/setup.sh
python3 scripts/local_tracks.py list
python3 scripts/local_tracks.py catalog
python3 scripts/local_tracks.py check sha256-r37-exploratory

The pipeline requires an explicit organizer track ID, including the lane:

python3 scripts/hashsmash_pipeline.py intake --track sha256-r37-exploratory

After successful intake, a trusted operator can run judge and score with the same --track. Follow the candidate qualification guide for the complete sequence and readiness requirements. Use bash scripts/run-local-track.sh sha256-r37-exploratory for the local wrapper.

OpenRouter and Amazon Bedrock share the validated review interface. Provider, model and committee configuration are documented in judge/README.md. Local wrappers load OPENROUTER_API_KEY or AWS_BEARER_TOKEN_BEDROCK from .env without printing it; never commit or copy that file. The participant heuristic test exercises isolated execution, numerical evidence, paired review and diagnostic scoring using organizer fixtures outside the production registry.

Yukon

For the Layr-Labs/hash-smash production repository, follow the production operator runbook. The dev guide and helper below continue to target mooselumph/hash-smash.

The SHA-1 pilot and nine local tracks have been retired.

Follow YUKON_DEV_SETUP.md to import the repository root once as hashsmash. The schema-v2 benchmark.json declares all eight exploratory registrations with lane-suffixed names such as sha256-r37-exploratory and blake3-r1-exploratory. There is no rootDir override or separate lane import. Lane metadata remains in the protected registry, the validated claim binding, and each generated score's metrics.lane. Yukon track names include the lane suffix; its strict manifest schema has no arbitrary metadata field.

CANDIDATE_QUALIFICATION.md describes organizer baseline qualification. TASK.md covers solver-specific rules and delegates generic commands, notes and tracing to the Yukon CLI skill. Each track keeps its own lanes/<lane>/candidates/<target> editable directory and lanes/<lane>/.yukon/scores/<target>-<lane>.json score path. The literal per-track workflow wrappers separate deterministic intake, secret-bearing review, and final scoring. The score artifact contains that exact repository-relative path; qualification failures withhold a score.

For the existing six-track challenge, the reviewed reconciliation must retain all six records, add r37/r38 and archive none. Close r31/r32 through Yukon, preserving their IDs, jobs, reviews and public results. The shared protected configuration changes for every lane, so reconciliation alone is insufficient: follow the guarded refresh and UI handoff. New draft values cannot seed an import. A separately intended fresh import would require eight qualified baselines and explicit closure of r31/r32; it does not preserve an existing challenge's history. Poseidon remains deferred.

Before opening, test Yukon-driven validation, non-editable-path rejection, and promotion while preserving sibling tracks in both lanes. Humans review harness PRs; Yukon manages promotion of its own submission PRs. Public publication additionally needs cryptanalytic calibration and human review decisions. Human acceptance remains distinct from an AI review outcome.

See YUKON_CHALLENGE_PLAN.md and MVP_VALIDATION.md for the historical pilot design and validation record. They do not define the current import contract.

来源:Hacker News · github.com