What is new in v1.1.0
New Features
CTF Scoreboard
- The CTF page now shows real capture progress instead of a plain lab listing
- Score summary header with total points earned vs possible, overall progress bar, and per-difficulty tiles (Beginner / Intermediate / Advanced / Expert)
- Per-lab cards with capture progress bars and earned points
- Expandable per-challenge lists with check icons for captured flags and lock icons for remaining ones
- Difficulty filter chips and a "Hide Completed" toggle
- Backend: new
GET /labs/ctf/scoreboardendpoint returns per-challenge capture status and points totals, computed with two queries (no N+1)
Live Model Discovery
- New
useModelshook reads the active Ollama model list at runtime instead of relying on a hardcoded array - Models you pull after setup (for example
llama3.1:8b,deepseek-r1:7b, or any other Ollama-supported model) now appear automatically in the Benchmark Center and Research Workspace - Falls back to a default list of four models when Ollama is unreachable
Improvements
Unified HTTP Client
- All pages and hooks previously created their own
axios.create()instance, bypassing the shared error interceptor - Every HTTP call now goes through the single client exported from
lib/api.ts, which means consistent error handling and a single place to add headers or interceptors - Affected files:
benchmarks,research,soc,reports,attack-replay,overview,TopBar,useInstance
Type Safety
- Added
CtfScoreboard,CtfLab, andCtfChallengetypes totypes/index.ts - Added
ctfApi.scoreboard()tolib/api.ts
Bug Fixes
- Fixed a non-null assertion crash in the Benchmark Center and Research Workspace that would throw if the selected model ID was not present in the hardcoded list
Upgrading from v1.0.0
No database migrations required. Pull the latest changes and restart:
git pull
docker compose up -d --buildWhat is next
- Attack Campaign Engine frontend (the backend and API already exist)
- MITRE ATLAS mapping display in Threat Models page
- Collapsible hints in lab challenge view
- Deeper lab scenarios for RAG Poisoning, MCP Security, and Multi-Agent labs