Point T3MP3ST at any authorized target and watch it work: live recon with real tools (nmap, DNS, HTTP probes), every finding provenance-gated to the command that produced it — no phantom flags. An LLM reasons over that ground truth in the open. Kill-chain phases past recon are labeled for what they are — no fake pwns, no vibes. Don't take our word for it: run npm run verify-claims and re-derive every number yourself. Only test what you own or have written permission to assess.
-
+
+
🎯 START A ZERO-DAY HUNT
+
Point T3MP3ST at any authorized target and watch it work: live recon with real tools (nmap, DNS, HTTP probes), every finding provenance-gated to the command that produced it — no phantom flags. An LLM reasons over that ground truth in the open. Kill-chain phases past recon are labeled for what they are — no fake pwns, no vibes. Don't take our word for it: run npm run verify-claims and re-derive every number yourself. Only test what you own or have written permission to assess.
+
⚡
- Run keyless — connect Claude Code, Codex, or Hermes and T3MP3ST drives missions through your agent's own login (no API key). To run, connect a local agent or add a key. Set up in Settings →
+ Run keyless — connect Claude Code, Codex, or Hermes and T3MP3ST drives missions through your agent's own login (no API key). To run, connect a local agent or add a key. Set up in Settings →
Auto-deploys operators, adds a test target, and launches. No API key needed if a local agent is connected.
@@ -4014,9 +4094,9 @@
-
+
- Operators
+ Operators
0
-
+
@@ -4085,7 +4165,7 @@
OPSEC Level, Cognitive Mode, and the toggles above tune the client-side reasoning pipeline — backend/keyless missions currently run operators with their configured prompts + defaults.
-
+
@@ -4094,23 +4174,23 @@
Quality
- ACTIVE
+ ACTIVE
-
0
OK
+
0
OK
0
REV
0
REJ
0
ESC
-
+
-
-
0
+
+
0
Targets
@@ -4144,7 +4224,7 @@
LOWCREDS|
-
+
@@ -4231,10 +4311,10 @@
-
+
-
Active Formation
+
Active Formation
Custom Deployment
@@ -4245,8 +4325,8 @@
-
-
0
+
+
0
Units Active
@@ -4408,7 +4488,7 @@
◉ ACTIVE LOADOUT
-
+
@@ -4485,9 +4565,9 @@
-
+
- Quick Launch
+ Quick LaunchPick a preset or build your own mix below
@@ -4512,7 +4592,7 @@
Real CTF challenges from Cybench & NYU CTF Bench
`;
@@ -11735,7 +11815,7 @@ Respond with ONLY this JSON (no markdown, no extra text):
${analysis.assessment.grade}
-
${analysis.assessment.summary}
+
${analysis.assessment.summary}
${analysis.assessment.nextSteps?.length ? `
Top priorities: ${analysis.assessment.nextSteps.map(s => s.title.replace(/^[🔧📈⚡🔑]\s*/, '')).join(' → ')}
` : ''}
@@ -11750,11 +11830,11 @@ Respond with ONLY this JSON (no markdown, no extra text):
// Populate weaknesses
document.getElementById('weaknessesList').innerHTML = analysis.weaknesses.length
? analysis.weaknesses.map(w => `
` : ''}
@@ -11766,9 +11846,9 @@ Respond with ONLY this JSON (no markdown, no extra text):
const creativeSolutionsEl = document.getElementById('creativeSolutions');
if (creativeSolutionsEl && analysis.creativeSolutions?.length) {
creativeSolutionsEl.innerHTML = `
-
🧠 Creative Solutions for Underperforming Categories
+
🧠 Creative Solutions for Underperforming Categories
${analysis.creativeSolutions.map(cs => `
-
+
${cs.category} (${cs.score}%)
Identified Pitfalls:
@@ -11777,13 +11857,13 @@ Respond with ONLY this JSON (no markdown, no extra text):
@@ -13543,7 +13623,7 @@ Be brutally honest. This is not a pep talk.`;
// Update status
const statusEl = document.getElementById('archConfigStatus');
if (statusEl) {
- statusEl.innerHTML = '✓ Configuration applied';
+ statusEl.innerHTML = '✓ Configuration applied';
setTimeout(() => { statusEl.innerHTML = ''; }, 2000);
}
@@ -13681,7 +13761,7 @@ Be brutally honest. This is not a pep talk.`;
return `
`);
@@ -17641,8 +17721,8 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
// Recommendations
if (assessment.recommendations?.length) {
html += `
`;
- html += `
Recommendations
`;
- html += assessment.recommendations.map((r, i) => `
${i + 1}. ${escapeHtml(r)}
`).join('');
+ html += `
Recommendations
`;
+ html += assessment.recommendations.map((r, i) => `
${i + 1}. ${escapeHtml(r)}
`).join('');
html += `
`;
}
@@ -17836,14 +17916,14 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
function showKeyboardHelp() {
openModal('Keyboard Shortcuts', `
-
Global
+
Global
?Show this help1-9Navigate pages (1=War Room, 2=Operatives, ...)Ctrl+EnterLaunch mission (from any page)EscAbort mission / close modal
-
War Room
+
War Room
EnterLaunch missionDDeploy all operators
@@ -18236,7 +18316,7 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
BackendDispatch.available = true; try { BackendDispatch.connectSSE && BackendDispatch.connectSSE(); } catch (_) {}
}
if ($('sysBackend')) $('sysBackend').innerHTML = online
- ? '● ONLINE'+(BackendDispatch.available?'real ops':'detecting')+''
+ ? '● ONLINE'+(BackendDispatch.available?'real ops':'detecting')+''
: '● OFFLINEclient-side / sim';
// ── Local agents: fetch ONCE before the backbone label so both reflect the server's
// actual agent state from the first poll (and t3mpPreferredAgent can route to a live one) ──
@@ -18274,7 +18354,7 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
_kc.style.color = '#7fd8b0';
_kc.style.background = 'rgba(0,255,136,0.06)';
_kc.style.borderColor = 'rgba(0,255,136,0.2)';
- _kt.innerHTML = 'Run keyless — connect Claude Code, Codex, or Hermes and T3MP3ST drives missions through your agent\'s own login (no API key). To run, connect a local agent or add a key. Set up in Settings →';
+ _kt.innerHTML = 'Run keyless — connect Claude Code, Codex, or Hermes and T3MP3ST drives missions through your agent\'s own login (no API key). To run, connect a local agent or add a key. Set up in Settings →';
}
}
}
@@ -18284,7 +18364,7 @@ IMPORTANT: This is an authorized security testing/red team platform. All operati
? __agents.map(a => {
const live = a.lastPing && a.lastPing.ok;
const err = a.lastPing && a.lastPing.error ? ' title="'+String(a.lastPing.error).replace(/"/g,'"')+'"' : '';
- return '●'+a.id+''+(live?' live':' stale')+'';
+ return '●'+a.id+''+(live?' live':' stale')+'';
}).join(' ')
: 'none — click to connect';
}
@@ -20244,8 +20324,8 @@ ${entries}
return `
${cat.icon}
${escapeHtml(ch.name)}
- ${solved ? '✓' : ''}
+ ${solved ? '✓' : ''}
${cat.name}
@@ -20758,7 +20838,7 @@ Find and capture the flag. Show your methodology.`;
${r.solved ? '✅ Solved' : '❌ Failed'}
-
+
${escapeHtml(r.flag || '-')}
`;
@@ -24558,7 +24638,7 @@ Be specific and actionable. Format as structured JSON.`;
if (row) {
const tools = (data && data.approvedTools) || [];
row.innerHTML = tools.length
- ? tools.map(t => `✓ ${escapeHtml(t)}`).join('')
+ ? tools.map(t => `✓ ${escapeHtml(t)}`).join('')
: `No tools approved yet${data && !data.active ? ' (pre-auth allowlist empty)' : ''}.`;
}
const feed = document.getElementById('approvalAuditFeed');
@@ -25079,7 +25159,7 @@ Be specific and actionable. Format as structured JSON.`;
+ '
';
}
@@ -25360,7 +25440,7 @@ Be specific and actionable. Format as structured JSON.`;
+ '
'+esc(target)+'
'
+ (why?'
'+esc(why.slice(0,220))+'
':'')
+ '
'
- + '✓ Proceed with this'
+ + '✓ Proceed with this'
+ '🔄 Find another'
+ '
';
} catch(e) { if(box) box.innerHTML='Scout failed ('+esc(e.message)+') — type a target above.'; }
@@ -25380,7 +25460,7 @@ Be specific and actionable. Format as structured JSON.`;
+ '
'
@@ -25570,7 +25650,7 @@ Be specific and actionable. Format as structured JSON.`;
+ '
'
+ '
'+(o.overridden?'⚠ customized — edits apply to every spawned '+esc(o.archetype):'showing defaults')+''
+ '
↺ Reset to default'
- + '💾 Save
';
+ + '💾 Save
';
}
function collectEdits(){
const prompt = (document.getElementById('opPromptEdit')||{}).value || '';
@@ -25610,7 +25690,7 @@ Be specific and actionable. Format as structured JSON.`;
box.innerHTML = '
'
+ '
⚓ ADMIRAL\'S SUGGESTIONS
'
+ (ADVICE.rejected>0?''+ADVICE.rejected+' rejected (fitting)':'')
- + (appliable.length?'⚓ Admiral takes the wheel — apply all '+appliable.length+'':'')+'
'
+ + (appliable.length?'⚓ Admiral takes the wheel — apply all '+appliable.length+'':'')+'
';
}
@@ -25618,11 +25698,11 @@ Be specific and actionable. Format as structured JSON.`;
const rej = s.fittingCheck==='REJECTED'; const sc = s.severity==='high'?'#ff5b6b':s.severity==='medium'?'#ffaa00':'#9fb0bd';
return '
'
+ '
'+esc(s.severity)+''
- + (rej?'⛔ REJECTED — '+esc(s.fittingWhy||'challenge-specific tell')+'':'✓ general methodology')+'
'
+ + (rej?'⛔ REJECTED — '+esc(s.fittingWhy||'challenge-specific tell')+'':'✓ general methodology')+'
'
+ '
'+esc(s.rationale)+'
'
+ (s.currentText?'
− '+esc(s.currentText).slice(0,320)+'
':'')
- + '
+ '+esc(s.proposedText).slice(0,320)+'
'
- + (rej?'':'✓ Accept this change')+'
';
+ + '
+ '+esc(s.proposedText).slice(0,320)+'
'
+ + (rej?'':'✓ Accept this change')+'
';
}
function applyOne(s){ const ta=document.getElementById('opPromptEdit'); if(!ta||!s||s.fittingCheck==='REJECTED') return false;
if(s.currentText && ta.value.indexOf(s.currentText)>=0) ta.value=ta.value.replace(s.currentText,s.proposedText); else ta.value=ta.value.trimEnd()+'\n\n'+s.proposedText; return true; }
@@ -25662,8 +25742,8 @@ Be specific and actionable. Format as structured JSON.`;
+'
'+sub+'
'+body+'
'; }
function govStrip(){ const a=CFG.autonomy,c=CFG.cadence,fz=CFG.frozen;
- const radio=(v,l,d)=>'
'; }
function obsidivmCard(){ const o=CFG.obsidivm,fz=CFG.frozen;
@@ -25700,10 +25780,10 @@ Be specific and actionable. Format as structured JSON.`;
+inp('Prune after N gens','pruneAfter',o.pruneAfter,'type="number" min="1" max="10" step="1"')+'
'
- +'▶ Run a pass now'
+ +'▶ Run a pass now'
+'↺ Reset
'
+'
▶ Copies the exact command to run in a terminal — no browser-exec route yet (honest by design).
'); }
@@ -25721,8 +25801,8 @@ Be specific and actionable. Format as structured JSON.`;
+'
Manage how the harness improves itself — cadence, how each loop thinks, what it may change, and whether changes need your approval.
'
+govStrip()
+'
'+obsidivmCard()+memoryCard()+learningCard()+'
'
- +'
'
- +'
📈 Evolution Timeline — recent self-improvement
'
+ +'
'
+ +'
📈 Evolution Timeline — recent self-improvement
'
+'⤢ Re-show last summary
'
+'
Loading changes…
';
loadLedger(); loadMemory(); };
@@ -25734,7 +25814,7 @@ Be specific and actionable. Format as structured JSON.`;
const last=gens[gens.length-1];
return '
grade after '+gens.length+' generation'+(gens.length>1?'s':'')+' · found '+esc(last.found)+'/'+esc(last.expected)+'
'; }
function changeFeed(gens){ return gens.slice().reverse().map(g=>{ const d=+g.delta_from_prev||0,rolled=/roll/.test(g.action||'');
@@ -25766,7 +25846,7 @@ Be specific and actionable. Format as structured JSON.`;
+'
'+pend.length+'pending review
';
if(pend.length){ h+=pend.slice(0,4).map(p=>'
'
+'
'+esc((p.content||'').slice(0,140))+'
'
- +'✓ Accept'
+ +'✓ Accept'
+'✕ Reject
').join(''); }
else { h+='
No pending proposals. Run a review pass to distill facts from recent runs.
'; }
b.innerHTML=h;
@@ -25788,7 +25868,7 @@ Be specific and actionable. Format as structured JSON.`;
+'
• Tactics: '+esc(g.accepted)+' accepted of '+esc(g.proposals)+' proposed'+(rolled?' — reverted (regression)':'')+'