Files
progcode/web/public/assets/editorial/2023/dependency-security-2023-lockfile-sbom.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

44 lines
4.1 KiB
XML

<?xml version="1.0" encoding="UTF-8"?>
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 720 790" role="img" aria-labelledby="title description">
<title id="title">Границы manifest, lockfile, SBOM и runtime evidence</title>
<desc id="description">Вертикальная схема различает намерение в manifest, разрешённое дерево в lockfile, инвентарь привязанного артефакта в SBOM и наблюдённое выполнение в runtime. Между слоями показаны обязательные проверки, а не автоматические гарантии.</desc>
<rect width="720" height="790" 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">Один package, четыре вопроса</text>
<text x="56" y="92" fill="#c9e7f2" font-family="Arial, sans-serif" font-size="20">Списки похожи, но владеют разными фактами</text>
<rect x="56" y="148" width="608" height="100" rx="14" fill="#fff4d6" stroke="#c78314" stroke-width="2"/>
<text x="82" y="184" fill="#633d00" font-family="Arial, sans-serif" font-size="24" font-weight="700">Manifest</text>
<text x="82" y="214" fill="#633d00" font-family="Arial, sans-serif" font-size="19">Что проект просит: direct dependency и range</text>
<text x="552" y="214" fill="#9b5d00" font-family="Arial, sans-serif" font-size="18">intent</text>
<path d="M360 248 V282" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 271 L360 284 L371 271" fill="none" stroke="#446276" stroke-width="4"/>
<text x="390" y="272" fill="#446276" font-family="Arial, sans-serif" font-size="17">resolver + flags</text>
<rect x="56" y="306" width="608" height="106" rx="14" fill="#e5f3ff" stroke="#2774a5" stroke-width="2"/>
<text x="82" y="342" fill="#164766" font-family="Arial, sans-serif" font-size="24" font-weight="700">Lockfile</text>
<text x="82" y="372" fill="#164766" font-family="Arial, sans-serif" font-size="19">Какое resolved tree получил installer</text>
<text x="82" y="397" fill="#164766" font-family="Arial, sans-serif" font-size="19">Проверка: diff и reproducible install</text>
<path d="M360 412 V446" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 435 L360 448 L371 435" fill="none" stroke="#446276" stroke-width="4"/>
<text x="390" y="436" fill="#446276" font-family="Arial, sans-serif" font-size="17">build identity</text>
<rect x="56" y="470" width="608" height="106" rx="14" fill="#e9f8ee" stroke="#2d8a54" stroke-width="2"/>
<text x="82" y="506" fill="#155437" font-family="Arial, sans-serif" font-size="24" font-weight="700">SBOM</text>
<text x="82" y="536" fill="#155437" font-family="Arial, sans-serif" font-size="19">Какие components записаны для named artifact</text>
<text x="82" y="561" fill="#155437" font-family="Arial, sans-serif" font-size="19">Проверка: provenance, format, source revision</text>
<path d="M360 576 V610" fill="none" stroke="#446276" stroke-width="4"/>
<path d="M349 599 L360 612 L371 599" fill="none" stroke="#446276" stroke-width="4"/>
<text x="390" y="600" fill="#446276" font-family="Arial, sans-serif" font-size="17">named environment</text>
<rect x="56" y="634" width="608" height="106" rx="14" fill="#f0ecff" stroke="#7554b8" stroke-width="2"/>
<text x="82" y="670" fill="#41227d" font-family="Arial, sans-serif" font-size="24" font-weight="700">Runtime evidence</text>
<text x="82" y="700" fill="#41227d" font-family="Arial, sans-serif" font-size="19">Что наблюдалось в конкретном scenario</text>
<text x="82" y="725" fill="#41227d" font-family="Arial, sans-serif" font-size="19">Не доказывает все paths и configurations</text>
<text x="360" y="775" text-anchor="middle" fill="#526475" font-family="Arial, sans-serif" font-size="18" font-weight="700">Стрелка означает «нужна проверка», а не «гарантировано»</text>
</svg>