{"id":799,"date":"2026-03-25T09:40:45","date_gmt":"2026-03-25T08:40:45","guid":{"rendered":"https:\/\/secure-pipelines.com\/uncategorized\/slsa-levels-explained-practical-compliance-checklist\/"},"modified":"2026-03-25T09:40:45","modified_gmt":"2026-03-25T08:40:45","slug":"slsa-levels-explained-practical-compliance-checklist","status":"publish","type":"post","link":"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/slsa-levels-explained-practical-compliance-checklist\/","title":{"rendered":"\u0634\u0631\u062d \u0645\u0633\u062a\u0648\u064a\u0627\u062a SLSA: \u0642\u0627\u0626\u0645\u0629 \u062a\u062d\u0642\u0642 \u0639\u0645\u0644\u064a\u0629 \u0644\u0644\u0627\u0645\u062a\u062b\u0627\u0644 \u0644\u0641\u0631\u0642 \u0627\u0644\u0647\u0646\u062f\u0633\u0629"},"content":{"rendered":"<h2>\u0645\u0642\u062f\u0645\u0629: \u0645\u0627 \u0647\u0648 SLSA \u0648\u0644\u0645\u0627\u0630\u0627 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0647\u062a\u0645\u061f<\/h2>\n<p>Supply-chain Levels for Software Artifacts \u2014 <strong>SLSA<\/strong> (\u064a\u064f\u0646\u0637\u0642 &#8220;salsa&#8221;) \u2014 \u0647\u0648 \u0625\u0637\u0627\u0631 \u0623\u0645\u0646\u064a \u0623\u0646\u0634\u0623\u062a\u0647 Google \u0648\u062a\u062a\u0648\u0644\u0649 \u0635\u064a\u0627\u0646\u062a\u0647 \u0627\u0644\u0622\u0646 <a href=\"https:\/\/openssf.org\/\" target=\"_blank\" rel=\"noopener\">\u0645\u0624\u0633\u0633\u0629 Open Source Security Foundation (OpenSSF)<\/a>. \u0647\u062f\u0641\u0647 \u0628\u0633\u064a\u0637 \u0641\u064a \u0638\u0627\u0647\u0631\u0647: \u062c\u0639\u0644 \u0627\u0644\u0639\u0628\u062b \u0628\u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0628\u0646\u064a\u0647\u0627 \u0648\u062a\u0646\u0634\u0631\u0647\u0627 \u0623\u0643\u062b\u0631 \u0635\u0639\u0648\u0628\u0629 \u0639\u0644\u0649 \u0627\u0644\u0645\u0647\u0627\u062c\u0645\u064a\u0646.<\/p>\n<p>\u0625\u0630\u0627 \u062a\u0627\u0628\u0639\u062a \u0627\u0644\u062d\u0648\u0627\u062f\u062b \u0627\u0644\u0628\u0627\u0631\u0632\u0629 \u0645\u062b\u0644 <a href=\"https:\/\/en.wikipedia.org\/wiki\/2020_United_States_federal_government_data_breach\" target=\"_blank\" rel=\"noopener\">SolarWinds<\/a> \u0623\u0648 <a href=\"https:\/\/en.wikipedia.org\/wiki\/Codecov\" target=\"_blank\" rel=\"noopener\">Codecov<\/a> \u0623\u0648 <a href=\"https:\/\/www.sonatype.com\/resources\/vulnerability-timeline\" target=\"_blank\" rel=\"noopener\">\u0645\u0648\u062c\u0629 \u062d\u0632\u0645 npm \u0627\u0644\u062e\u0628\u064a\u062b\u0629<\/a>\u060c \u0641\u0623\u0646\u062a \u062a\u0639\u0631\u0641 \u0628\u0627\u0644\u0641\u0639\u0644 <em>\u0644\u0645\u0627\u0630\u0627<\/em> \u064a\u0647\u0645 \u0623\u0645\u0646 \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u0631\u064a\u062f. \u064a\u0645\u0646\u062d\u0643 SLSA \u0625\u0637\u0627\u0631\u0627\u064b \u0639\u0645\u0644\u064a\u0627\u064b \u0648\u062a\u062f\u0631\u064a\u062c\u064a\u0627\u064b \u064a\u0648\u0636\u062d <em>\u0643\u064a\u0641<\/em> \u062a\u0639\u0627\u0644\u062c \u0647\u0630\u0647 \u0627\u0644\u0645\u0634\u0643\u0644\u0629.<\/p>\n<p>\u0642\u0627\u0645\u062a <strong>\u0645\u0648\u0627\u0635\u0641\u0629 SLSA v1.0<\/strong> (\u0635\u062f\u0631\u062a \u0641\u064a \u0623\u0628\u0631\u064a\u0644 2023) \u0628\u062a\u0628\u0633\u064a\u0637 \u0627\u0644\u0646\u0645\u0648\u0630\u062c \u0627\u0644\u0623\u0635\u0644\u064a \u0625\u0644\u0649 \u0645\u0633\u0627\u0631 \u0648\u0627\u0636\u062d \u2014 <strong>\u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0645\u0646 0 \u0625\u0644\u0649 3 (Build Levels 0-3)<\/strong> \u2014 \u064a\u0636\u064a\u0641 \u0643\u0644 \u0645\u0633\u062a\u0648\u0649 \u0636\u0645\u0627\u0646\u0627\u062a \u0623\u0642\u0648\u0649 \u062d\u0648\u0644 \u0633\u0644\u0627\u0645\u0629 \u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0648\u0628\u064a\u0627\u0646\u0627\u062a provenance \u0627\u0644\u062a\u064a \u062a\u0646\u062a\u062c\u0647\u0627.<\/p>\n<p>\u064a\u0633\u062a\u0639\u0631\u0636 \u0647\u0630\u0627 \u0627\u0644\u062f\u0644\u064a\u0644 \u0643\u0644 \u0645\u0633\u062a\u0648\u0649 \u0628\u0644\u063a\u0629 \u0645\u0628\u0633\u0637\u0629\u060c \u0648\u064a\u0642\u062f\u0645 \u0644\u0643 \u0642\u0627\u0626\u0645\u0629 \u062a\u062d\u0642\u0642 \u064a\u0645\u0643\u0646\u0643 \u062a\u0633\u0644\u064a\u0645\u0647\u0627 \u0644\u0641\u0631\u064a\u0642\u0643 \u0635\u0628\u0627\u062d \u064a\u0648\u0645 \u0627\u0644\u0625\u062b\u0646\u064a\u0646\u060c \u0648\u064a\u0631\u0628\u0637 \u0643\u0644 \u0645\u062a\u0637\u0644\u0628 \u0628\u0623\u062f\u0648\u0627\u062a \u062d\u0642\u064a\u0642\u064a\u0629\u060c \u0648\u064a\u0648\u0636\u062d \u0644\u0643 \u0634\u0643\u0644 provenance \u0627\u0644\u0641\u0639\u0644\u064a\u060c \u0648\u064a\u0636\u0639 \u062e\u0627\u0631\u0637\u0629 \u0637\u0631\u064a\u0642 \u062a\u0628\u0646\u064a \u062e\u0637\u0648\u0629 \u0628\u062e\u0637\u0648\u0629. \u0644\u0646\u0628\u062f\u0623.<\/p>\n<hr \/>\n<h2>\u0646\u0638\u0631\u0629 \u0633\u0631\u064a\u0639\u0629: \u0645\u0633\u0627\u0631 \u0627\u0644\u0628\u0646\u0627\u0621 \u0641\u064a SLSA \u0628\u0644\u0645\u062d\u0629 \u0648\u0627\u062d\u062f\u0629<\/h2>\n<p>\u0642\u0628\u0644 \u0627\u0644\u062a\u0639\u0645\u0642 \u0641\u064a \u0643\u0644 \u0645\u0633\u062a\u0648\u0649\u060c \u0625\u0644\u064a\u0643 \u062c\u062f\u0648\u0644 \u0645\u0642\u0627\u0631\u0646\u0629 \u0644\u062a\u0631\u0649 \u0627\u0644\u0635\u0648\u0631\u0629 \u0627\u0644\u0643\u0627\u0645\u0644\u0629.<\/p>\n<table style=\"width:100%; border-collapse:collapse; margin-bottom:2em;\">\n<thead>\n<tr style=\"background:#1a1a2e; color:#fff;\">\n<th style=\"padding:10px; border:1px solid #ddd; text-align:right;\">\u0627\u0644\u062c\u0627\u0646\u0628<\/th>\n<th style=\"padding:10px; border:1px solid #ddd; text-align:right;\">Build L0<\/th>\n<th style=\"padding:10px; border:1px solid #ddd; text-align:right;\">Build L1<\/th>\n<th style=\"padding:10px; border:1px solid #ddd; text-align:right;\">Build L2<\/th>\n<th style=\"padding:10px; border:1px solid #ddd; text-align:right;\">Build L3<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td style=\"padding:10px; border:1px solid #ddd;\"><strong>\u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0628\u0646\u0627\u0621<\/strong><\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0644\u0627 \u062a\u0648\u062c\u062f \u0645\u062a\u0637\u0644\u0628\u0627\u062a<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0628\u0646\u0627\u0621 \u0645\u0628\u0631\u0645\u062c \u0648\u0645\u062a\u0633\u0642<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u062e\u062f\u0645\u0629 \u0628\u0646\u0627\u0621 \u0645\u0633\u062a\u0636\u0627\u0641\u0629<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0628\u0646\u0627\u0629 \u0645\u0639\u0632\u0648\u0644\u0648\u0646 \u0648\u0645\u062d\u0635\u0646\u0648\u0646<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px; border:1px solid #ddd;\"><strong>Provenance<\/strong><\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u063a\u064a\u0631 \u0645\u0637\u0644\u0648\u0628<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0645\u0648\u062c\u0648\u062f \u0648\u0645\u062a\u0627\u062d<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0645\u0648\u062b\u0642 \u0648\u0645\u0648\u0644\u062f \u0645\u0646 \u0627\u0644\u062e\u062f\u0645\u0629<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0632\u0648\u064a\u0631\u060c \u062a\u0648\u0642\u064a\u0639 \u0645\u0639\u0632\u0648\u0644<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px; border:1px solid #ddd;\"><strong>\u0645\u0648\u0642\u0651\u0639 Provenance<\/strong><\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u063a\u064a\u0631 \u0645\u062a\u0627\u062d<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0627\u0644\u0645\u0637\u0648\u0631 \u0623\u0648 CI<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0646\u0641\u0633\u0647\u0627<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u062e\u062f\u0645\u0629 \u0628\u0646\u0627\u0621 \u0645\u062d\u0635\u0646\u0629<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px; border:1px solid #ddd;\"><strong>\u0627\u0644\u062d\u0645\u0627\u064a\u0629 \u0645\u0646 \u0627\u0644\u0639\u0628\u062b<\/strong><\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0644\u0627 \u062a\u0648\u062c\u062f<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0648\u0627\u0644\u062a\u0648\u062b\u064a\u0642<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0627\u0644\u0639\u0628\u062b \u0628\u0639\u062f \u0627\u0644\u0628\u0646\u0627\u0621<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0627\u0644\u0639\u0628\u062b \u0623\u062b\u0646\u0627\u0621 \u0648\u0628\u0639\u062f \u0627\u0644\u0628\u0646\u0627\u0621<\/td>\n<\/tr>\n<tr>\n<td style=\"padding:10px; border:1px solid #ddd;\"><strong>\u062c\u0647\u062f \u0627\u0644\u062a\u0628\u0646\u064a<\/strong><\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0635\u0641\u0631<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0645\u0646\u062e\u0641\u0636 \u2014 \u0633\u0627\u0639\u0627\u062a \u0625\u0644\u0649 \u0623\u064a\u0627\u0645<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0645\u062a\u0648\u0633\u0637 \u2014 \u0623\u064a\u0627\u0645 \u0625\u0644\u0649 \u0623\u0633\u0627\u0628\u064a\u0639<\/td>\n<td style=\"padding:10px; border:1px solid #ddd;\">\u0645\u0631\u062a\u0641\u0639 \u2014 \u0623\u0633\u0627\u0628\u064a\u0639 \u0625\u0644\u0649 \u0623\u0634\u0647\u0631<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<hr \/>\n<h2>\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0628\u0646\u0627\u0621 0 \u2014 \u0646\u0642\u0637\u0629 \u0627\u0644\u0628\u062f\u0627\u064a\u0629 (\u0628\u062f\u0648\u0646 \u0636\u0645\u0627\u0646\u0627\u062a)<\/h2>\n<p>Build L0 \u0644\u064a\u0633 \u0645\u0633\u062a\u0648\u0649 \u0641\u0639\u0644\u064a\u0627\u064b \u2014 \u0625\u0646\u0647 \u063a\u064a\u0627\u0628 \u0623\u064a compliance \u0645\u0639 SLSA. \u0643\u0644 \u0645\u0634\u0631\u0648\u0639 \u0628\u0631\u0645\u062c\u064a \u064a\u0628\u062f\u0623 \u0647\u0646\u0627 \u0628\u0634\u0643\u0644 \u0627\u0641\u062a\u0631\u0627\u0636\u064a.<\/p>\n<h3>\u0645\u0627\u0630\u0627 \u064a\u0639\u0646\u064a \u0630\u0644\u0643 \u0628\u0644\u063a\u0629 \u0628\u0633\u064a\u0637\u0629<\/h3>\n<p>\u0644\u064a\u0633 \u0644\u062f\u064a\u0643 \u0623\u064a \u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0631\u0633\u0645\u064a\u0629. \u0642\u062f \u062a\u062a\u0645 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0639\u0644\u0649 \u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0645\u0637\u0648\u0631 \u0627\u0644\u0645\u062d\u0645\u0648\u0644\u060c \u0628\u062f\u0648\u0646 \u0623\u064a \u0633\u062c\u0644 \u0644\u0645\u0635\u062f\u0631 \u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0623\u0648 \u0627\u0644\u0623\u0648\u0627\u0645\u0631 \u0627\u0644\u062a\u064a \u0646\u064f\u0641\u0630\u062a \u0623\u0648 \u0645\u0627 \u062a\u0645 \u0625\u0646\u062a\u0627\u062c\u0647. \u0644\u0627 \u064a\u0648\u062c\u062f \u0645\u0633\u062a\u0646\u062f provenance. \u0644\u0627 \u064a\u0648\u062c\u062f \u0634\u064a\u0621 \u0644\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647.<\/p>\n<h3>\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u062d\u0642\u0642<\/h3>\n<ul>\n<li>&#9744; <em>\u0644\u0627 \u0634\u064a\u0621 \u0645\u0637\u0644\u0648\u0628<\/em> \u2014 \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0623\u0633\u0627\u0633 \u0627\u0644\u0630\u064a \u062a\u062a\u062d\u0633\u0646 \u0645\u0646\u0647.<\/li>\n<\/ul>\n<h3>\u0643\u064a\u0641 \u064a\u0628\u062f\u0648 Provenance \u0641\u064a L0<\/h3>\n<p>\u0644\u0627 \u064a\u0648\u062c\u062f. \u0644\u0627 \u064a\u0648\u062c\u062f attestation\u060c \u0644\u0627 \u0628\u064a\u0627\u0646\u0627\u062a \u0648\u0635\u0641\u064a\u0629\u060c \u0644\u0627 \u062a\u0648\u0642\u064a\u0639. \u0625\u0630\u0627 \u0633\u0623\u0644\u0643 \u0623\u062d\u062f\u0647\u0645 &#8220;\u0623\u062b\u0628\u062a \u0623\u0646 \u0647\u0630\u0627 \u0627\u0644\u0645\u0644\u0641 \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u064a \u062c\u0627\u0621 \u0645\u0646 \u0630\u0644\u0643 \u0627\u0644\u0640 commit&#8221;\u060c \u0641\u0627\u0644\u0625\u062c\u0627\u0628\u0629 \u0627\u0644\u0635\u0627\u062f\u0642\u0629 \u0647\u064a: \u0644\u0627 \u062a\u0633\u062a\u0637\u064a\u0639.<\/p>\n<p><strong>\u0627\u0644\u062e\u0644\u0627\u0635\u0629:<\/strong> L0 \u0647\u0648 \u0627\u0644\u0645\u0643\u0627\u0646 \u0627\u0644\u0630\u064a \u062a\u0642\u0641 \u0641\u064a\u0647 \u0645\u0639\u0638\u0645 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a \u0627\u0644\u064a\u0648\u0645. \u0627\u0644\u062e\u0628\u0631 \u0627\u0644\u062c\u064a\u062f\u061f \u0627\u0644\u0627\u0646\u062a\u0642\u0627\u0644 \u0625\u0644\u0649 L1 \u0633\u0647\u0644 \u0628\u0634\u0643\u0644 \u0645\u0641\u0627\u062c\u0626.<\/p>\n<hr \/>\n<h2>\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0628\u0646\u0627\u0621 1 \u2014 Provenance \u0645\u0648\u062c\u0648\u062f<\/h2>\n<p>L1 \u0647\u0648 \u0623\u0648\u0644 \u062e\u0637\u0648\u0629 \u0630\u0627\u062a \u0645\u0639\u0646\u0649. \u0648\u0639\u062f\u0647 \u0627\u0644\u0623\u0633\u0627\u0633\u064a: <em>provenance \u0645\u0648\u062c\u0648\u062f \u0648\u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0645\u0628\u0631\u0645\u062c\u0629.<\/em><\/p>\n<h3>\u0627\u0644\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0628\u0644\u063a\u0629 \u0628\u0633\u064a\u0637\u0629<\/h3>\n<ol>\n<li><strong>\u0628\u0646\u0627\u0621 \u0645\u0628\u0631\u0645\u062c<\/strong> \u2014 \u0627\u0644\u0628\u0646\u0627\u0621 \u0645\u0639\u0631\u0651\u0641 \u0641\u064a \u0627\u0644\u0643\u0648\u062f (Makefile \u0623\u0648 Dockerfile \u0623\u0648 \u0645\u0644\u0641 YAML \u0644\u0645\u0633\u0627\u0631 CI)\u060c \u0648\u0644\u064a\u0633 \u0633\u0644\u0633\u0644\u0629 \u0623\u0648\u0627\u0645\u0631 \u064a\u062f\u0648\u064a\u0629 \u064a\u0646\u0641\u0630\u0647\u0627 \u0627\u0644\u0645\u0637\u0648\u0631 \u0645\u0646 \u0630\u0627\u0643\u0631\u062a\u0647.<\/li>\n<li><strong>\u0625\u0646\u0634\u0627\u0621 Provenance<\/strong> \u2014 \u064a\u0646\u062a\u062c \u0627\u0644\u0628\u0646\u0627\u0621 \u0645\u0633\u062a\u0646\u062f\u0627\u064b \u064a\u0633\u062c\u0644\u060c \u0643\u062d\u062f \u0623\u062f\u0646\u0649\u060c <em>\u0645\u0646<\/em> \u0628\u0646\u0627\u0647 \u0648<em>\u0645\u0627\u0630\u0627<\/em> \u0643\u0627\u0646 \u0627\u0644\u0645\u0635\u062f\u0631 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0648<em>\u0645\u0627<\/em> \u0647\u064a \u0639\u0645\u0644\u064a\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u062a\u064a \u0646\u064f\u0641\u0630\u062a.<\/li>\n<li><strong>\u062a\u0648\u0641\u0631 Provenance<\/strong> \u2014 \u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0633\u062a\u0647\u0644\u0643\u064a\u0646 \u062a\u062d\u0645\u064a\u0644 \u0648\u0641\u062d\u0635 provenance \u0641\u0639\u0644\u064a\u0627\u064b.<\/li>\n<\/ol>\n<h3>\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u062d\u0642\u0642<\/h3>\n<ul>\n<li>&#9744; \u0627\u0644\u0628\u0646\u0627\u0621 \u0645\u0639\u0631\u0651\u0641 \u0628\u0627\u0644\u0643\u0627\u0645\u0644 \u0641\u064a \u0633\u0643\u0631\u064a\u0628\u062a \u0628\u0646\u0627\u0621 \u0623\u0648 \u0645\u0644\u0641 \u062a\u0643\u0648\u064a\u0646 CI (\u0628\u062f\u0648\u0646 \u062e\u0637\u0648\u0627\u062a \u064a\u062f\u0648\u064a\u0629).<\/li>\n<li>&#9744; \u0643\u0644 \u0639\u0645\u0644\u064a\u0629 \u0628\u0646\u0627\u0621 \u062a\u0646\u062a\u062c \u0628\u064a\u0627\u0646\u0627\u062a provenance \u0648\u0635\u0641\u064a\u0629 (\u064a\u064f\u0641\u0636\u0644 \u062a\u0646\u0633\u064a\u0642 in-toto \/ SLSA provenance).<\/li>\n<li>&#9744; \u064a\u0633\u062c\u0644 Provenance: \u0645\u0646\u0635\u0629 \u0627\u0644\u0628\u0646\u0627\u0621\u060c \u0648\u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0645\u0635\u062f\u0631\u060c \u0648\u0646\u0642\u0637\u0629 \u0627\u0644\u062f\u062e\u0648\u0644\u060c \u0648\u062a\u062c\u0632\u0626\u0627\u062a \u0627\u0644\u0640 artifact \u0627\u0644\u0646\u0627\u062a\u062c.<\/li>\n<li>&#9744; \u064a\u064f\u0646\u0634\u0631 Provenance \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0640 artifact (\u0645\u062b\u0644\u0627\u064b \u0641\u064a registry \u0623\u0648 OCI artifact \u0623\u0648 \u0631\u0627\u0628\u0637 \u0639\u0627\u0645).<\/li>\n<li>&#9744; \u062a\u0646\u0633\u064a\u0642 provenance \u064a\u062a\u0628\u0639 <a href=\"https:\/\/slsa.dev\/provenance\/v1\" target=\"_blank\" rel=\"noopener\">\u0645\u062e\u0637\u0637 SLSA Provenance v1<\/a>.<\/li>\n<\/ul>\n<h3>\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062d\u0642\u0642 L1<\/h3>\n<ul>\n<li><strong>GitHub Actions<\/strong> \u2014 \u0627\u0633\u062a\u062e\u062f\u0645 workflows \u0627\u0644\u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0627\u0633\u062a\u062e\u062f\u0627\u0645 \u0645\u0646 <a href=\"https:\/\/github.com\/slsa-framework\/slsa-github-generator\" target=\"_blank\" rel=\"noopener\">slsa-github-generator<\/a>. \u062a\u0648\u0644\u062f SLSA provenance \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b.<\/li>\n<li><strong>GitLab CI<\/strong> \u2014 \u064a\u062f\u0639\u0645 GitLab 15.x+ <a href=\"https:\/\/docs.gitlab.com\/ee\/ci\/runners\/configure_runners.html#artifact-attestation\" target=\"_blank\" rel=\"noopener\">artifact attestation<\/a> \u0628\u0634\u0643\u0644 \u0623\u0635\u0644\u064a.<\/li>\n<li><strong>SLSA Verifier<\/strong> \u2014 \u0623\u062f\u0627\u0629 CLI <code>slsa-verifier<\/code> \u0644\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 provenance \u0639\u0644\u0649 \u062c\u0627\u0646\u0628 \u0627\u0644\u0645\u0633\u062a\u0647\u0644\u0643.<\/li>\n<li><strong>Sigstore \/ Cosign<\/strong> \u2014 \u0648\u0642\u0651\u0639 \u0648\u062e\u0632\u0651\u0646 provenance \u0641\u064a <a href=\"https:\/\/www.sigstore.dev\/\" target=\"_blank\" rel=\"noopener\">\u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629 Rekor \u0645\u0646 Sigstore<\/a>.<\/li>\n<li><strong>in-toto<\/strong> \u2014 \u064a\u0648\u0641\u0631 <a href=\"https:\/\/in-toto.io\/\" target=\"_blank\" rel=\"noopener\">\u0625\u0637\u0627\u0631 in-toto<\/a> \u0645\u0648\u0627\u0635\u0641\u0629 \u0648\u0645\u0643\u062a\u0628\u0627\u062a \u0644\u062a\u0648\u0644\u064a\u062f attestations.<\/li>\n<\/ul>\n<h3>\u0643\u064a\u0641 \u064a\u0628\u062f\u0648 Provenance \u0641\u064a L1<\/h3>\n<p>\u0645\u0633\u062a\u0646\u062f SLSA v1 provenance \u0628\u0633\u064a\u0637 \u0641\u064a L1 \u0642\u062f \u064a\u0628\u062f\u0648 \u0647\u0643\u0630\u0627 (JSON \u0645\u0628\u0633\u0637):<\/p>\n<pre><code>{\n  \"_type\": \"https:\/\/in-toto.io\/Statement\/v1\",\n  \"subject\": [{\n    \"name\": \"my-app\",\n    \"digest\": { \"sha256\": \"a1b2c3d4...\" }\n  }],\n  \"predicateType\": \"https:\/\/slsa.dev\/provenance\/v1\",\n  \"predicate\": {\n    \"buildDefinition\": {\n      \"buildType\": \"https:\/\/github.com\/slsa-framework\/slsa-github-generator\/...\",\n      \"externalParameters\": {\n        \"source\": {\n          \"uri\": \"git+https:\/\/github.com\/acme\/my-app@refs\/heads\/main\",\n          \"digest\": { \"sha1\": \"abc123...\" }\n        }\n      }\n    },\n    \"runDetails\": {\n      \"builder\": {\n        \"id\": \"https:\/\/github.com\/slsa-framework\/slsa-github-generator\/.github\/workflows\/generator_generic_slsa3.yml@refs\/tags\/v1.9.0\"\n      }\n    }\n  }\n}<\/code><\/pre>\n<p><strong>\u0627\u0644\u0646\u0642\u0637\u0629 \u0627\u0644\u0623\u0633\u0627\u0633\u064a\u0629:<\/strong> \u0641\u064a L1 \u0642\u062f \u064a\u0643\u0648\u0646 provenance \u0630\u0627\u062a\u064a \u0627\u0644\u062a\u0635\u062f\u064a\u0642 \u2014 \u0627\u0644\u0645\u0637\u0648\u0631 \u0623\u0648 \u0645\u0647\u0645\u0629 CI \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0647 \u0647\u064a \u0645\u0646 \u062a\u0648\u0642\u0639\u0647. \u0647\u0630\u0627 \u0645\u0642\u0628\u0648\u0644 \u0641\u064a \u0647\u0630\u0627 \u0627\u0644\u0645\u0633\u062a\u0648\u0649\u061b \u0627\u0644\u0647\u062f\u0641 \u0647\u0648 <em>\u0627\u0644\u0648\u062c\u0648\u062f<\/em>.<\/p>\n<hr \/>\n<h2>\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0628\u0646\u0627\u0621 2 \u2014 Provenance \u0645\u0633\u062a\u0636\u0627\u0641 \u0648\u0645\u0648\u062b\u0642<\/h2>\n<p>\u064a\u0631\u0641\u0639 L2 \u0627\u0644\u0645\u0633\u062a\u0648\u0649: \u064a\u062c\u0628 \u0623\u0646 \u064a\u0639\u0645\u0644 \u0627\u0644\u0628\u0646\u0627\u0621 \u0639\u0644\u0649 <strong>\u062e\u062f\u0645\u0629 \u0628\u0646\u0627\u0621 \u0645\u0633\u062a\u0636\u0627\u0641\u0629<\/strong>\u060c \u0648\u064a\u062c\u0628 \u0623\u0646 \u064a\u062a\u0645 <strong>\u062a\u0648\u0644\u064a\u062f \u0648\u062a\u0648\u0642\u064a\u0639 provenance \u0628\u0648\u0627\u0633\u0637\u0629 \u062a\u0644\u0643 \u0627\u0644\u062e\u062f\u0645\u0629<\/strong> \u2014 \u0648\u0644\u064a\u0633 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0645\u0637\u0648\u0631.<\/p>\n<h3>\u0627\u0644\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0628\u0644\u063a\u0629 \u0628\u0633\u064a\u0637\u0629<\/h3>\n<ol>\n<li><strong>\u0645\u0646\u0635\u0629 \u0628\u0646\u0627\u0621 \u0645\u0633\u062a\u0636\u0627\u0641\u0629<\/strong> \u2014 \u062a\u0639\u0645\u0644 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0639\u0644\u0649 \u062e\u062f\u0645\u0629 \u0645\u064f\u062f\u0627\u0631\u0629 (GitHub Actions \u0623\u0648 GitLab CI \u0623\u0648 Google Cloud Build \u0623\u0648 Jenkins \u0639\u0644\u0649 \u0628\u0646\u064a\u0629 \u062a\u062d\u062a\u064a\u0629 \u0645\u064f\u062f\u0627\u0631\u0629\u060c \u0625\u0644\u062e)\u060c \u0648\u0644\u064a\u0633 \u0639\u0644\u0649 \u062d\u0627\u0633\u0648\u0628 \u0627\u0644\u0645\u0637\u0648\u0631 \u0627\u0644\u0645\u062d\u0645\u0648\u0644.<\/li>\n<li><strong>Provenance \u0645\u0648\u062b\u0642<\/strong> \u2014 \u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0646\u0641\u0633\u0647\u0627 \u062a\u0648\u0644\u062f \u0648\u062a\u0648\u0642\u0639 provenance. \u0644\u0627 \u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0637\u0648\u0631 \u062a\u0632\u0648\u064a\u0631\u0647 \u0623\u0648 \u062a\u0639\u062f\u064a\u0644\u0647.<\/li>\n<li><strong>\u0645\u0648\u0644\u062f \u0645\u0646 \u0627\u0644\u062e\u062f\u0645\u0629<\/strong> \u2014 \u062a\u0648\u0644\u064a\u062f provenance \u0647\u0648 \u0645\u064a\u0632\u0629 \u0641\u064a \u0645\u0646\u0635\u0629 \u0627\u0644\u0628\u0646\u0627\u0621\u060c \u0648\u0644\u064a\u0633 \u0633\u0643\u0631\u064a\u0628\u062a \u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0637\u0648\u0631 \u062a\u0639\u062f\u064a\u0644\u0647 \u0641\u064a \u0645\u0633\u062a\u0648\u062f\u0639\u0647.<\/li>\n<\/ol>\n<h3>\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u062d\u0642\u0642<\/h3>\n<ul>\n<li>&#9744; \u062c\u0645\u064a\u0639 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0644\u0644\u0625\u0635\u062f\u0627\u0631\u0627\u062a \u062a\u0639\u0645\u0644 \u0639\u0644\u0649 \u062e\u062f\u0645\u0629 CI\/CD \u0645\u0633\u062a\u0636\u0627\u0641\u0629 (\u0644\u0627 \u0628\u0646\u0627\u0621 \u0645\u062d\u0644\u064a \u0644\u0640 artifacts \u0627\u0644\u0625\u0646\u062a\u0627\u062c).<\/li>\n<li>&#9744; \u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u062a\u0648\u0644\u062f provenance \u2014 <em>\u0648\u0644\u064a\u0633<\/em> \u0633\u0643\u0631\u064a\u0628\u062a \u064a\u062a\u062d\u0643\u0645 \u0641\u064a\u0647 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645.<\/li>\n<li>&#9744; \u064a\u062a\u0645 \u062a\u0648\u0642\u064a\u0639 Provenance \u0628\u0647\u0648\u064a\u0629 \u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 (\u0645\u062b\u0644 \u062a\u0648\u0642\u064a\u0639 Sigstore \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0639\u0628\u0631 OIDC).<\/li>\n<li>&#9744; \u064a\u062a\u0636\u0645\u0646 Provenance \u0647\u0648\u064a\u0629 \u0627\u0644\u0628\u0627\u0646\u064a \u0627\u0644\u0645\u0648\u062b\u0642\u0629 (\u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 <em>\u0623\u064a<\/em> \u062e\u062f\u0645\u0629 \u0623\u0646\u062a\u062c\u062a\u0647).<\/li>\n<li>&#9744; \u064a\u0645\u0643\u0646 \u0644\u0644\u0645\u0633\u062a\u0647\u0644\u0643\u064a\u0646 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u062a\u0648\u0642\u064a\u0639 provenance \u0645\u0642\u0627\u0628\u0644 \u0627\u0644\u0647\u0648\u064a\u0629 \u0627\u0644\u0645\u0639\u0631\u0648\u0641\u0629 \u0644\u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621.<\/li>\n<li>&#9744; \u0645\u0633\u062a\u0648\u062f\u0639 \u0627\u0644\u0645\u0635\u062f\u0631 \u0648\u0646\u0642\u0637\u0629 \u0627\u0644\u062f\u062e\u0648\u0644 \u0641\u064a provenance \u062a\u064f\u0645\u0644\u0623 \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u062e\u062f\u0645\u0629\u060c \u0648\u0644\u064a\u0633 \u0642\u064a\u0645 \u064a\u0642\u062f\u0645\u0647\u0627 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645.<\/li>\n<\/ul>\n<h3>\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062d\u0642\u0642 L2<\/h3>\n<ul>\n<li><strong>GitHub Actions + slsa-github-generator<\/strong> \u2014 \u0639\u0646\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 reusable workflow (\u0648\u0644\u064a\u0633 composite action)\u060c \u064a\u0648\u0642\u0639 OIDC token \u0627\u0644\u062e\u0627\u0635 \u0628\u0640 GitHub \u0639\u0644\u0649 provenance. \u0647\u0630\u0627 \u064a\u062d\u0642\u0642 L2 \u0645\u0628\u0627\u0634\u0631\u0629.<\/li>\n<li><strong>Google Cloud Build<\/strong> \u2014 \u064a\u0646\u062a\u062c \u0628\u0634\u0643\u0644 \u0623\u0635\u0644\u064a <a href=\"https:\/\/cloud.google.com\/build\/docs\/securing-builds\/view-build-provenance\" target=\"_blank\" rel=\"noopener\">provenance \u0645\u0648\u062b\u0642<\/a> \u0644\u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a \u0627\u0644\u0645\u062e\u0632\u0646\u0629 \u0641\u064a Artifact Registry.<\/li>\n<li><strong>Sigstore Fulcio + Rekor<\/strong> \u2014 \u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0645\u0639 \u0634\u0647\u0627\u062f\u0627\u062a \u0642\u0635\u064a\u0631\u0629 \u0627\u0644\u0639\u0645\u0631 \u0645\u0631\u062a\u0628\u0637\u0629 \u0628\u0647\u0648\u064a\u0629 OIDC \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0640 CI. \u064a\u0648\u0641\u0631 \u0633\u062c\u0644 \u0627\u0644\u0634\u0641\u0627\u0641\u064a\u0629 (Rekor) \u0633\u062c\u0644\u0627\u064b \u0645\u0642\u0627\u0648\u0645\u0627\u064b \u0644\u0644\u0639\u0628\u062b.<\/li>\n<li><strong>Tekton Chains<\/strong> \u2014 \u0644\u0640 CI \u0627\u0644\u0623\u0635\u0644\u064a \u0641\u064a Kubernetes. \u064a\u0648\u0644\u062f <a href=\"https:\/\/tekton.dev\/docs\/chains\/\" target=\"_blank\" rel=\"noopener\">Tekton Chains<\/a> \u0648\u064a\u0648\u0642\u0639 SLSA provenance \u062a\u0644\u0642\u0627\u0626\u064a\u0627\u064b \u0644\u062a\u0634\u063a\u064a\u0644\u0627\u062a \u062e\u0637\u0648\u0637 Tekton.<\/li>\n<li><strong>SLSA Verifier<\/strong> \u2014 \u0639\u0644\u0649 \u062c\u0627\u0646\u0628 \u0627\u0644\u0645\u0633\u062a\u0647\u0644\u0643\u060c \u064a\u062a\u062d\u0642\u0642 <code>slsa-verifier verify-artifact<\/code> \u0645\u0646 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0648\u0647\u0648\u064a\u0629 \u0627\u0644\u0628\u0627\u0646\u064a.<\/li>\n<\/ul>\n<h3>\u0643\u064a\u0641 \u064a\u0628\u062f\u0648 Provenance \u0641\u064a L2<\/h3>\n<p>\u0628\u0646\u064a\u0629 JSON \u0645\u0634\u0627\u0628\u0647\u0629 \u0644\u0640 L1\u060c \u0644\u0643\u0646 \u0627\u0644\u0641\u0631\u0642 \u0627\u0644\u062c\u0648\u0647\u0631\u064a \u0647\u0648 <strong>\u063a\u0644\u0627\u0641 \u0627\u0644\u062a\u0648\u0642\u064a\u0639<\/strong>. \u064a\u062a\u0645 \u062a\u063a\u0644\u064a\u0641 provenance \u0641\u064a <a href=\"https:\/\/github.com\/secure-systems-lab\/dsse\" target=\"_blank\" rel=\"noopener\">DSSE (Dead Simple Signing Envelope)<\/a>:<\/p>\n<pre><code>{\n  \"payloadType\": \"application\/vnd.in-toto+json\",\n  \"payload\": \"&lt;base64-encoded provenance statement&gt;\",\n  \"signatures\": [{\n    \"keyid\": \"\",\n    \"sig\": \"MEUCIQD...base64...signature\"\n  }]\n}<\/code><\/pre>\n<p>\u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u064a\u0623\u062a\u064a \u0645\u0646 \u0647\u0648\u064a\u0629 <em>\u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621<\/em> \u2014 \u064a\u062a\u0645 \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0639\u0628\u0631 \u0633\u062c\u0644 \u0634\u0641\u0627\u0641\u064a\u0629 \u0627\u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0641\u064a Sigstore \u2014 \u0648\u0644\u064a\u0633 \u0645\u0646 \u0645\u0641\u062a\u0627\u062d \u0634\u062e\u0635\u064a \u0644\u0644\u0645\u0637\u0648\u0631. \u0647\u0630\u0627 \u0645\u0627 \u064a\u062c\u0639\u0644 provenance <strong>\u0645\u0648\u062b\u0642\u0627\u064b<\/strong>.<\/p>\n<hr \/>\n<h2>\u0645\u0633\u062a\u0648\u0649 \u0627\u0644\u0628\u0646\u0627\u0621 3 \u2014 \u0628\u0646\u0627\u0621\u0627\u062a \u0645\u062d\u0635\u0646\u0629<\/h2>\n<p>L3 \u0647\u0648 \u0627\u0644\u0645\u0639\u064a\u0627\u0631 \u0627\u0644\u0630\u0647\u0628\u064a \u0641\u064a SLSA v1.0. \u064a\u0636\u064a\u0641 <strong>\u0636\u0645\u0627\u0646\u0627\u062a \u0627\u0644\u0639\u0632\u0644<\/strong>: \u0628\u064a\u0626\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0645\u062d\u0635\u0646\u0629 \u0628\u062d\u064a\u062b \u0644\u0627 \u064a\u0645\u0643\u0646 \u062d\u062a\u0649 \u0644\u0633\u0643\u0631\u064a\u0628\u062a \u0628\u0646\u0627\u0621 \u0645\u062e\u062a\u0631\u0642 \u0623\u0648 \u062a\u0628\u0639\u064a\u0629 \u062e\u0628\u064a\u062b\u0629 \u0627\u0644\u0639\u0628\u062b \u0628\u0640 provenance \u0623\u0648 \u0628\u0627\u0644\u0645\u0633\u062a\u0623\u062c\u0631\u064a\u0646 \u0627\u0644\u0622\u062e\u0631\u064a\u0646 \u0639\u0644\u0649 \u0646\u0638\u0627\u0645 \u0627\u0644\u0628\u0646\u0627\u0621.<\/p>\n<h3>\u0627\u0644\u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0628\u0644\u063a\u0629 \u0628\u0633\u064a\u0637\u0629<\/h3>\n<ol>\n<li><strong>\u0645\u0646\u0635\u0629 \u0628\u0646\u0627\u0621 \u0645\u062d\u0635\u0646\u0629<\/strong> \u2014 \u062a\u0648\u0641\u0631 \u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0639\u0632\u0644\u0627\u064b \u0642\u0648\u064a\u0627\u064b \u0628\u064a\u0646 \u0645\u0647\u0627\u0645 \u0627\u0644\u0628\u0646\u0627\u0621 (\u0645\u062b\u0644 \u0623\u062c\u0647\u0632\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0645\u0624\u0642\u062a\u0629\u060c \u0648\u0644\u064a\u0633 \u062d\u0627\u0648\u064a\u0627\u062a \u0645\u0634\u062a\u0631\u0643\u0629). \u0644\u0627 \u064a\u0645\u0643\u0646 \u0644\u0645\u0647\u0645\u0629 \u0648\u0627\u062d\u062f\u0629 \u0627\u0644\u062a\u0623\u062b\u064a\u0631 \u0639\u0644\u0649 \u0623\u062e\u0631\u0649.<\/li>\n<li><strong>Provenance \u063a\u064a\u0631 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u0632\u0648\u064a\u0631<\/strong> \u2014 \u064a\u062a\u0645 \u062a\u0648\u0644\u064a\u062f provenance \u0628\u0637\u0631\u064a\u0642\u0629 \u0644\u0627 \u062a\u0645\u0643\u0646 \u0645\u0647\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0646\u0641\u0633\u0647\u0627 (\u0627\u0644\u0643\u0648\u062f \u0627\u0644\u0645\u0639\u0631\u0641 \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645) \u0645\u0646 \u062a\u0639\u062f\u064a\u0644\u0647 \u0623\u0648 \u062a\u0632\u0648\u064a\u0631\u0647. \u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0623\u0648 \u0647\u0648\u064a\u0629 OIDC \u063a\u064a\u0631 \u0645\u062a\u0627\u062d\u0629 \u0644\u0633\u0643\u0631\u064a\u0628\u062a \u0627\u0644\u0628\u0646\u0627\u0621.<\/li>\n<li><strong>\u0623\u0633\u0631\u0627\u0631 \u0645\u0639\u0632\u0648\u0644\u0629<\/strong> \u2014 \u0645\u0648\u0627\u062f \u0627\u0644\u062a\u0648\u0642\u064a\u0639 (\u0627\u0644\u0645\u0641\u0627\u062a\u064a\u062d\u060c \u0631\u0645\u0648\u0632 OIDC \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645\u0629 \u0644\u0644\u062a\u0648\u0642\u064a\u0639) \u062e\u0627\u0631\u062c \u0633\u064a\u0637\u0631\u0629 \u0627\u0644\u0645\u0633\u062a\u0623\u062c\u0631. \u062d\u062a\u0649 \u0644\u0648 \u062a\u0645 \u0627\u062e\u062a\u0631\u0627\u0642 \u0633\u0643\u0631\u064a\u0628\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0628\u0627\u0644\u0643\u0627\u0645\u0644\u060c \u0644\u0627 \u064a\u0645\u0643\u0646\u0647 \u0625\u0646\u062a\u0627\u062c attestation provenance \u0635\u0627\u0644\u062d \u0644\u0640 artifact \u0644\u0645 \u064a\u0628\u0646\u0647.<\/li>\n<\/ol>\n<h3>\u0642\u0627\u0626\u0645\u0629 \u0627\u0644\u062a\u062d\u0642\u0642<\/h3>\n<ul>\n<li>&#9744; \u0645\u0647\u0627\u0645 \u0627\u0644\u0628\u0646\u0627\u0621 \u062a\u0639\u0645\u0644 \u0641\u064a \u0628\u064a\u0626\u0627\u062a \u0645\u0624\u0642\u062a\u0629 \u0648\u0645\u0639\u0632\u0648\u0644\u0629 (\u0623\u062c\u0647\u0632\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629\u060c \u0648\u0644\u064a\u0633 runners \u0645\u0634\u062a\u0631\u0643\u0629 \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0639\u0645\u0631).<\/li>\n<li>&#9744; \u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u062a\u064f\u062c\u0647\u0632 \u062d\u062f\u064a\u062b\u0627\u064b \u0644\u0643\u0644 \u0639\u0645\u0644\u064a\u0629 \u0628\u0646\u0627\u0621 \u0648\u062a\u064f\u062f\u0645\u0631 \u0628\u0639\u062f\u0647\u0627.<\/li>\n<li>&#9744; \u062e\u0637\u0648\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u0645\u0639\u0631\u0641\u0629 \u0645\u0646 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0627 \u064a\u0645\u0643\u0646\u0647\u0627 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0645\u0641\u062a\u0627\u062d \u0623\u0648 \u0631\u0645\u0632 \u062a\u0648\u0642\u064a\u0639 provenance.<\/li>\n<li>&#9744; \u0627\u0644\u0645\u0646\u0635\u0629 \u062a\u0645\u0646\u0639 \u0628\u0646\u0627\u0621 \u0645\u0633\u062a\u0623\u062c\u0631 \u0645\u0646 \u0627\u0644\u062a\u0623\u062b\u064a\u0631 \u0639\u0644\u0649 \u0628\u0646\u0627\u0621 \u0645\u0633\u062a\u0623\u062c\u0631 \u0622\u062e\u0631.<\/li>\n<li>&#9744; \u064a\u062a\u0645 \u062a\u0648\u0644\u064a\u062f Provenance \u0628\u0648\u0627\u0633\u0637\u0629 \u0627\u0644\u0645\u0646\u0635\u0629 <em>\u0628\u0639\u062f<\/em> \u0627\u0643\u062a\u0645\u0627\u0644 \u0627\u0644\u0628\u0646\u0627\u0621 \u2014 \u0648\u0644\u064a\u0633 \u0623\u062b\u0646\u0627\u0621 \u062a\u0646\u0641\u064a\u0630 \u0643\u0648\u062f \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645.<\/li>\n<li>&#9744; \u062a\u064f\u0633\u062a\u062e\u062f\u0645 \u0639\u0645\u0644\u064a\u0627\u062a \u0628\u0646\u0627\u0621 \u0645\u062d\u0643\u0645\u0629 \u0623\u0648 \u0645\u0639\u0632\u0648\u0644\u0629 \u062d\u064a\u062b\u0645\u0627 \u0623\u0645\u0643\u0646 (\u0628\u062f\u0648\u0646 \u0648\u0635\u0648\u0644 \u0639\u0634\u0648\u0627\u0626\u064a \u0644\u0644\u0634\u0628\u0643\u0629 \u0623\u062b\u0646\u0627\u0621 \u0627\u0644\u0628\u0646\u0627\u0621).<\/li>\n<li>&#9744; \u0647\u0648\u064a\u0629 \u0627\u0644\u0628\u0627\u0646\u064a \u0641\u064a provenance \u0647\u064a \u0642\u064a\u0645\u0629 \u0645\u062d\u0642\u0642\u0629 \u0648\u062a\u062a\u062d\u0643\u0645 \u0641\u064a\u0647\u0627 \u0627\u0644\u0645\u0646\u0635\u0629.<\/li>\n<li>&#9744; \u062a\u062d\u0642\u0642\u062a \u0645\u0646 \u0623\u0646 \u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062a\u0647\u062f\u064a\u062f \u0644\u0645\u0646\u0635\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643 \u064a\u0648\u062b\u0642 \u0643\u064a\u0641 \u062a\u062d\u0642\u0642 \u0639\u0632\u0644 SLSA L3.<\/li>\n<\/ul>\n<h3>\u0627\u0644\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u062d\u0642\u0642 L3<\/h3>\n<ul>\n<li><strong>GitHub Actions (\u0645\u0639 reusable workflows \u0645\u0646 slsa-github-generator)<\/strong> \u2014 \u062a\u0633\u062a\u062e\u062f\u0645 GitHub-hosted runners \u0623\u062c\u0647\u0632\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0645\u0624\u0642\u062a\u0629. \u064a\u0639\u0645\u0644 reusable workflow \u0641\u064a \u0645\u0647\u0645\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0644\u0627 \u064a\u0645\u0643\u0646 \u0644\u0640 workflow \u0627\u0644\u0645\u064f\u0633\u062a\u062f\u0639\u064a \u0627\u0644\u0639\u0628\u062b \u0628\u0647\u0627. \u0647\u0630\u0647 \u0627\u0644\u0628\u0646\u064a\u0629 \u062a\u062d\u0642\u0642 L3 \u0639\u0646\u062f \u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>slsa-github-generator<\/code> \u0627\u0644\u0631\u0633\u0645\u064a.<\/li>\n<li><strong>Google Cloud Build<\/strong> \u2014 \u062a\u0639\u0645\u0644 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621 \u0639\u0644\u0649 \u0623\u062c\u0647\u0632\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0645\u0624\u0642\u062a\u0629 \u0645\u0639 \u062a\u0648\u0642\u064a\u0639 \u0645\u0639\u0632\u0648\u0644. \u062a\u0648\u062b\u0642 Google \u0628\u0634\u0643\u0644 \u0635\u0631\u064a\u062d \u062a\u0648\u0627\u0641\u0642 Cloud Build \u0645\u0639 SLSA L3.<\/li>\n<li><strong>Tekton Chains \u0639\u0644\u0649 Kubernetes \u0645\u062d\u0635\u0646<\/strong> \u2014 \u0639\u0646\u062f\u0645\u0627 \u064a\u0639\u0645\u0644 Tekton \u0639\u0644\u0649 \u0639\u0642\u062f \u0630\u0627\u062a \u0639\u0632\u0644 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 VM (\u0645\u062b\u0644 gVisor \u0623\u0648 Kata Containers) \u0648\u064a\u062a\u0648\u0644\u0649 Chains \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u062e\u0627\u0631\u062c\u064a\u0627\u064b.<\/li>\n<li><strong>Buildkite \u0645\u0639 agents \u0645\u0639\u0632\u0648\u0644\u0629<\/strong> \u2014 \u0639\u0646\u062f\u0645\u0627 \u062a\u0639\u0645\u0644 \u0627\u0644\u0640 agents \u0639\u0644\u0649 \u0628\u0646\u064a\u0629 \u062a\u062d\u062a\u064a\u0629 \u0645\u0624\u0642\u062a\u0629 (\u0645\u062b\u064a\u0644\u0627\u062a EC2 \u0630\u0627\u062a\u064a\u0629 \u0627\u0644\u062a\u0648\u0633\u0639 \u062a\u064f\u0646\u0647\u0649 \u0628\u0639\u062f \u0643\u0644 \u0645\u0647\u0645\u0629).<\/li>\n<\/ul>\n<h3>\u0643\u064a\u0641 \u064a\u0628\u062f\u0648 Provenance \u0641\u064a L3<\/h3>\n<p>\u062a\u0646\u0633\u064a\u0642 \u0645\u0633\u062a\u0646\u062f provenance \u0647\u0648 \u0646\u0641\u0633\u0647 \u0641\u064a L2 \u2014 \u0639\u0628\u0627\u0631\u0629 in-toto \u0645\u063a\u0644\u0641\u0629 \u0641\u064a DSSE envelope. \u0627\u0644\u0641\u0631\u0642 \u0644\u064a\u0633 \u0641\u064a <em>\u0627\u0644\u062a\u0646\u0633\u064a\u0642<\/em> \u0628\u0644 \u0641\u064a <em>\u062e\u0635\u0627\u0626\u0635 \u0627\u0644\u062b\u0642\u0629<\/em> \u0648\u0631\u0627\u0621 \u0627\u0644\u062a\u0648\u0642\u064a\u0639. \u0641\u064a L3:<\/p>\n<ul>\n<li>\u0647\u0648\u064a\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0645\u0631\u062a\u0628\u0637\u0629 \u0628\u0634\u0643\u0644 \u0642\u0627\u0628\u0644 \u0644\u0644\u062a\u062d\u0642\u0642 \u0628\u0645\u0646\u0635\u0629 \u0628\u0646\u0627\u0621 \u0645\u062d\u0635\u0646\u0629.<\/li>\n<li>\u062d\u0642\u0644 <code>builder.id<\/code> \u064a\u0634\u064a\u0631 \u0625\u0644\u0649 \u0628\u0627\u0646\u064a \u0645\u0639\u0631\u0648\u0641 \u0628\u062a\u0644\u0628\u064a\u0629 \u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0639\u0632\u0644 L3.<\/li>\n<li>\u0623\u062f\u0648\u0627\u062a \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u062b\u0644 <code>slsa-verifier<\/code> \u062a\u062a\u062d\u0642\u0642 \u0645\u0646 \u0647\u0648\u064a\u0629 \u0627\u0644\u0628\u0627\u0646\u064a \u0645\u0642\u0627\u0628\u0644 \u0642\u0627\u0626\u0645\u0629 \u0645\u0633\u0645\u0648\u062d\u0629 \u0645\u0646 \u0627\u0644\u0628\u0646\u0627\u0629 \u0627\u0644\u0645\u062a\u0648\u0627\u0641\u0642\u064a\u0646 \u0645\u0639 L3.<\/li>\n<\/ul>\n<pre><code># Verify an artifact at SLSA Build L3\nslsa-verifier verify-artifact my-app-linux-amd64 \\\n  --provenance-path my-app-linux-amd64.intoto.jsonl \\\n  --source-uri github.com\/acme\/my-app \\\n  --builder-id https:\/\/github.com\/slsa-framework\/slsa-github-generator\/.github\/workflows\/generator_generic_slsa3.yml@refs\/tags\/v1.9.0<\/code><\/pre>\n<hr \/>\n<h2>\u062e\u0627\u0631\u0637\u0629 \u0637\u0631\u064a\u0642 \u0627\u0644\u062a\u0628\u0646\u064a \u062e\u0637\u0648\u0629 \u0628\u062e\u0637\u0648\u0629<\/h2>\n<p>\u0644\u0627 \u062a\u062d\u0627\u0648\u0644 \u0627\u0644\u0642\u0641\u0632 \u0645\u0628\u0627\u0634\u0631\u0629 \u0625\u0644\u0649 L3. \u0635\u064f\u0645\u0645 SLSA <strong>\u0644\u0644\u062a\u0628\u0646\u064a \u0627\u0644\u062a\u062f\u0631\u064a\u062c\u064a<\/strong>. \u0625\u0644\u064a\u0643 \u062e\u0627\u0631\u0637\u0629 \u0637\u0631\u064a\u0642 \u0639\u0645\u0644\u064a\u0629.<\/p>\n<h3>\u0627\u0644\u0645\u0631\u062d\u0644\u0629 1: \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 Build L1 (\u0627\u0644\u0623\u0633\u0628\u0648\u0639 1-2)<\/h3>\n<ol>\n<li><strong>\u0631\u0627\u062c\u0639 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621.<\/strong> \u0623\u062f\u0631\u062c \u0643\u0644 artifact \u062a\u0634\u062d\u0646\u0647. \u0643\u064a\u0641 \u064a\u062a\u0645 \u0628\u0646\u0627\u0621 \u0643\u0644 \u0648\u0627\u062d\u062f\u061f \u0639\u0644\u0649 \u062d\u0627\u0633\u0648\u0628 \u0645\u0646\u061f \u0641\u064a \u0623\u064a \u0645\u0647\u0645\u0629 CI\u061f<\/li>\n<li><strong>\u0628\u0631\u0645\u062c \u0643\u0644 \u0634\u064a\u0621.<\/strong> \u0625\u0630\u0627 \u0643\u0627\u0646\u062a \u0623\u064a \u062e\u0637\u0648\u0629 \u0628\u0646\u0627\u0621 \u064a\u062f\u0648\u064a\u0629\u060c \u0627\u0646\u0642\u0644\u0647\u0627 \u0625\u0644\u0649 \u062a\u0643\u0648\u064a\u0646 CI. \u0643\u0644 \u0639\u0645\u0644\u064a\u0629 \u0628\u0646\u0627\u0621 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0642\u0627\u0628\u0644\u0629 \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u0625\u0646\u062a\u0627\u062c \u0645\u0646 \u0623\u0645\u0631 \u0623\u0648 \u0645\u062d\u0641\u0632 \u0648\u0627\u062d\u062f.<\/li>\n<li><strong>\u0623\u0636\u0641 \u062a\u0648\u0644\u064a\u062f provenance.<\/strong> \u0644\u0640 GitHub Actions\u060c \u0623\u0636\u0641 reusable workflow \u0645\u0646 <code>slsa-github-generator<\/code>. \u0644\u0644\u0645\u0646\u0635\u0627\u062a \u0627\u0644\u0623\u062e\u0631\u0649\u060c \u0627\u062f\u0645\u062c \u062a\u0648\u0644\u064a\u062f attestation \u0645\u0646 <code>in-toto<\/code> \u0641\u064a \u062e\u0637 \u0627\u0644\u0623\u0646\u0627\u0628\u064a\u0628 \u0627\u0644\u062e\u0627\u0635 \u0628\u0643.<\/li>\n<li><strong>\u0627\u0646\u0634\u0631 provenance.<\/strong> \u0623\u0631\u0641\u0642 provenance \u0628\u0640 artifacts \u0627\u0644\u0625\u0635\u062f\u0627\u0631. \u0644\u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u060c \u0627\u062f\u0641\u0639\u0647 \u0643\u0640 OCI artifact \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0635\u0648\u0631\u0629. \u0644\u0644\u0645\u0644\u0641\u0627\u062a \u0627\u0644\u062a\u0646\u0641\u064a\u0630\u064a\u0629\u060c \u0627\u0646\u0634\u0631 \u0645\u0644\u0641 <code>.intoto.jsonl<\/code>.<\/li>\n<li><strong>\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0646\u0647 \u064a\u0639\u0645\u0644.<\/strong> \u0627\u0633\u062a\u062e\u062f\u0645 <code>slsa-verifier<\/code> \u0644\u062a\u0623\u0643\u064a\u062f \u0623\u0646 provenance \u0635\u0627\u0644\u062d \u0648\u0623\u0646 \u062a\u062c\u0632\u0626\u0629 artifact \u0645\u062a\u0637\u0627\u0628\u0642\u0629.<\/li>\n<\/ol>\n<h3>\u0627\u0644\u0645\u0631\u062d\u0644\u0629 2: \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 Build L2 (\u0627\u0644\u0623\u0633\u0628\u0648\u0639 3-6)<\/h3>\n<ol>\n<li><strong>\u062a\u062e\u0644\u0635 \u0645\u0646 \u0627\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u0645\u062d\u0644\u064a.<\/strong> \u0641\u0631\u0636 \u0633\u064a\u0627\u0633\u0629: \u0644\u0627 \u064a\u062a\u0645 \u0628\u0646\u0627\u0621 artifacts \u0627\u0644\u0625\u0646\u062a\u0627\u062c \u062e\u0627\u0631\u062c CI. \u0627\u0633\u062a\u062e\u062f\u0645 \u0642\u0648\u0627\u0639\u062f \u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0641\u0631\u0648\u0639 \u0648\u0641\u062d\u0648\u0635\u0627\u062a \u0627\u0644\u062d\u0627\u0644\u0629 \u0627\u0644\u0645\u0637\u0644\u0648\u0628\u0629.<\/li>\n<li><strong>\u0627\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 provenance \u0645\u0648\u0644\u062f \u0645\u0646 \u0627\u0644\u062e\u062f\u0645\u0629.<\/strong> \u0627\u0646\u062a\u0642\u0644 \u0645\u0646 provenance \u0630\u0627\u062a\u064a \u0627\u0644\u062a\u0635\u062f\u064a\u0642 \u0625\u0644\u0649 provenance \u0645\u0648\u0644\u062f \u0645\u0646 \u0627\u0644\u0645\u0646\u0635\u0629. \u0645\u0639 GitHub Actions\u060c \u0647\u0630\u0627 \u064a\u0639\u0646\u064a \u0627\u0633\u062a\u062e\u062f\u0627\u0645 reusable workflow (\u0648\u0644\u064a\u0633 composite action). \u0645\u0639 GCB\u060c \u0641\u0639\u0651\u0644 attestation \u0627\u0644\u0645\u062f\u0645\u062c.<\/li>\n<li><strong>\u0641\u0639\u0651\u0644 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d.<\/strong> \u0627\u0633\u062a\u062e\u062f\u0645 Sigstore Fulcio \u0644\u0634\u0647\u0627\u062f\u0627\u062a \u0642\u0635\u064a\u0631\u0629 \u0627\u0644\u0639\u0645\u0631 \u0645\u0628\u0646\u064a\u0629 \u0639\u0644\u0649 OIDC. \u0647\u0630\u0627 \u064a\u0631\u0628\u0637 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u0647\u0648\u064a\u0629 CI\u060c \u0648\u0644\u064a\u0633 \u0628\u0645\u0641\u062a\u0627\u062d \u0637\u0648\u064a\u0644 \u0627\u0644\u0639\u0645\u0631 \u062a\u062f\u064a\u0631\u0647 \u0623\u0646\u062a.<\/li>\n<li><strong>\u0623\u0636\u0641 \u0627\u0644\u062a\u062d\u0642\u0642 \u0625\u0644\u0649 \u062e\u0637 \u0627\u0644\u0646\u0634\u0631.<\/strong> \u0642\u0628\u0644 \u0627\u0644\u0646\u0634\u0631\u060c \u0634\u063a\u0651\u0644 <code>slsa-verifier<\/code> \u0623\u0648 \u0645\u062d\u0631\u0643 \u0633\u064a\u0627\u0633\u0627\u062a (\u0645\u062b\u0644 <a href=\"https:\/\/kyverno.io\/\" target=\"_blank\" rel=\"noopener\">Kyverno<\/a> \u0623\u0648 <a href=\"https:\/\/open-policy-agent.github.io\/gatekeeper\/\" target=\"_blank\" rel=\"noopener\">OPA Gatekeeper<\/a>) \u0644\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 provenance \u0644\u0643\u0644 artifact \u064a\u062f\u062e\u0644 \u0627\u0644\u0625\u0646\u062a\u0627\u062c.<\/li>\n<\/ol>\n<h3>\u0627\u0644\u0645\u0631\u062d\u0644\u0629 3: \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 Build L3 (\u0627\u0644\u0634\u0647\u0631 2-4)<\/h3>\n<ol>\n<li><strong>\u062a\u062d\u0642\u0642 \u0645\u0646 \u0646\u0645\u0648\u0630\u062c \u0639\u0632\u0644 \u0645\u0646\u0635\u062a\u0643.<\/strong> \u0627\u0642\u0631\u0623 \u0648\u062b\u0627\u0626\u0642 \u0627\u0644\u0623\u0645\u0627\u0646 \u0644\u0645\u0632\u0648\u062f CI \u0627\u0644\u062e\u0627\u0635 \u0628\u0643. \u0647\u0644 \u064a\u0633\u062a\u062e\u062f\u0645 \u0623\u062c\u0647\u0632\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0645\u0624\u0642\u062a\u0629\u061f \u0647\u0644 \u064a\u0645\u0643\u0646 \u0644\u0645\u0647\u0645\u0629 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u0649 \u0628\u064a\u0626\u0629 \u0645\u0647\u0645\u0629 \u0623\u062e\u0631\u0649\u061f \u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0640 GitHub-hosted runners\u060c \u0627\u0644\u0625\u062c\u0627\u0628\u0629 \u0646\u0639\u0645 (\u0645\u0624\u0642\u062a\u0629) \u2014 \u0628\u0627\u0644\u0646\u0633\u0628\u0629 \u0644\u0640 self-hosted runners\u060c \u0633\u062a\u062d\u062a\u0627\u062c \u0639\u0644\u0649 \u0627\u0644\u0623\u0631\u062c\u062d \u0644\u0625\u0639\u0627\u062f\u0629 \u0627\u0644\u062a\u0643\u0648\u064a\u0646.<\/li>\n<li><strong>\u0627\u0646\u062a\u0642\u0644 \u0645\u0646 runners \u0627\u0644\u0645\u0634\u062a\u0631\u0643\u0629 \u0623\u0648 self-hosted<\/strong> (\u0623\u0648 \u062d\u0635\u0651\u0646\u0647\u0627). \u0625\u0630\u0627 \u0643\u0646\u062a \u062a\u0633\u062a\u062e\u062f\u0645 self-hosted GitHub Actions runners\u060c \u0627\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 \u0645\u062b\u064a\u0644\u0627\u062a \u0645\u0624\u0642\u062a\u0629 \u0630\u0627\u062a\u064a\u0629 \u0627\u0644\u062a\u0648\u0633\u0639 (\u0645\u062b\u0644 <a href=\"https:\/\/github.com\/actions\/actions-runner-controller\" target=\"_blank\" rel=\"noopener\">Actions Runner Controller<\/a> \u0645\u0639 pods \u0645\u0624\u0642\u062a\u0629 \u0623\u0648 \u0645\u062c\u0645\u0648\u0639\u0627\u062a \u0627\u0644\u062a\u0648\u0633\u0639 \u0627\u0644\u062a\u0644\u0642\u0627\u0626\u064a \u0641\u064a AWS).<\/li>\n<li><strong>\u0623\u063a\u0644\u0642 \u0645\u0633\u0627\u0631 \u0627\u0644\u062a\u0648\u0642\u064a\u0639.<\/strong> \u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646 \u0645\u0641\u062a\u0627\u062d \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0623\u0648 \u0631\u0645\u0632 OIDC \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645 \u0644\u0640 provenance \u063a\u064a\u0631 \u0645\u062a\u0627\u062d \u0644\u062e\u0637\u0648\u0627\u062a \u0628\u0646\u0627\u0621 \u0627\u0644\u0645\u0633\u062a\u062e\u062f\u0645. \u0645\u0639 reusable workflows \u0645\u0646 <code>slsa-github-generator<\/code>\u060c \u064a\u062a\u0645 \u0641\u0631\u0636 \u0647\u0630\u0627 \u0628\u0627\u0644\u062a\u0635\u0645\u064a\u0645.<\/li>\n<li><strong>\u0648\u062b\u0651\u0642 \u0646\u0645\u0648\u0630\u062c \u0627\u0644\u062a\u0647\u062f\u064a\u062f \u0627\u0644\u062e\u0627\u0635 \u0628\u0643.<\/strong> \u0627\u0643\u062a\u0628 \u0645\u0627 \u062a\u062d\u0645\u064a \u0645\u0646\u0647 \u0645\u0646\u0635\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0648\u0645\u0627 \u0644\u0627 \u062a\u062d\u0645\u064a \u0645\u0646\u0647. \u0634\u0627\u0631\u0643\u0647 \u0645\u0639 \u0641\u0631\u064a\u0642 \u0627\u0644\u0623\u0645\u0627\u0646 \u0644\u0644\u0645\u0631\u0627\u062c\u0639\u0629.<\/li>\n<\/ol>\n<hr \/>\n<h2>\u0627\u0644\u0623\u062e\u0637\u0627\u0621 \u0627\u0644\u0634\u0627\u0626\u0639\u0629<\/h2>\n<p>\u062d\u062a\u0649 \u0627\u0644\u0641\u0631\u0642 \u062d\u0633\u0646\u0629 \u0627\u0644\u0646\u064a\u0629 \u062a\u062a\u0639\u062b\u0631 \u0641\u064a \u0647\u0630\u0647 \u0627\u0644\u0645\u0634\u0643\u0644\u0627\u062a. \u062a\u062c\u0646\u0628\u0647\u0627 \u0645\u0628\u0643\u0631\u0627\u064b.<\/p>\n<ul>\n<li><strong>\u0627\u0633\u062a\u062e\u062f\u0627\u0645 composite action \u0628\u062f\u0644\u0627\u064b \u0645\u0646 reusable workflow \u0639\u0644\u0649 GitHub.<\/strong> \u064a\u0639\u0645\u0644 composite action <em>\u062f\u0627\u062e\u0644<\/em> \u0645\u0647\u0645\u0629 \u0627\u0644\u0645\u064f\u0633\u062a\u062f\u0639\u064a\u060c \u0645\u0645\u0627 \u064a\u0639\u0646\u064a \u0623\u0646 \u0627\u0644\u0645\u064f\u0633\u062a\u062f\u0639\u064a \u064a\u0645\u0643\u0646\u0647 \u0627\u0644\u0639\u0628\u062b \u0628\u062a\u0648\u0644\u064a\u062f provenance. \u0641\u0642\u0637 reusable workflow \u064a\u0639\u0645\u0644 \u0641\u064a \u0645\u0647\u0645\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0648\u0645\u0639\u0632\u0648\u0644\u0629. \u0647\u0630\u0627 \u0647\u0648 \u0627\u0644\u0641\u0631\u0642 \u0628\u064a\u0646 L1 \u0648 L2+ \u0639\u0644\u0649 GitHub Actions.<\/li>\n<li><strong>\u0627\u0644\u062a\u0639\u0627\u0645\u0644 \u0645\u0639 provenance \u0643\u062e\u0627\u0646\u0629 \u0627\u062e\u062a\u064a\u0627\u0631.<\/strong> \u062a\u0648\u0644\u064a\u062f provenance \u0644\u0627 \u064a\u0639\u0646\u064a \u0634\u064a\u0626\u0627\u064b \u0625\u0630\u0627 \u0644\u0645 \u064a\u062a\u062d\u0642\u0642 \u0645\u0646\u0647 \u0623\u062d\u062f. \u0623\u0646\u0634\u0626 \u062a\u062d\u0642\u0642\u0627\u064b \u0622\u0644\u064a\u0627\u064b \u0641\u064a \u062e\u0637 \u0627\u0644\u0646\u0634\u0631 \u2014 \u0648\u0644\u064a\u0633 \u0641\u0642\u0637 \u0641\u064a \u062a\u0642\u0631\u064a\u0631 \u062a\u062f\u0642\u064a\u0642.<\/li>\n<li><strong>\u062a\u062e\u0632\u064a\u0646 \u0645\u0641\u0627\u062a\u064a\u062d \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0641\u064a \u0627\u0644\u0645\u0633\u062a\u0648\u062f\u0639 \u0623\u0648 \u0645\u062a\u063a\u064a\u0631\u0627\u062a \u0628\u064a\u0626\u0629 CI.<\/strong> \u0647\u0630\u0627 \u064a\u0628\u0637\u0644 \u0627\u0644\u063a\u0631\u0636. \u0627\u0633\u062a\u062e\u062f\u0645 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0628\u062f\u0648\u0646 \u0645\u0641\u0627\u062a\u064a\u062d (Sigstore) \u0623\u0648 KMS \u062e\u0627\u0631\u062c\u064a. \u0644\u0627 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0643\u0648\u0646 \u0647\u0648\u064a\u0629 \u0627\u0644\u062a\u0648\u0642\u064a\u0639 \u0645\u062a\u0627\u062d\u0629 \u0644\u0633\u0643\u0631\u064a\u0628\u062a \u0627\u0644\u0628\u0646\u0627\u0621.<\/li>\n<li><strong>\u062a\u062c\u0627\u0647\u0644 self-hosted runners.<\/strong> \u063a\u0627\u0644\u0628\u0627\u064b \u0645\u0627 \u062a\u0643\u0648\u0646 self-hosted runners \u0623\u062c\u0647\u0632\u0629 \u0627\u0641\u062a\u0631\u0627\u0636\u064a\u0629 \u0637\u0648\u064a\u0644\u0629 \u0627\u0644\u0639\u0645\u0631 \u0645\u0634\u062a\u0631\u0643\u0629 \u0628\u064a\u0646 \u0627\u0644\u0645\u0647\u0627\u0645. \u0647\u0630\u0627 \u064a\u0643\u0633\u0631 \u0639\u0632\u0644 L3. \u0625\u0645\u0627 \u0627\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 runners \u0645\u0624\u0642\u062a\u0629 \u0623\u0648 \u0627\u0633\u062a\u062e\u062f\u0645 \u0639\u0632\u0644 \u0639\u0644\u0649 \u0645\u0633\u062a\u0648\u0649 VM.<\/li>\n<li><strong>\u062a\u062e\u0637\u064a \u0627\u0644\u062a\u062d\u0642\u0642 \u0645\u0646 \u0627\u0644\u0645\u0635\u062f\u0631.<\/strong> \u064a\u0631\u0643\u0632 SLSA Build Track \u0639\u0644\u0649 \u0627\u0644\u0628\u0646\u0627\u0621. \u0644\u0643\u0646 \u0625\u0630\u0627 \u062a\u0645\u0643\u0646 \u0645\u0647\u0627\u062c\u0645 \u0645\u0646 \u062f\u0641\u0639 \u0643\u0648\u062f \u062e\u0628\u064a\u062b \u0625\u0644\u0649 \u0645\u0633\u062a\u0648\u062f\u0639\u0643\u060c \u0641\u0625\u0646 \u0628\u0646\u0627\u0621 \u0645\u062a\u0648\u0627\u0641\u0642 \u062a\u0645\u0627\u0645\u0627\u064b \u064a\u0646\u062a\u062c \u0641\u0642\u0637 artifact \u0645\u0639\u062f\u0644 \u0645\u0639 provenance \u0635\u0627\u0644\u062d. \u0627\u0642\u0631\u0646 SLSA \u0628\u0636\u0648\u0627\u0628\u0637 \u0645\u0635\u062f\u0631 \u0642\u0648\u064a\u0629 (\u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0641\u0631\u0648\u0639\u060c \u0645\u0631\u0627\u062c\u0639\u0629 \u0627\u0644\u0643\u0648\u062f\u060c \u062a\u0648\u0642\u064a\u0639 commits).<\/li>\n<\/ul>\n<hr \/>\n<h2>\u0627\u0644\u0623\u0633\u0626\u0644\u0629 \u0627\u0644\u0634\u0627\u0626\u0639\u0629<\/h2>\n<h3>\u0647\u0644 SLSA \u0641\u0642\u0637 \u0644\u0635\u0648\u0631 \u0627\u0644\u062d\u0627\u0648\u064a\u0627\u062a\u061f<\/h3>\n<p>\u0644\u0627. \u064a\u0646\u0637\u0628\u0642 SLSA \u0639\u0644\u0649 <em>\u0623\u064a<\/em> artifact \u0628\u0631\u0645\u062c\u064a \u2014 \u0645\u0644\u0641\u0627\u062a \u062a\u0646\u0641\u064a\u0630\u064a\u0629\u060c \u062d\u0632\u0645 npm\u060c Python wheels\u060c Helm charts\u060c \u0648\u062d\u062f\u0627\u062a Terraform\u060c \u0648\u0627\u0644\u0645\u0632\u064a\u062f. \u062a\u0646\u0633\u064a\u0642 provenance (in-toto) \u0644\u0627 \u064a\u0639\u062a\u0645\u062f \u0639\u0644\u0649 \u0646\u0648\u0639 \u0627\u0644\u0640 artifact.<\/p>\n<h3>\u0647\u0644 \u064a\u062d\u0644 SLSA \u0645\u062d\u0644 SBOM\u061f<\/h3>\n<p>\u0644\u0627. \u0647\u0645\u0627 \u0645\u062a\u0643\u0627\u0645\u0644\u0627\u0646. \u064a\u062e\u0628\u0631\u0643 <strong>SBOM<\/strong> (Software Bill of Materials) <em>\u0628\u0645\u0627 \u064a\u062d\u062a\u0648\u064a\u0647<\/em> \u0627\u0644\u0640 artifact. \u064a\u062e\u0628\u0631\u0643 <strong>SLSA provenance<\/strong> <em>\u0643\u064a\u0641 \u062a\u0645 \u0628\u0646\u0627\u0624\u0647<\/em> \u0648<em>\u0645\u0646 \u0623\u064a\u0646 \u062c\u0627\u0621<\/em>. \u0627\u0633\u062a\u062e\u062f\u0645\u0647\u0645\u0627 \u0645\u0639\u0627\u064b \u0644\u0631\u0624\u064a\u0629 \u0634\u0627\u0645\u0644\u0629 \u0644\u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u0631\u064a\u062f.<\/p>\n<h3>\u0647\u0644 \u0623\u062d\u062a\u0627\u062c L3 \u0644\u0623\u0643\u0648\u0646 &#8220;\u0645\u062a\u0648\u0627\u0641\u0642\u0627\u064b&#8221;\u061f<\/h3>\n<p>\u0644\u064a\u0633 \u0628\u0627\u0644\u0636\u0631\u0648\u0631\u0629. SLSA \u0647\u0648 \u0625\u0637\u0627\u0631 \u0646\u0636\u062c\u060c \u0648\u0644\u064a\u0633 \u0644\u0627\u0626\u062d\u0629 \u0646\u062c\u0627\u062d\/\u0631\u0633\u0648\u0628. L1 \u0647\u0648 \u0628\u0627\u0644\u0641\u0639\u0644 \u062a\u062d\u0633\u064a\u0646 \u0630\u0648 \u0645\u0639\u0646\u0649 \u0645\u0642\u0627\u0631\u0646\u0629 \u0628\u0640 L0. \u062a\u0633\u062a\u0647\u062f\u0641 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0627\u0644\u0645\u0624\u0633\u0633\u0627\u062a L2 \u0643\u0646\u0642\u0637\u0629 \u062a\u0648\u0627\u0632\u0646 \u0639\u0645\u0644\u064a\u0629. L3 \u0645\u062e\u0635\u0635 \u0644\u0628\u064a\u0626\u0627\u062a \u0627\u0644\u0623\u0645\u0627\u0646 \u0627\u0644\u0639\u0627\u0644\u064a \u0623\u0648 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 \u0630\u0627\u062a \u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u0631\u064a\u062f \u0627\u0644\u0635\u0627\u0631\u0645\u0629 (\u0645\u062b\u0644 \u0627\u0644\u062d\u0643\u0648\u0645\u0629\u060c \u0627\u0644\u0628\u0646\u064a\u0629 \u0627\u0644\u062a\u062d\u062a\u064a\u0629 \u0627\u0644\u062d\u0631\u062c\u0629).<\/p>\n<h3>\u0643\u064a\u0641 \u064a\u0631\u062a\u0628\u0637 SLSA \u0628\u0640 NIST SSDF \u0623\u0648 EO 14028\u061f<\/h3>\n<p>\u064a\u062f\u0639\u0648 \u0643\u0644 \u0645\u0646 Executive Order 14028 \u0648\u0625\u0637\u0627\u0631 \u062a\u0637\u0648\u064a\u0631 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a \u0627\u0644\u0622\u0645\u0646 \u0645\u0646 NIST (SSDF) \u0625\u0644\u0649 \u0645\u0645\u0627\u0631\u0633\u0627\u062a \u0623\u0645\u0646 \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u0631\u064a\u062f \u0627\u0644\u062a\u064a \u064a\u062f\u0639\u0645\u0647\u0627 SLSA \u0645\u0628\u0627\u0634\u0631\u0629. \u064a\u0639\u062f provenance \u0648\u0633\u0644\u0627\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u0641\u064a SLSA \u062a\u0637\u0628\u064a\u0642\u0627\u062a \u0639\u0645\u0644\u064a\u0629 \u0644\u0645\u0645\u0627\u0631\u0633\u0627\u062a SSDF \u0645\u062b\u0644 PS.1 (\u062d\u0645\u0627\u064a\u0629 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a) \u0648 PW.4 (\u0623\u0631\u0634\u0641\u0629 \u0648\u062d\u0645\u0627\u064a\u0629 \u0639\u0645\u0644\u064a\u0627\u062a \u0627\u0644\u0628\u0646\u0627\u0621). \u064a\u0633\u0627\u0639\u062f\u0643 \u062a\u0628\u0646\u064a SLSA \u0641\u064a \u062a\u062d\u0642\u064a\u0642 \u0627\u0644\u0639\u062f\u064a\u062f \u0645\u0646 \u0645\u062a\u0637\u0644\u0628\u0627\u062a \u0647\u0630\u0647 \u0627\u0644\u0623\u0637\u0631.<\/p>\n<h3>\u0645\u0627\u0630\u0627 \u0644\u0648 \u0643\u0627\u0646\u062a \u0645\u0646\u0635\u0629 CI \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u064a \u0644\u0627 \u062a\u062f\u0639\u0645 SLSA \u0628\u0634\u0643\u0644 \u0623\u0635\u0644\u064a\u061f<\/h3>\n<p>\u0644\u0627 \u064a\u0632\u0627\u0644 \u0628\u0625\u0645\u0643\u0627\u0646\u0643 \u062a\u0648\u0644\u064a\u062f provenance \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <a href=\"https:\/\/in-toto.io\/\" target=\"_blank\" rel=\"noopener\">\u0645\u0643\u062a\u0628\u0627\u062a in-toto<\/a> \u0648\u062a\u0648\u0642\u064a\u0639\u0647 \u0628\u0640 <a href=\"https:\/\/www.sigstore.dev\/\" target=\"_blank\" rel=\"noopener\">Sigstore<\/a>. \u0647\u0630\u0627 \u064a\u0648\u0635\u0644\u0643 \u0625\u0644\u0649 L1. \u0644\u0640 L2+\u060c \u0633\u062a\u062d\u062a\u0627\u062c \u0639\u0644\u0649 \u0627\u0644\u0623\u0631\u062c\u062d \u0644\u0625\u0636\u0627\u0641\u0629 \u062e\u0637\u0648\u0629 \u062a\u0648\u0644\u064a\u062f provenance \u062a\u0639\u0645\u0644 \u0641\u064a \u0645\u0647\u0645\u0629 \u0623\u0648 \u062e\u062f\u0645\u0629 \u0645\u0646\u0641\u0635\u0644\u0629 \u0648\u0645\u0648\u062b\u0648\u0642\u0629 \u0644\u0627 \u064a\u0645\u0643\u0646 \u0644\u0644\u0628\u0646\u0627\u0621 \u0627\u0644\u0631\u0626\u064a\u0633\u064a \u0627\u0644\u0639\u0628\u062b \u0628\u0647\u0627.<\/p>\n<hr \/>\n<h2>\u0645\u0631\u0627\u062c\u0639 \u0648\u0645\u0648\u0627\u0631\u062f \u0625\u0636\u0627\u0641\u064a\u0629<\/h2>\n<ul>\n<li><strong>\u0645\u0648\u0627\u0635\u0641\u0629 SLSA \u0627\u0644\u0631\u0633\u0645\u064a\u0629:<\/strong> <a href=\"https:\/\/slsa.dev\/spec\/v1.0\/\" target=\"_blank\" rel=\"noopener\">slsa.dev\/spec\/v1.0<\/a><\/li>\n<li><strong>\u062a\u0646\u0633\u064a\u0642 SLSA Provenance:<\/strong> <a href=\"https:\/\/slsa.dev\/provenance\/v1\" target=\"_blank\" rel=\"noopener\">slsa.dev\/provenance\/v1<\/a><\/li>\n<li><strong>slsa-github-generator:<\/strong> <a href=\"https:\/\/github.com\/slsa-framework\/slsa-github-generator\" target=\"_blank\" rel=\"noopener\">\u0645\u0633\u062a\u0648\u062f\u0639 GitHub<\/a><\/li>\n<li><strong>slsa-verifier:<\/strong> <a href=\"https:\/\/github.com\/slsa-framework\/slsa-verifier\" target=\"_blank\" rel=\"noopener\">\u0645\u0633\u062a\u0648\u062f\u0639 GitHub<\/a><\/li>\n<li><strong>Sigstore:<\/strong> <a href=\"https:\/\/www.sigstore.dev\/\" target=\"_blank\" rel=\"noopener\">sigstore.dev<\/a><\/li>\n<li><strong>in-toto:<\/strong> <a href=\"https:\/\/in-toto.io\/\" target=\"_blank\" rel=\"noopener\">in-toto.io<\/a><\/li>\n<li><strong>\u062f\u0644\u064a\u0644\u0646\u0627 \u0644\u0640 SLSA Provenance:<\/strong> <a href=\"\/ar\/ci-cd-security\/artifact-provenance-attestations-slsa-in-toto\/\">\u062a\u0639\u0645\u0642 \u0641\u064a SLSA Provenance<\/a><\/li>\n<li><strong>\u0645\u062e\u062a\u0628\u0631 \u0639\u0645\u0644\u064a:<\/strong> <a href=\"\/ar\/ci-cd-security\/lab-generating-verifying-slsa-provenance-container-images\/\">\u0645\u062e\u062a\u0628\u0631 SLSA Provenance \u2014 \u0648\u0644\u0651\u062f \u0648\u062a\u062d\u0642\u0642 \u0645\u0646 \u0623\u0648\u0644 attestation \u0644\u0643<\/a><\/li>\n<\/ul>\n<hr \/>\n<h2>\u0627\u0644\u062e\u0627\u062a\u0645\u0629: \u0627\u0628\u062f\u0623 \u0645\u0646 L1\u060c \u0648\u0627\u0646\u0634\u0631 \u064a\u0648\u0645 \u0627\u0644\u0625\u062b\u0646\u064a\u0646<\/h2>\n<p>SLSA \u0644\u064a\u0633 \u0625\u0637\u0627\u0631\u0627\u064b \u064a\u0639\u0645\u0644 \u0628\u0645\u0628\u062f\u0623 \u0627\u0644\u0643\u0644 \u0623\u0648 \u0644\u0627 \u0634\u064a\u0621. \u0627\u0644\u0647\u062f\u0641 \u0627\u0644\u0643\u0627\u0645\u0644 \u0645\u0646 \u0646\u0638\u0627\u0645 \u0627\u0644\u0645\u0633\u062a\u0648\u064a\u0627\u062a \u0647\u0648 \u0623\u0646\u0643 \u062a\u0633\u062a\u0637\u064a\u0639 <strong>\u0627\u0644\u0628\u062f\u0621 \u0635\u063a\u064a\u0631\u0627\u064b \u0648\u0627\u0644\u062a\u062d\u0633\u0646 \u062a\u062f\u0631\u064a\u062c\u064a\u0627\u064b<\/strong>.<\/p>\n<p>\u0625\u0644\u064a\u0643 \u062e\u0637\u0629 \u0639\u0645\u0644 \u0635\u0628\u0627\u062d \u064a\u0648\u0645 \u0627\u0644\u0625\u062b\u0646\u064a\u0646:<\/p>\n<ol>\n<li><strong>\u0627\u062e\u062a\u0631 artifact \u0648\u0627\u062d\u062f<\/strong> \u2014 \u0623\u0647\u0645 \u0645\u0644\u0641 \u062a\u0646\u0641\u064a\u0630\u064a \u0623\u0648 \u0635\u0648\u0631\u0629 \u062d\u0627\u0648\u064a\u0629 \u0644\u062f\u064a\u0643.<\/li>\n<li><strong>\u0623\u0636\u0641 \u062a\u0648\u0644\u064a\u062f provenance<\/strong> \u0625\u0644\u0649 \u062e\u0637 CI \u0627\u0644\u062e\u0627\u0635 \u0628\u0647 \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>slsa-github-generator<\/code> \u0623\u0648 \u0645\u0627 \u064a\u0639\u0627\u062f\u0644\u0647 \u0639\u0644\u0649 \u0645\u0646\u0635\u062a\u0643.<\/li>\n<li><strong>\u0627\u0646\u0634\u0631 provenance<\/strong> \u0628\u062c\u0627\u0646\u0628 \u0627\u0644\u0640 artifact.<\/li>\n<li><strong>\u062a\u062d\u0642\u0642 \u0645\u0646\u0647<\/strong> \u0628\u0627\u0633\u062a\u062e\u062f\u0627\u0645 <code>slsa-verifier<\/code>.<\/li>\n<li><strong>\u0627\u062d\u062a\u0641\u0644.<\/strong> \u0623\u0646\u062a \u0627\u0644\u0622\u0646 \u0641\u064a SLSA Build L1 \u2014 \u0645\u062a\u0642\u062f\u0645 \u0639\u0644\u0649 \u0627\u0644\u063a\u0627\u0644\u0628\u064a\u0629 \u0627\u0644\u0639\u0638\u0645\u0649 \u0645\u0646 \u0627\u0644\u0645\u0634\u0627\u0631\u064a\u0639 \u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0629.<\/li>\n<\/ol>\n<p>\u062b\u0645 \u0643\u0631\u0631. \u0627\u0646\u062a\u0642\u0644 \u0625\u0644\u0649 L2 \u0628\u0627\u0644\u062a\u0623\u0643\u062f \u0645\u0646 \u0623\u0646 \u062e\u062f\u0645\u0629 \u0627\u0644\u0628\u0646\u0627\u0621 \u062a\u0648\u0642\u0639 provenance. \u062d\u0635\u0651\u0646 \u0627\u0644\u0640 runners \u0627\u0644\u062e\u0627\u0635\u0629 \u0628\u0643 \u0644\u0640 L3. \u0643\u0644 \u062e\u0637\u0648\u0629 \u062a\u0642\u0644\u0644 \u0628\u0634\u0643\u0644 \u0645\u0644\u0645\u0648\u0633 \u0645\u0646 \u0645\u062e\u0627\u0637\u0631 \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u0631\u064a\u062f.<\/p>\n<p>\u0647\u062c\u0645\u0627\u062a \u0633\u0644\u0633\u0644\u0629 \u0627\u0644\u062a\u0648\u0631\u064a\u062f \u0633\u062a\u0633\u062a\u0645\u0631 \u0641\u064a \u0627\u0644\u0642\u062f\u0648\u0645. \u0627\u0644\u0633\u0624\u0627\u0644 \u0644\u064a\u0633 <em>\u0647\u0644<\/em> \u062a\u062a\u0628\u0646\u0649 SLSA \u2014 \u0628\u0644 <em>\u0643\u0645 \u0628\u0633\u0631\u0639\u0629<\/em> \u064a\u0645\u0643\u0646\u0643 \u0627\u0644\u0648\u0635\u0648\u0644 \u0625\u0644\u064a\u0647. \u0627\u0628\u062f\u0623 \u0627\u0644\u064a\u0648\u0645.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u0645\u0642\u062f\u0645\u0629: \u0645\u0627 \u0647\u0648 SLSA \u0648\u0644\u0645\u0627\u0630\u0627 \u064a\u062c\u0628 \u0623\u0646 \u062a\u0647\u062a\u0645\u061f Supply-chain Levels for Software Artifacts \u2014 SLSA (\u064a\u064f\u0646\u0637\u0642 &#8220;salsa&#8221;) \u2014 \u0647\u0648 \u0625\u0637\u0627\u0631 \u0623\u0645\u0646\u064a \u0623\u0646\u0634\u0623\u062a\u0647 Google \u0648\u062a\u062a\u0648\u0644\u0649 \u0635\u064a\u0627\u0646\u062a\u0647 \u0627\u0644\u0622\u0646 \u0645\u0624\u0633\u0633\u0629 Open Source Security Foundation (OpenSSF). \u0647\u062f\u0641\u0647 \u0628\u0633\u064a\u0637 \u0641\u064a \u0638\u0627\u0647\u0631\u0647: \u062c\u0639\u0644 \u0627\u0644\u0639\u0628\u062b \u0628\u0627\u0644\u0628\u0631\u0645\u062c\u064a\u0627\u062a \u0627\u0644\u062a\u064a \u062a\u0628\u0646\u064a\u0647\u0627 \u0648\u062a\u0646\u0634\u0631\u0647\u0627 \u0623\u0643\u062b\u0631 \u0635\u0639\u0648\u0628\u0629 \u0639\u0644\u0649 \u0627\u0644\u0645\u0647\u0627\u062c\u0645\u064a\u0646. \u0625\u0630\u0627 \u062a\u0627\u0628\u0639\u062a \u0627\u0644\u062d\u0648\u0627\u062f\u062b \u0627\u0644\u0628\u0627\u0631\u0632\u0629 \u0645\u062b\u0644 SolarWinds \u0623\u0648 Codecov \u0623\u0648 &#8230; <a title=\"\u0634\u0631\u062d \u0645\u0633\u062a\u0648\u064a\u0627\u062a SLSA: \u0642\u0627\u0626\u0645\u0629 \u062a\u062d\u0642\u0642 \u0639\u0645\u0644\u064a\u0629 \u0644\u0644\u0627\u0645\u062a\u062b\u0627\u0644 \u0644\u0641\u0631\u0642 \u0627\u0644\u0647\u0646\u062f\u0633\u0629\" class=\"read-more\" href=\"https:\/\/secure-pipelines.com\/ar\/ci-cd-security\/slsa-levels-explained-practical-compliance-checklist\/\" aria-label=\"Read more about \u0634\u0631\u062d \u0645\u0633\u062a\u0648\u064a\u0627\u062a SLSA: \u0642\u0627\u0626\u0645\u0629 \u062a\u062d\u0642\u0642 \u0639\u0645\u0644\u064a\u0629 \u0644\u0644\u0627\u0645\u062a\u062b\u0627\u0644 \u0644\u0641\u0631\u0642 \u0627\u0644\u0647\u0646\u062f\u0633\u0629\">\u0627\u0642\u0631\u0623 \u0627\u0644\u0645\u0632\u064a\u062f<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26,27],"tags":[],"post_folder":[],"class_list":["post-799","post","type-post","status-publish","format-standard","hentry","category-ci-cd-security","category-software-supply-chain"],"_links":{"self":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/posts\/799","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/comments?post=799"}],"version-history":[{"count":0,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/posts\/799\/revisions"}],"wp:attachment":[{"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/media?parent=799"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/categories?post=799"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/tags?post=799"},{"taxonomy":"post_folder","embeddable":true,"href":"https:\/\/secure-pipelines.com\/ar\/wp-json\/wp\/v2\/post_folder?post=799"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}