June 18, 2026
Tool media evidence in session transcript
← All updates
Tool media evidence in session transcript
6 new 7 improved 12 fixed
Agents can now persist and retrieve durable project-scoped memory across runs with the new ProjectMemory tools.
New
- Tool media evidence in session transcript. Screenshots and other media logged via
dn.log_output()inside tools now render inline in the session transcript next to the tool call that produced them. - Unified LiteLLM admin proxy and model browser. Admins can manage LiteLLM model deployments and credentials directly from the platform; platform models are now always org-allowlist-scoped, and Ctrl+K in the TUI opens the full model browser.
- Release Notes page on docs site. A new page at docs.dreadnode.io/release-notes shows the full changelog with tier chips, month navigation, per-entry permalinks, and an RSS feed.
- App-layer DoS skill for web-security. New
app-layer-dosskill covers ReDoS, decompression bombs, server delay exploitation, and cross-protocol amplification for application-layer DoS testing. - Archive path-traversal skill. New
archive-path-traversalskill covers Zip Slip, symlink attacks, polyglot MIME bypass, and Unicode path confusion via the archivealchemist tooling. - EXIF metadata manipulation tools. New
exiftoolcapability addsexif_read,exif_write,exif_strip, andexif_copymethods for EXIF metadata manipulation in web-security agents.
Improvements
- AIRT findings: newest-first, auto-refresh, and richer detail. All Findings now defaults to newest-first order, auto-surfaces new findings every 20 seconds with a notification pill, and the finding detail panel shows a structured Human Review table, a Metadata tile with Finding/Assessment IDs, a copy button on reasoning, and UUID-prefix search.
- Web-security continuous scan status. The web-security agent now emits a STATUS update (including an
Unexploredfield) after every action, reducing silent drift and improving visibility into scan coverage. - Confidence trace IDs in web-security reports. Web-security vulnerability reports now include a trace ID linking each finding back to the confidence assessment that approved it.
- CVSS score in confidence assessments. The web-security credence tool now accepts an optional CVSS score, echoes it as
[cvss:N.N]in output, and flags mismatches such as low confidence paired with a high CVSS score. - Evaluations page shows capability and user detail. The evaluations list now surfaces who or what ran each sample alongside the capability reference, making it easier to identify the origin of a run.
- Web-security interrupted tool result recovery. The web-security capability now automatically retries when the model emits an interrupted tool call result, replaying the last tool outcome up to a bounded retry budget.
- Inject env vars into smoke tests via
-e/--env. The new-e/--envflag ondn task validate --smokelets you inject environment variables into the challenge service at smoke-test time without editingdocker-compose.yaml.
Fixes
- Evaluation reliability: deadlocks, sandbox provisioning, and circuit-breaker gaps. Evaluations no longer get stuck in queue for hours due to deadlocks, sandbox provisioning failures, or missing circuit-breaker coverage; transient infrastructure errors now retry automatically.
- AIRT findings list restored: legacy compat and fast load. The findings list now correctly displays findings saved with legacy review-event field names and loads without the previous 6–10 second delay caused by a sequential scan.
- Multi-attack campaigns no longer crash mid-run. All 12 attack types now accept
airt_*span-linkage kwargs, fixingTypeErrorcrashes that caused campaigns to partially complete and produce duplicate assessments. - Judge verification timeout extended. Trajectory-based task verifiers (
outcome_judge,script_and_judge,flag_and_judge) no longer time out prematurely — the judge phase now has a 180-second minimum, preventing empty judgement results. - ASR formula consistent between detail and overview pages. Successful attack counts and ASR on the assessment detail page now use the same severity-based formula as the overview page.
- Duplicate rows removed from ASR by Category chart. The chart no longer shows both
jailbreakandjailbreak_generalfor runs using a single underscore-named category. - Video inputs work in eval model tasks. The SDK now serializes video content parts correctly for Gemini/Google/Vertex and OpenAI-compatible paths.
- Failed assessments stay failed. Assessments that fail during finalization now correctly report
status=failedindn airt list --jsoninstead of being overwritten tocompleted. - Workflow regeneration preserves hand-patched files. Re-running workflow generation no longer silently overwrites hand-edited files — existing files are kept and new versions are written as
name_v2.py,name_v3.py, etc. - Anti-fabrication guard on report-writer trace IDs. The report-writer skill now marks missing confidence trace IDs as
MISSINGinstead of allowing the agent to hallucinate a plausible-looking ID. - TUI
/modelcommand no longer overwrites profile default. Using/modelor/modelsin a TUI session no longer persists the selection to your profile, so different sessions can use different models without interfering. - Activity feed status colors unified. Status badge colors on the home page activity feed now match the rest of the platform — e.g. AIRT “running” shows blue and World “cancelled” shows gray.