Files
progcode/web/public/assets/editorial/2023/dependency-security-2023-safe-update-gate.svg
T
huncode b78758dd3d
Build and deploy / deploy (push) Successful in 15s
revise April 2023 dependency security articles
2026-07-31 14:29:45 +03:00

45 lines
3.9 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 800" role="img" aria-labelledby="title description">
<title id="title">Порядок проверки безопасного обновления зависимости</title>
<desc id="description">Схема показывает gates обновления: определить scope и baseline, проверить lockfile diff, провести чистую установку, tests и runtime smoke в именованном окружении. Только затем принимается release decision; rollback является отдельным планом.</desc>
<rect width="720" height="800" fill="#f8fafc"/>
<rect x="28" y="26" width="664" height="86" rx="18" fill="#123047"/>
<text x="56" y="64" fill="#ffffff" font-family="Arial, sans-serif" font-size="28" font-weight="700">Безопасное обновление — цепочка evidence</text>
<text x="56" y="92" fill="#c9e7f2" font-family="Arial, sans-serif" font-size="20">Названный gate ещё не равен выполненной проверке</text>
<rect x="56" y="146" width="608" height="80" rx="14" fill="#fff4d6" stroke="#c78314" stroke-width="2"/>
<text x="82" y="179" fill="#633d00" font-family="Arial, sans-serif" font-size="23" font-weight="700">1. Scope + baseline</text>
<text x="82" y="207" fill="#633d00" font-family="Arial, sans-serif" font-size="19">advisory context · package · from/to version · owner</text>
<path d="M360 226 V250" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 239 L360 252 L371 239" fill="none" stroke="#446276" stroke-width="4"/>
<rect x="56" y="268" width="608" height="80" rx="14" fill="#e5f3ff" stroke="#2774a5" stroke-width="2"/>
<text x="82" y="301" fill="#164766" font-family="Arial, sans-serif" font-size="23" font-weight="700">2. Lockfile diff</text>
<text x="82" y="329" fill="#164766" font-family="Arial, sans-serif" font-size="19">added / removed / changed records и resolver effects</text>
<path d="M360 348 V372" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 361 L360 374 L371 361" fill="none" stroke="#446276" stroke-width="4"/>
<rect x="56" y="390" width="608" height="80" rx="14" fill="#e9f8ee" stroke="#2d8a54" stroke-width="2"/>
<text x="82" y="423" fill="#155437" font-family="Arial, sans-serif" font-size="23" font-weight="700">3. Clean install + project tests</text>
<text x="82" y="451" fill="#155437" font-family="Arial, sans-serif" font-size="19">same installer rules · named application contracts</text>
<path d="M360 470 V494" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 483 L360 496 L371 483" fill="none" stroke="#446276" stroke-width="4"/>
<rect x="56" y="512" width="608" height="80" rx="14" fill="#f0ecff" stroke="#7554b8" stroke-width="2"/>
<text x="82" y="545" fill="#41227d" font-family="Arial, sans-serif" font-size="23" font-weight="700">4. Runtime smoke</text>
<text x="82" y="573" fill="#41227d" font-family="Arial, sans-serif" font-size="19">declared environment · startup · controlled scenario</text>
<path d="M360 592 V616" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 605 L360 618 L371 605" fill="none" stroke="#446276" stroke-width="4"/>
<rect x="56" y="636" width="608" height="70" rx="14" fill="#123047"/>
<text x="82" y="679" fill="#ffffff" font-family="Arial, sans-serif" font-size="24" font-weight="700">Release decision — только с реальными artifacts</text>
<path d="M620 706 V752 H204" fill="none" stroke="#c45353" stroke-width="4" stroke-dasharray="9 8"/>
<path d="M215 741 L202 752 L215 763" fill="none" stroke="#c45353" stroke-width="4"/>
<text x="402" y="779" text-anchor="middle" fill="#9d3838" font-family="Arial, sans-serif" font-size="18" font-weight="700">Rollback plan: вернуть baseline, не стереть evidence</text>
</svg>