01
Smart Contract Threat DetectionPRE-SIGNING ANALYSIS
Challenge
A user who cannot read what the contract in the signing dialog actually does. And a wallet or dApp with no way to screen a deployed contract before it executes.
Objective
Build a tool that takes Solidity (
.sol) source and analyses it for malicious behaviour and risk patterns. A CLI or a web interface both work.
Required Deliverables
- Input — accepts
.solfiles. Batch analysis of multiple files is recommended - Verdict — a clear result such as Benign / Malicious / Uncertain
- Evidence — the code or function where the risk sits, together with the reasoning behind the verdict
- Machine-readable output — a structured format such as JSON, so evaluation can be automated
- Run instructions — a reproducible way to run it, in the README
Submission requirements
- Runs offline — grading happens in a network-blocked environment. Tools that depend on external API or LLM calls will not run, so bundle any models and rules your tool needs into the submission.
- Non-interactive entry point — a web UI is fine, but for batch grading also submit a non-interactive entry point that runs the same logic (a CLI, a script, or
docker run— any of them). - Directory batch input — processing a whole directory at once is required; single-file input is optional.
Evaluation Criteria
- Accuracy against the organisers' mock contracts — benign and malicious samples, plus a held-out test set
- Whether risk is identified from the logic flow and permission structure rather than keyword matching
- Whether the reasoning holds up — unusual ownership transfer, hidden withdrawal paths and the like
Resources
Public samples and the held-out judging set are shared through Discord once your application is confirmed.