| 1 | <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1280 720" width="1280" height="720"> |
| 2 | <defs> |
| 3 | <filter id="cardShadow8" x="-15%" y="-15%" width="140%" height="140%"> |
| 4 | <feGaussianBlur in="SourceAlpha" stdDeviation="10"/> |
| 5 | <feOffset dx="0" dy="5" result="offsetBlur"/> |
| 6 | <feFlood flood-color="#000000" flood-opacity="0.18" result="shadowColor"/> |
| 7 | <feComposite in="shadowColor" in2="offsetBlur" operator="in" result="shadow"/> |
| 8 | <feMerge> |
| 9 | <feMergeNode in="shadow"/> |
| 10 | <feMergeNode in="SourceGraphic"/> |
| 11 | </feMerge> |
| 12 | </filter> |
| 13 | <linearGradient id="titleBar8" x1="0%" y1="0%" x2="100%" y2="0%"> |
| 14 | <stop offset="0%" stop-color="#D4A574"/> |
| 15 | <stop offset="100%" stop-color="#60A5FA"/> |
| 16 | </linearGradient> |
| 17 | <filter id="metricGlow" x="-30%" y="-30%" width="160%" height="160%"> |
| 18 | <feGaussianBlur in="SourceAlpha" stdDeviation="5" result="blur"/> |
| 19 | <feFlood flood-color="#34D399" flood-opacity="0.35" result="glowColor"/> |
| 20 | <feComposite in="glowColor" in2="blur" operator="in" result="glow"/> |
| 21 | <feMerge> |
| 22 | <feMergeNode in="glow"/> |
| 23 | <feMergeNode in="SourceGraphic"/> |
| 24 | </feMerge> |
| 25 | </filter> |
| 26 | </defs> |
| 27 | |
| 28 | <!-- Background --> |
| 29 | <rect width="1280" height="720" fill="#0D1117"/> |
| 30 | |
| 31 | <!-- Header --> |
| 32 | <g id="header"> |
| 33 | <rect x="60" y="40" width="4" height="30" fill="#D4A574"/> |
| 34 | <text x="76" y="63" font-family="Arial, Helvetica, sans-serif" font-size="14" fill="#8B949E" letter-spacing="3">RESULTS</text> |
| 35 | <text x="60" y="105" font-family="Arial, Helvetica, sans-serif" font-size="40" font-weight="bold" fill="#E6EDF3">The Honest Numbers</text> |
| 36 | <rect x="60" y="115" width="180" height="3" fill="url(#titleBar8)"/> |
| 37 | </g> |
| 38 | |
| 39 | <!-- Three dataset cards (top) --> |
| 40 | <g id="dataset-1"> |
| 41 | <rect x="60" y="140" width="370" height="90" rx="10" fill="#1C2333" stroke="#30363D" stroke-width="1"/> |
| 42 | <use data-icon="chunk/chart-bar" x="80" y="160" width="28" height="28" fill="#60A5FA"/> |
| 43 | <text x="118" y="180" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="bold" fill="#E6EDF3">Real Traffic</text> |
| 44 | <text x="118" y="202" font-family="Calibri, Arial, sans-serif" font-size="14" fill="#8B949E">n = 10,000 actual tool calls</text> |
| 45 | <text x="370" y="180" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="24" font-weight="bold" fill="#60A5FA">10K</text> |
| 46 | </g> |
| 47 | |
| 48 | <g id="dataset-2"> |
| 49 | <rect x="455" y="140" width="370" height="90" rx="10" fill="#1C2333" stroke="#30363D" stroke-width="1"/> |
| 50 | <use data-icon="chunk/gauge-high" x="475" y="160" width="28" height="28" fill="#F97316"/> |
| 51 | <text x="513" y="180" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="bold" fill="#E6EDF3">Real Overeager</text> |
| 52 | <text x="513" y="202" font-family="Calibri, Arial, sans-serif" font-size="14" fill="#8B949E">n = 52 curated dangerous actions</text> |
| 53 | <text x="765" y="180" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="24" font-weight="bold" fill="#F97316">52</text> |
| 54 | </g> |
| 55 | |
| 56 | <g id="dataset-3"> |
| 57 | <rect x="850" y="140" width="370" height="90" rx="10" fill="#1C2333" stroke="#30363D" stroke-width="1"/> |
| 58 | <use data-icon="chunk/shield-check" x="870" y="160" width="28" height="28" fill="#D4A574"/> |
| 59 | <text x="908" y="180" font-family="Arial, Helvetica, sans-serif" font-size="16" font-weight="bold" fill="#E6EDF3">Synthetic Exfil</text> |
| 60 | <text x="908" y="202" font-family="Calibri, Arial, sans-serif" font-size="14" fill="#8B949E">n = 1,000 obfuscated attempts</text> |
| 61 | <text x="1160" y="180" text-anchor="end" font-family="Arial, Helvetica, sans-serif" font-size="24" font-weight="bold" fill="#D4A574">1K</text> |
| 62 | </g> |
| 63 | |
| 64 | <!-- Results table --> |
| 65 | <g id="results-table"> |
| 66 | <!-- Table header --> |
| 67 | <rect x="60" y="260" width="1160" height="45" rx="8" fill="#161B22"/> |
| 68 | <text x="260" y="289" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#8B949E">Stage</text> |
| 69 | <text x="570" y="289" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#60A5FA">Real Traffic FPR</text> |
| 70 | <text x="810" y="289" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#F97316">Overeager FNR</text> |
| 71 | <text x="1050" y="289" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="14" font-weight="bold" fill="#D4A574">Exfil FNR</text> |
| 72 | |
| 73 | <!-- Row 1: Stage 1 --> |
| 74 | <rect x="60" y="310" width="1160" height="55" fill="#1C2333" stroke="#30363D" stroke-width="1"/> |
| 75 | <text x="260" y="344" text-anchor="middle" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">Stage 1 (fast filter)</text> |
| 76 | <text x="570" y="344" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="22" font-weight="bold" fill="#60A5FA">8.5%</text> |
| 77 | <text x="810" y="344" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="22" font-weight="bold" fill="#34D399">6.6%</text> |
| 78 | <text x="1050" y="344" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="22" font-weight="bold" fill="#34D399">1.8%</text> |
| 79 | |
| 80 | <!-- Row 2: Full pipeline --> |
| 81 | <rect x="60" y="370" width="1160" height="55" fill="#161B22" stroke="#D4A574" stroke-width="1"/> |
| 82 | <text x="260" y="404" text-anchor="middle" font-family="Calibri, Arial, sans-serif" font-size="16" font-weight="bold" fill="#D4A574">Full Pipeline</text> |
| 83 | <text x="570" y="404" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="26" font-weight="bold" fill="#34D399" filter="url(#metricGlow)">0.4%</text> |
| 84 | <text x="810" y="404" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="26" font-weight="bold" fill="#F97316">17%</text> |
| 85 | <text x="1050" y="404" text-anchor="middle" font-family="Arial, Helvetica, sans-serif" font-size="26" font-weight="bold" fill="#D4A574">5.7%</text> |
| 86 | </g> |
| 87 | |
| 88 | <!-- Key takeaway --> |
| 89 | <g id="takeaway"> |
| 90 | <rect x="60" y="460" width="1160" height="120" rx="12" fill="#1C2333" stroke="#30363D" stroke-width="1"/> |
| 91 | <rect x="60" y="460" width="1160" height="4" rx="2" fill="#F97316"/> |
| 92 | |
| 93 | <text x="90" y="498" font-family="Arial, Helvetica, sans-serif" font-size="20" font-weight="bold" fill="#F97316">17% FNR — The Honest Number</text> |
| 94 | |
| 95 | <text x="90" y="530" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">The classifier correctly identifies the danger but misreads whether the user's consent</text> |
| 96 | <text x="90" y="552" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#E6EDF3">signal actually covers this action. "Clean up the PR" doesn't authorize force-pushing.</text> |
| 97 | </g> |
| 98 | |
| 99 | <!-- Context line --> |
| 100 | <g id="context"> |
| 101 | <text x="90" y="615" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#8B949E">If you run </text> |
| 102 | <text x="168" y="615" font-family="Consolas, Monaco, monospace" font-size="14" fill="#F97316">--dangerously-skip-permissions</text> |
| 103 | <text x="480" y="615" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#8B949E">, this is a substantial improvement.</text> |
| 104 | <text x="90" y="642" font-family="Calibri, Arial, sans-serif" font-size="16" fill="#8B949E">Auto mode is not a drop-in replacement for careful human review on high-stakes infrastructure.</text> |
| 105 | </g> |
| 106 | |
| 107 | <!-- Footer --> |
| 108 | <g id="footer"> |
| 109 | <text x="1220" y="700" text-anchor="end" font-family="Calibri, Arial, sans-serif" font-size="11" fill="#6E7681">08 / 10</text> |
| 110 | </g> |
| 111 | </svg> |
| 112 |