{"meta":{"title":"Сведения о безопасности цепочки поставок","intro":"GitHub Это помогает защитить вашу цепочку поставок — от понимания зависимостей в вашей среде до изучения уязвимостей в этих зависимостей и их исправления.","product":"Безопасность и качество кода","breadcrumbs":[{"href":"/ru/enterprise-cloud@latest/code-security","title":"Безопасность и качество кода"},{"href":"/ru/enterprise-cloud@latest/code-security/concepts","title":"Concepts"},{"href":"/ru/enterprise-cloud@latest/code-security/concepts/supply-chain-security","title":"Безопасность цепочки поставок"},{"href":"/ru/enterprise-cloud@latest/code-security/concepts/supply-chain-security/about-supply-chain-security","title":"Особенности цепочки поставок"}],"documentType":"article"},"body":"# Сведения о безопасности цепочки поставок\n\nGitHub Это помогает защитить вашу цепочку поставок — от понимания зависимостей в вашей среде до изучения уязвимостей в этих зависимостей и их исправления.\n\n## Сведения о безопасности цепочки поставок на GitHub\n\nПри разработке проекта программного обеспечения, скорее всего, вы используете другое программное обеспечение для создания и запуска приложения, таких как библиотеки с открытым кодом, платформы или другие средства. Эти ресурсы совместно называются \"зависимостями\", так как проект зависит от них для правильной работы. Проект может полагаться на сотни этих зависимостей, формируя то, что называется вашей \"цепочкой поставок\".\n\nЦепочка поставок может представлять проблему безопасности. Если у одной из зависимостей есть известная слабость системы безопасности или ошибка, злоумышленники могут использовать эту уязвимость, например вставлять вредоносный код (\"вредоносные программы\"), украсть конфиденциальные данные или вызвать другой тип нарушений в проекте. Этот тип угрозы называется \"атакой цепочки поставок\". Наличие уязвимых зависимостей в цепочке поставок компрометирует безопасность собственного проекта, и вы также рискуете у пользователей.\n\nОдной из наиболее важных вещей, которые можно сделать для защиты цепочки поставок, заключается в исправлении уязвимых зависимостей и замене любых вредоносных программ.\n\nВы добавляете зависимости непосредственно в цепочку поставок, когда указываете их в файле манифеста или файле блокировки. Зависимости также могут быть включены транзитивно, то есть, даже если вы не указываете конкретную зависимость, но ваша зависимость использует ее, вы также зависите от этой зависимости.\n\n```\n          GitHub предлагает ряд функций, которые помогут вам понять зависимости в вашей среде, узнать о уязвимостях в этих зависимостях и исправить их.\n```\n\nОсобенности GitHub цепочки поставок включают:\n\n* **Граф зависимостей**\n* **Проверка зависимостей**\n* **Dependabot alerts**\n  * **Dependabot malware alerts**\n* **Dependabot updates**\n  * **Dependabot security updates**\n  * **Dependabot version updates**\n* **Неизменные релизы**\n* **Подтверждение артефактов**\n\nГраф зависимостей занимает центральное место в обеспечении безопасности цепочки поставок. Граф зависимостей определяет все вышестоящие зависимости и общедоступные нижестоящие зависимости репозитория или пакета. Граф зависимостей репозитория отслеживает и отображает свои зависимости и некоторые их свойства, такие как сведения об уязвимостях.\n\nСледующие характеристики цепочки поставок зависят GitHub от информации, предоставленной графом зависимостей.\n\n* Проверка зависимостей использует граф зависимостей для определения изменений зависимостей и помогает понять влияние этих изменений на безопасность при проверке запросов на вытягивание.\n* Dependabot Сверяет данные зависимостей, предоставленные графом зависимостей, со списком рекомендаций, опубликованным в GitHub Advisory Database, сканирует ваши зависимости и генерирует Dependabot alerts , когда обнаруживается потенциальная уязвимость.\n* Dependabot security updates Используйте граф зависимостей, чтобы Dependabot alerts обновлять зависимости с известными уязвимостями в вашем репозитории.\n\n  ```\n          Dependabot version updates Не используйте граф зависимостей, а полагайтесь на семантическую версию зависимостей. \n          Dependabot version updates Помогают вам обновлять зависимости, даже если у них нет уязвимостей.\n  ```\n\nРекомендации по обеспечению безопасности сквозной цепочки поставок, включая защиту личная учетная запись, кода и процессов сборки, см. в разделе [Защита сквозной цепочки поставок](/ru/enterprise-cloud@latest/code-security/supply-chain-security/end-to-end-supply-chain/end-to-end-supply-chain-overview).\n\n## Обзор возможностей\n\n### Что такое схема зависимостей?\n\nДля создания графа зависимостей рассматривается GitHub явные зависимости репозитория, объявленные в манифесте и файлах блокировки. Если этот параметр включен, граф зависимостей автоматически анализирует все известные файлы манифеста пакетов в репозитории и использует их для построения графа с известными именами и версиями зависимостей.\n\n* Граф зависимостей содержит сведения о ваших *прямых* и *транзитивных* зависимостях.\n* Граф зависимостей автоматически обновляется, когда вы отправляете коммит, GitHub который меняет или добавляет поддерживаемый манифест или файл блокировки в стандартную ветку, а также когда кто-то отправляет изменение в репозиторий одной из ваших зависимостей.\n* Граф зависимостей также может включать информацию, которую вы предоставляете по мере построения проекта с использованием GitHub Actions. Некоторые экосистемы пакетов извлекают большую часть их транзитивных зависимостей во время сборки, поэтому отправка сведений о зависимостях, так как сборка происходит, обеспечивает более полное представление цепочки поставок.\n* Вы можете увидеть граф зависимостей, открыв главную страницу репозитория на GitHub, и перейдя на **вкладку Insights** .\n* Если у вас есть по крайней мере доступ на чтение к репозиторию, вы можете экспортировать граф зависимостей для репозитория в качестве совместимого с SPDX программного обеспечения, счета за материалы (SBOM) с помощью пользовательского интерфейса GitHub или GitHub REST API. Дополнительные сведения см. в разделе [Экспорт программного счета за материалы для репозитория](/ru/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/exporting-a-software-bill-of-materials-for-your-repository).\n\nВы можете использовать API отправки зависимостей для отправки зависимостей из выбранного менеджера пакетов или экосистемы, даже если экосистема не поддерживается графом зависимостей для анализа манифеста или блокировки файлов.\nЗависимости, отправленные в проект с помощью API отправки зависимостей показывают, какой детектор использовался для их отправки и когда они были отправлены. Дополнительные сведения о API отправки зависимостейсм. в разделе [Использование API отправки зависимостей](/ru/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/using-the-dependency-submission-api).\n\nДополнительные сведения о граф зависимостей см. в разделе [Сведения о графе зависимостей](/ru/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/about-the-dependency-graph).\n\n### Что такое проверка зависимостей?\n\nПроверка зависимостей помогает рецензентам и участникам разобраться в изменениях зависимостей и понять их влияние на безопасность в каждом запросе на вытягивание.\n\n* Проверка зависимостей сообщает, какие зависимости были добавлены, удалены или обновлены в запросе на вытягивание. Вы можете использовать даты выпуска, популярность зависимостей и сведения об уязвимостях, чтобы решить, следует ли принять изменение.\n* Чтобы просмотреть проверку зависимостей для запроса на вытягивание, откройте расширенный инструмент сравнения на вкладке **Измененные файлы**.\n\nДополнительные сведения о проверке зависимостей см. в разделе [Сведения о проверке зависимостей](/ru/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/about-dependency-review).\n\n### Что такое Dependabot?\n\n```\n          Dependabot Держит ваши зависимости в актуальном состоянии, информируя о любых уязвимостях безопасности в зависимости и автоматически открывая pull requests для их обновления. \n          Dependabot Pull-запросы будут нацелены на следующую доступную защищённую версию при срабатывании Dependabot оповещения или на последнюю версию при публикации релиза.\n```\n\nТермин «Dependabot» включает следующие характеристики:\n\n* Dependabot alerts: Отображалось уведомление на **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality** вкладке репозитория и в графе зависимостей репозитория. Оповещение содержит ссылку на затронутый файл в проекте, а также сведения об исправленной версии.\n\n* Dependabot updates:\n  \\*\n  Dependabot security updates: Запускались обновления для обновления зависимостей до защищённой версии при срабатывании оповещения.\n  \\*\n  Dependabot version updates: Запланированные обновления, чтобы ваши зависимости были в актуальном состоянии с последней версией.\n\n  ```\n          Pull-запросы, открытые Dependabot , могут запускать рабочие процессы, выполняющие действия. Для получения дополнительной информации см. [AUTOTITLE](/code-security/dependabot/working-with-dependabot/automating-dependabot-with-github-actions).\n\n          По умолчанию:\n  ```\n\n* Если GitHub Actions для репозитория включено, GitHub работает Dependabot updates на GitHub Actions.\n\n* Если GitHub Actions репозиторий не включен, GitHub генерируется Dependabot alerts с помощью встроенного Dependabot приложения.\n\nДополнительные сведения см. в разделе [Сведения о зависимостях на GitHub Actions runners](/ru/enterprise-cloud@latest/code-security/dependabot/working-with-dependabot/about-dependabot-on-github-actions-runners).\n\n```\n          Dependabot security updates может исправить уязвимые зависимости в GitHub Actions. При включении обновлений системы безопасности Dependabot автоматически создает запрос на вытягивание для обновления уязвимых данных GitHub Actions, используемых в рабочих процессах до минимальной исправленной версии. Для получения дополнительной информации см. [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates).\n```\n\n#### Что такое оповещения Dependabot?\n\n```\n          Dependabot alerts Выделите репозитории, затронутые недавно обнаруженной уязвимостью, основанные на графе зависимостей и GitHub Advisory Database, который содержит предупреждения по известным уязвимостям.\n```\n\n* Dependabot выполняет сканирование для выявления небезопасных зависимостей и отправляет Dependabot alerts если:\n  * Добавлено новое предупреждение к GitHub Advisory Database\n  * Граф зависимостей для репозитория меняется\n* Dependabot alerts отображаются на **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality** вкладке репозитория и в графе зависимостей репозитория. Оповещение содержит ссылку на затронутый файл в проекте, а также сведения об исправленной версии.\n\nДополнительные сведения см. в разделе [Сведения об оповещениях Dependabot](/ru/enterprise-cloud@latest/code-security/dependabot/dependabot-alerts/about-dependabot-alerts).\n\n##### Что именно Dependabot malware alerts?\n\n```\n          Dependabot malware alerts Отмечайте вредоносные зависимости в ваших репозиториях. \n          Dependabot генерирует оповещения с помощью GitHub Advisory Database, которое содержит предупреждения о известных уязвимостях и вредоносных пакетах.\n\n          Dependabot Сканирует на наличие вредоносных пакетов и отправляет оповещения, когда:\n```\n\n* Добавлено новое предупреждение к GitHub Advisory Database\n* Граф зависимостей репозитория меняется\n\nВы можете просмотреть malware alerts репозиторий:\n\n* Из **<svg version=\"1.1\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" class=\"octicon octicon-shield\" aria-label=\"shield\" role=\"img\"><path d=\"M7.467.133a1.748 1.748 0 0 1 1.066 0l5.25 1.68A1.75 1.75 0 0 1 15 3.48V7c0 1.566-.32 3.182-1.303 4.682-.983 1.498-2.585 2.813-5.032 3.855a1.697 1.697 0 0 1-1.33 0c-2.447-1.042-4.049-2.357-5.032-3.855C1.32 10.182 1 8.566 1 7V3.48a1.75 1.75 0 0 1 1.217-1.667Zm.61 1.429a.25.25 0 0 0-.153 0l-5.25 1.68a.25.25 0 0 0-.174.238V7c0 1.358.275 2.666 1.057 3.86.784 1.194 2.121 2.34 4.366 3.297a.196.196 0 0 0 .154 0c2.245-.956 3.582-2.104 4.366-3.298C13.225 9.666 13.5 8.36 13.5 7V3.48a.251.251 0 0 0-.174-.237l-5.25-1.68ZM8.75 4.75v3a.75.75 0 0 1-1.5 0v-3a.75.75 0 0 1 1.5 0ZM9 10.5a1 1 0 1 1-2 0 1 1 0 0 1 2 0Z\"></path></svg> Security and quality** вкладки\n* В графе зависимостей\n\nКаждое предупреждение содержит ссылку на затронутый файл проекта, а также номер версии патча пакета (если он доступен).\n\n#### Что такое обновления Dependabot?\n\nСуществует два типа Dependabot updates: Dependabot\\_обновления безопасности\\_ и *обновления версий* .\nDependabot В обоих случаях генерирует автоматические pull requests для обновления ваших зависимостей, но есть несколько различий.\n\n```\n          Dependabot security updates:\n```\n\n* Срабатывает Dependabot по сигналу тревоги\n* обновляют зависимости до минимальной версии, которая устраняет известную уязвимость;\n* поддерживаются для экосистем, поддерживаемых графом зависимостей.\n* файл конфигурации не является обязательным, но его можно использовать для переопределения поведения по умолчанию.\n\n  ```\n          Dependabot version updates:\n  ```\n* файл конфигурации является обязательным;\n* запускаются по настроенному вами расписанию;\n* обновляют зависимости до последней версии, которая соответствует конфигурации;\n* поддерживаются для другой группы экосистем.\n\nДля получения дополнительной информации Dependabot updatesсм. [Сведения об обновлениях для системы безопасности Dependabot](/ru/enterprise-cloud@latest/code-security/dependabot/dependabot-security-updates/about-dependabot-security-updates) и [Сведения об обновлениях версий Dependabot](/ru/enterprise-cloud@latest/code-security/dependabot/dependabot-version-updates/about-dependabot-version-updates).\n\n### Что такое неизменяемые релизы?\n\nРепозитории могут включать неизменяемые релизы, чтобы предотвратить изменение ассетов и связанного с ним тега Git релиза после публикации. Это снижает риск атак на цепочку поставок, предотвращая внедрение уязвимостей злоумышленниками в используемые вами релизы. Это также означает, что проекты, зависящие от конкретных релизов, реже ломаются.\n\nСоздание неизменяемого релиза автоматически генерирует аттестацию для этого релиза. Вы можете использовать это подтверждение, чтобы убедиться, что релиз и его артефакты совпадают с опубликованной информацией.\n\n### Что такое аттестации артефактов?\n\nПоставщики программного обеспечения могут генерировать аттестации для программного обеспечения, построенного на GitHub Actionsоснове . Аттестации — это криптографически подписанные утверждения, которые устанавливают происхождение сборки (исходный код и рабочий процесс, использованный для её создания) или соответствующий программный список материалов (SBOM).\n\nВы можете повысить безопасность цепочки поставок, проверяя подтверждения ваших зависимости. Хотя аттестации не гарантируют безопасность, они дают информацию о том, где и как было создано программное обеспечение, чтобы вы могли быть уверены, что ваши зависимости не были изменены. Вы можете ограничить развертывания с помощью такого инструмента, как Kubernetes Admissions Controller, чтобы предотвратить развертывание незаверённых сборок.\n\nКогда вы создаёте GitHub Actions аттестации для собственных билдов вашей организации, созданные артефакты автоматически загружаются в linked artifacts page. Эта платформа позволяет просматривать записи хранения и развертывания всех связанных артефактов, чтобы найти исходный код и рабочий процесс, запущенный для создания артефакта, или фильтровать оповещения безопасности по контексту развертывания.\n\n## Доступность функций\n\nОбщедоступные репозитории:\n\n* **Граф зависимостей:** включен по умолчанию и не может быть отключен.\n* **Проверка зависимостей:** включена по умолчанию и не может быть отключена.\n\n***\n\n```\n          Dependabot alerts:** По умолчанию не включено. \n          GitHub обнаруживает небезопасные зависимости и отображает информацию в графе зависимостей, но по умолчанию не генерируется Dependabot alerts . Владельцы репозиториев или люди с администраторским доступом могут включить Dependabot alerts.\n```\n\nВы также можете включить или отключить оповещения Dependabot для всех репозиториев, принадлежащих вашей учетной записи пользователя или организации. Дополнительные сведения см. в разделе \\[AUTOTITLE или [Управление функциями безопасности и анализа](/ru/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account)]\\(/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization).\n\n* **Свидетельства об артефактах:** Доступны во всех публичных репозиториях, но при этом нужно специально генерировать аттестации в рабочих процессах сборки. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/actions/how-tos/secure-your-work/use-artifact-attestations/use-artifact-attestations).\n\nЧастные репозитории\n\n* **Граф зависимостей:** по умолчанию не включен. Эту возможность могут включать администраторы репозитория. Дополнительные сведения см. в разделе [Изучение зависимостей репозитория](/ru/enterprise-cloud@latest/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph).\n* **Проверка зависимости:** Доступны в частных репозиториях, принадлежащих организациям, которые используют GitHub Team или GitHub Enterprise Cloud имеют лицензию на GitHub Code Security or GitHub Advanced Security. Дополнительные сведения см. в разделе \\[AUTOTITLE и [О GitHub Advanced Security](/ru/enterprise-cloud@latest/get-started/learning-about-github/about-github-advanced-security)]\\(/code-security/supply-chain-security/understanding-your-software-supply-chain/exploring-the-dependencies-of-a-repository#enabling-and-disabling-the-dependency-graph).\n\n***\n\n```\n          Dependabot alerts:** По умолчанию не включено. Владельцы частных репозиториев или люди с администраторским доступом могут включить Dependabot alerts их, включив граф зависимостей и Dependabot alerts для своих репозиториев.\n```\n\nВы также можете включить или отключить оповещения Dependabot для всех репозиториев, принадлежащих вашей учетной записи пользователя или организации. Дополнительные сведения см. в разделе \\[AUTOTITLE или [Управление функциями безопасности и анализа](/ru/enterprise-cloud@latest/account-and-profile/setting-up-and-managing-your-personal-account-on-github/managing-personal-account-settings/managing-security-and-analysis-settings-for-your-personal-account)]\\(/organizations/keeping-your-organization-secure/managing-security-settings-for-your-organization/managing-security-and-analysis-settings-for-your-organization).\n\n* **Свидетельства об артефактах:** Доступно только в частных репозиториях на GitHub Enterprise Cloud.\n\nРепозиторий любого типа\n\n***\n\n```\n          Dependabot security updates:** По умолчанию не включено. Вы можете включить Dependabot security updates любой репозиторий, который использует Dependabot alerts граф зависимостей. Сведения о включении обновлений системы безопасности см. в разделе [AUTOTITLE](/code-security/dependabot/dependabot-security-updates/configuring-dependabot-security-updates).\n```\n\n***\n\n```\n          Dependabot version updates:** По умолчанию не включено. Люди с разрешениями записи в репозиторий могут включить Dependabot version updates. Сведения о включении обновлений версий см. в разделе [AUTOTITLE](/code-security/dependabot/dependabot-version-updates/configuring-dependabot-version-updates).\n```\n\n* **Неизменные релизы*:*\\* По умолчанию не включено. Вы можете включить неизменяемость выпуска для репозитория или организации. См [. раздел AUTOTITLE](/ru/enterprise-cloud@latest/code-security/how-tos/secure-your-supply-chain/establish-provenance-and-integrity/preventing-changes-to-your-releases)."}