Files
progcode/web/public/assets/editorial/2023/security-audit-2023-remediation-route.svg
T
huncode 201dc7bd54
Build and deploy / deploy (push) Successful in 15s
revise December 2023 security audit articles
2026-07-31 15:24:14 +03:00

57 lines
5.5 KiB
XML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<svg xmlns="http://www.w3.org/2000/svg" width="1200" height="760" viewBox="0 0 1200 760" role="img" aria-labelledby="title desc">
<title id="title">Безопасный маршрут triage для учебного аудита</title>
<desc id="desc">Три synthetic карточки идут по порядку к проверочным gate: authz boundary к подтверждению evidence и owner, identity contract к подтверждению scope, upload delivery к плану валидации и rollback. Ни один путь не ведёт к автоматическому исправлению.</desc>
<rect width="1200" height="760" fill="#0e1726"/>
<text x="54" y="66" fill="#f8fafc" font-family="Arial, sans-serif" font-size="34" font-weight="700">Triage: сначала gate, потом изменение</text>
<text x="54" y="99" fill="#bae6fd" font-family="Arial, sans-serif" font-size="20">Порядок объясняется evidence, boundary, owner и обратимостью. Это не риск-оценка и не remediation.</text>
<defs>
<marker id="routeArrow" markerWidth="10" markerHeight="10" refX="8" refY="5" orient="auto"><path d="M0,0 L10,5 L0,10 z" fill="#67e8f9"/></marker>
</defs>
<g font-family="Arial, sans-serif">
<rect x="58" y="156" width="302" height="154" rx="16" fill="#3d2031" stroke="#fb7185" stroke-width="2"/>
<text x="82" y="197" fill="#fff1f2" font-size="24" font-weight="700">1. authz boundary</text>
<text x="82" y="231" fill="#fecdd3" font-size="18">evidence gap</text>
<text x="82" y="260" fill="#fecdd3" font-size="18">public entry</text>
<text x="82" y="289" fill="#fecdd3" font-size="18">reversible draft</text>
<rect x="450" y="156" width="302" height="154" rx="16" fill="#193d4a" stroke="#5eead4" stroke-width="2"/>
<text x="474" y="197" fill="#ecfeff" font-size="24" font-weight="700">Gate 1</text>
<text x="474" y="232" fill="#ccfbf1" font-size="18">confirm evidence</text>
<text x="474" y="261" fill="#ccfbf1" font-size="18">and owner</text>
<text x="474" y="290" fill="#fcd34d" font-size="18">before change</text>
<path d="M360 233 L450 233" fill="none" stroke="#67e8f9" stroke-width="5" marker-end="url(#routeArrow)"/>
<rect x="58" y="354" width="302" height="154" rx="16" fill="#30244f" stroke="#c4b5fd" stroke-width="2"/>
<text x="82" y="395" fill="#f5f3ff" font-size="24" font-weight="700">2. identity contract</text>
<text x="82" y="429" fill="#ddd6fe" font-size="18">owner confirmation</text>
<text x="82" y="458" fill="#ddd6fe" font-size="18">third-party boundary</text>
<text x="82" y="487" fill="#ddd6fe" font-size="18">scope unknown</text>
<rect x="450" y="354" width="302" height="154" rx="16" fill="#193d4a" stroke="#5eead4" stroke-width="2"/>
<text x="474" y="395" fill="#ecfeff" font-size="24" font-weight="700">Gate 2</text>
<text x="474" y="430" fill="#ccfbf1" font-size="18">confirm scope</text>
<text x="474" y="459" fill="#ccfbf1" font-size="18">with owner</text>
<text x="474" y="488" fill="#fcd34d" font-size="18">before change</text>
<path d="M360 431 L450 431" fill="none" stroke="#67e8f9" stroke-width="5" marker-end="url(#routeArrow)"/>
<rect x="58" y="552" width="302" height="154" rx="16" fill="#4a351d" stroke="#fbbf24" stroke-width="2"/>
<text x="82" y="593" fill="#fffbeb" font-size="24" font-weight="700">3. upload delivery</text>
<text x="82" y="627" fill="#fde68a" font-size="18">test plan absent</text>
<text x="82" y="656" fill="#fde68a" font-size="18">user-content boundary</text>
<text x="82" y="685" fill="#fde68a" font-size="18">rollback required</text>
<rect x="450" y="552" width="302" height="154" rx="16" fill="#193d4a" stroke="#5eead4" stroke-width="2"/>
<text x="474" y="593" fill="#ecfeff" font-size="24" font-weight="700">Gate 3</text>
<text x="474" y="628" fill="#ccfbf1" font-size="18">write validation</text>
<text x="474" y="657" fill="#ccfbf1" font-size="18">and rollback plan</text>
<text x="474" y="686" fill="#fcd34d" font-size="18">before change</text>
<path d="M360 629 L450 629" fill="none" stroke="#67e8f9" stroke-width="5" marker-end="url(#routeArrow)"/>
</g>
<rect x="810" y="156" width="332" height="550" rx="18" fill="#1b2738" stroke="#94a3b8" stroke-width="2"/>
<text x="842" y="203" fill="#f8fafc" font-family="Arial, sans-serif" font-size="25" font-weight="700">Не происходит</text>
<text x="842" y="250" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">× automatic change</text>
<text x="842" y="291" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">× scan / brute force</text>
<text x="842" y="332" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">× URL / network access</text>
<text x="842" y="373" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">× finding claim</text>
<text x="842" y="414" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">× coverage claim</text>
<text x="842" y="455" fill="#cbd5e1" font-family="Arial, sans-serif" font-size="20">× compliance claim</text>
<text x="842" y="535" fill="#a5f3fc" font-family="Arial, sans-serif" font-size="20" font-weight="700">Synthetic fixture</text>
<text x="842" y="570" fill="#bae6fd" font-family="Arial, sans-serif" font-size="18">фиксирует только порядок</text>
<text x="842" y="598" fill="#bae6fd" font-family="Arial, sans-serif" font-size="18">вопросов и rollback draft.</text>
</svg>