{"id":94975,"date":"2026-04-01T12:20:12","date_gmt":"2026-04-01T19:20:12","guid":{"rendered":"https:\/\/github.blog\/?p=94975"},"modified":"2026-04-01T12:20:15","modified_gmt":"2026-04-01T19:20:15","slug":"securing-the-open-source-supply-chain-across-github","status":"publish","type":"post","link":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/","title":{"rendered":"Securing the open source supply chain across GitHub"},"content":{"rendered":"<!DOCTYPE html PUBLIC \"-\/\/W3C\/\/DTD HTML 4.0 Transitional\/\/EN\" \"http:\/\/www.w3.org\/TR\/REC-html40\/loose.dtd\">\n<html><body><p class=\"wp-block-paragraph\">Over the past year, a new pattern has emerged in attacks on the open source supply chain. Attackers are focusing on exfiltrating secrets (like API keys) in order to both publish malicious packages from an attacker-controlled machine as well as gain access to more projects in order to propagate the attack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">These attacks often start by compromising a workflow on GitHub Actions.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Let&rsquo;s talk through what you can do today to secure your GitHub Actions workflows, what work GitHub has been doing to secure open source, and what to expect in the coming months for further security enhancements.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-you-can-do-today\">What you can do today<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Many of these attacks start by looking for exploitable GitHub Actions workflows.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>The most critical action you can take is to enable <a href=\"https:\/\/docs.github.com\/code-security\/reference\/code-scanning\/codeql\/codeql-queries\/actions-built-in-queries\" target=\"_blank\" rel=\"noreferrer noopener\">CodeQL to review your GitHub Actions workflow implementation<\/a><\/strong> (available for free on public repositories) to inspect your workflows for security best practices.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Next, review our detailed <a href=\"https:\/\/docs.github.com\/actions\/reference\/security\/secure-use\" target=\"_blank\" rel=\"noreferrer noopener\">actions security guidance<\/a>. In particular:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Don&rsquo;t trigger workflows on <code><a href=\"https:\/\/docs.github.com\/actions\/reference\/workflows-and-actions\/events-that-trigger-workflows#pull_request_target\" target=\"_blank\" rel=\"noreferrer noopener\">pull_request_target<\/a><\/code>.<\/li>\n\n\n\n<li><a href=\"https:\/\/docs.github.com\/actions\/reference\/security\/secure-use#using-third-party-actions\" target=\"_blank\" rel=\"noreferrer noopener\">Pin third-party Actions to full-length commit SHAs<\/a>.\n<ul class=\"wp-block-list\">\n<li>This pinning should be done by you or Dependabot; be suspicious of external pull requests that update this content.<\/li>\n<\/ul>\n<\/li>\n\n\n\n<li>Look out for <a href=\"https:\/\/docs.github.com\/actions\/reference\/security\/secure-use#good-practices-for-mitigating-script-injection-attacks\" target=\"_blank\" rel=\"noreferrer noopener\">script injection when referencing user-submitted content<\/a>.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">When an attack happens, we publish information about compromised dependencies in our <a href=\"https:\/\/github.com\/advisories\" target=\"_blank\" rel=\"noreferrer noopener\">Advisory Database<\/a>. You can get up-to-date information directly from the Advisory Database or use tools like <a href=\"https:\/\/docs.github.com\/code-security\/concepts\/supply-chain-security\/dependabot-malware-alerts\" target=\"_blank\" rel=\"noreferrer noopener\">Dependabot<\/a> (also free for public repositories) to notify you when you have malicious or vulnerable dependencies.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-we-ve-done\">What we&rsquo;ve done<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">These attacks follow the same pattern: they focus on exfiltrating secrets to publish malicious packages from an attacker-controlled machine, as well as using those malicious packages to gain access to more projects to propagate the attack.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Instead of using secrets in your workflows, you can use an <a href=\"https:\/\/docs.github.com\/actions\/how-tos\/secure-your-work\/security-harden-deployments\" target=\"_blank\" rel=\"noreferrer noopener\">OpenID Connect token that contains the workload identity<\/a> of the workflow to authorize activities. We&rsquo;ve worked with many systems to integrate with Actions this way, including cloud providers, package repositories, and other hosted services.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Specifically, <a href=\"https:\/\/openssf.org\/blog\/2024\/07\/31\/how-to-make-programming-language-package-repositories-more-secure\/\" target=\"_blank\" rel=\"noreferrer noopener\">GitHub partners with the OpenSSF<\/a> to support this security capability, called trusted publishing, in package repositories, which is now supported across npm, PyPI, NuGet, RubyGems, Crates, and other package repositories. Not only does trusted publishing remove secrets from build pipelines, it also provides a valuable signal when a newly published package stops using trusted publishing: the community uses this signal to investigate if the package came from an attacker using exfiltrated credentials.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">npm is the largest package repository in the world, with over 30,000 packages published each day. We scan every npm package version for malware, and our detections are constantly updated and improved as attacks evolve. Hundreds of newly published packages contain malicious code daily, so when detected, a human reviews to confirm it&rsquo;s a true positive before we take action. At this scale, even a 1% false-positive rate would disrupt hundreds of legitimate publishes daily.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-what-to-expect-in-the-coming-months\">What to expect in the coming months<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">In late 2025 the Shai-Hulud attacks motivated a revamped security roadmap for npm, which we talked about in <a href=\"https:\/\/github.blog\/security\/supply-chain-security\/our-plan-for-a-more-secure-npm-supply-chain\/\" target=\"_blank\" rel=\"noreferrer noopener\">Our plan for a more secure npm supply chain<\/a> and <a href=\"https:\/\/github.blog\/security\/supply-chain-security\/strengthening-supply-chain-security-preparing-for-the-next-malware-campaign\/\" target=\"_blank\" rel=\"noreferrer noopener\">Strengthening supply chain security: Preparing for the next malware campaign<\/a>. In response to Shai-Hulud we accelerated the roll-out of capabilities like npm trusted publishing, continued work on malware detection and removal, and engaged with open source maintainers on what npm security capabilities would have the biggest positive impact. Even when the community agrees a change must be made, those changes can mean that people need to change their workflow, or worse, cause backwards incompatibility. We&rsquo;re working to provide as smooth a transition as possible.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Similarly, with the most recent round of attacks we are <a href=\"https:\/\/github.blog\/news-insights\/product-news\/whats-coming-to-our-github-actions-2026-security-roadmap\/\" target=\"_blank\" rel=\"noreferrer noopener\">revisiting our security roadmap for GitHub Actions<\/a> and accelerating actions security capabilities where work was already underway. You can give us feedback on the GitHub Actions security roadmap in the <a href=\"https:\/\/github.com\/orgs\/community\/discussions\/190621\">community discussion post<\/a>.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\" id=\"h-where-do-we-go-from-here\">Where do we go from here?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Open source is a global public good and one of humanity&rsquo;s greatest collaborative projects. We have not seen the end of attacks on open source, but GitHub is committed to defending it across npm, actions, or whatever comes next. As we work on rolling out these security capabilities, we look forward to your feedback on what&rsquo;s most impactful and how we manage the transition to a more secure future.<\/p>\n<\/body><\/html>\n","protected":false},"excerpt":{"rendered":"<p>Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today, plus a look at the security capabilities GitHub is working on.<\/p>\n","protected":false},"author":1972,"featured_media":93177,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_gh_post_show_toc":"yes","_gh_post_is_no_robots":"","_gh_post_is_featured":"yes","_gh_post_is_excluded":"","_gh_post_is_unlisted":"","_gh_post_related_link_1":"","_gh_post_related_link_2":"","_gh_post_related_link_3":"","_gh_post_sq_img":"","_gh_post_sq_img_id":"","_gh_post_cta_title":"","_gh_post_cta_text":"","_gh_post_cta_link":"","_gh_post_cta_button":"","_gh_post_recirc_hide":"","_gh_post_recirc_col_1":"","_gh_post_recirc_col_2":"","_gh_post_recirc_col_3":"","_gh_post_recirc_col_4":"","_featured_video":"","_gh_post_additional_query_params":"","_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_feature_clip_id":0,"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","default_image_id":0,"font":"","enabled":false},"version":2},"_wpas_customize_per_network":false,"jetpack_post_was_ever_published":false,"_links_to":"","_links_to_target":""},"categories":[91,3335],"tags":[769,122,1915,1709],"coauthors":[2575],"class_list":["post-94975","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-security","category-supply-chain-security","tag-ci-cd","tag-github-actions","tag-github-security-lab","tag-supply-chain-security"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v28.6 (Yoast SEO v28.6) - https:\/\/yoast.com\/product\/yoast-seo-premium-wordpress\/ -->\n<title>Securing the open source supply chain across GitHub - The GitHub Blog<\/title>\n<meta name=\"description\" content=\"Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Securing the open source supply chain across GitHub\" \/>\n<meta property=\"og:description\" content=\"Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/\" \/>\n<meta property=\"og:site_name\" content=\"The GitHub Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-04-01T19:20:12+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-04-01T19:20:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1920\" \/>\n\t<meta property=\"og:image:height\" content=\"1080\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Zachary Steindler\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Zachary Steindler\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/\"},\"author\":{\"name\":\"Zachary Steindler\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/802010b39425eafd8664691c6e151235\"},\"headline\":\"Securing the open source supply chain across GitHub\",\"datePublished\":\"2026-04-01T19:20:12+00:00\",\"dateModified\":\"2026-04-01T19:20:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/\"},\"wordCount\":721,\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/generic-security-logo-blocks-github.png?fit=1920%2C1080\",\"keywords\":[\"CI\\\/CD\",\"GitHub Actions\",\"GitHub Security Lab\",\"supply chain security\"],\"articleSection\":[\"Security\",\"Supply chain security\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/\",\"url\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/\",\"name\":\"Securing the open source supply chain across GitHub - The GitHub Blog\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/generic-security-logo-blocks-github.png?fit=1920%2C1080\",\"datePublished\":\"2026-04-01T19:20:12+00:00\",\"dateModified\":\"2026-04-01T19:20:15+00:00\",\"author\":{\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/802010b39425eafd8664691c6e151235\"},\"description\":\"Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#primaryimage\",\"url\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/generic-security-logo-blocks-github.png?fit=1920%2C1080\",\"contentUrl\":\"https:\\\/\\\/github.blog\\\/wp-content\\\/uploads\\\/2026\\\/01\\\/generic-security-logo-blocks-github.png?fit=1920%2C1080\",\"width\":1920,\"height\":1080,\"caption\":\"A grid of abstract cubes highlights a central cube displaying a shield with a checkmark to represent security.\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/securing-the-open-source-supply-chain-across-github\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/github.blog\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Security\",\"item\":\"https:\\\/\\\/github.blog\\\/security\\\/\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Supply chain security\",\"item\":\"https:\\\/\\\/github.blog\\\/security\\\/supply-chain-security\\\/\"},{\"@type\":\"ListItem\",\"position\":4,\"name\":\"Securing the open source supply chain across GitHub\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/github.blog\\\/#website\",\"url\":\"https:\\\/\\\/github.blog\\\/\",\"name\":\"The GitHub Blog\",\"description\":\"Updates, ideas, and inspiration from GitHub to help developers build and design software.\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/github.blog\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/github.blog\\\/#\\\/schema\\\/person\\\/802010b39425eafd8664691c6e151235\",\"name\":\"Zachary Steindler\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a19b09082cbcebeedea754abb58729cbb5c1605fcc53ab80bc78eba6feb6f0f?s=96&d=mm&r=gd31b3d5f7ecc281a25dad3a3a60b8533\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a19b09082cbcebeedea754abb58729cbb5c1605fcc53ab80bc78eba6feb6f0f?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/2a19b09082cbcebeedea754abb58729cbb5c1605fcc53ab80bc78eba6feb6f0f?s=96&d=mm&r=g\",\"caption\":\"Zachary Steindler\"},\"description\":\"Principal Software Engineer, GitHub\",\"url\":\"https:\\\/\\\/github.blog\\\/author\\\/steiza\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Securing the open source supply chain across GitHub - The GitHub Blog","description":"Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/","og_locale":"en_US","og_type":"article","og_title":"Securing the open source supply chain across GitHub","og_description":"Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today.","og_url":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/","og_site_name":"The GitHub Blog","article_published_time":"2026-04-01T19:20:12+00:00","article_modified_time":"2026-04-01T19:20:15+00:00","og_image":[{"width":1920,"height":1080,"url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png","type":"image\/png"}],"author":"Zachary Steindler","twitter_card":"summary_large_image","twitter_misc":{"Written by":"Zachary Steindler","Est. reading time":"4 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#article","isPartOf":{"@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/"},"author":{"name":"Zachary Steindler","@id":"https:\/\/github.blog\/#\/schema\/person\/802010b39425eafd8664691c6e151235"},"headline":"Securing the open source supply chain across GitHub","datePublished":"2026-04-01T19:20:12+00:00","dateModified":"2026-04-01T19:20:15+00:00","mainEntityOfPage":{"@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/"},"wordCount":721,"image":{"@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png?fit=1920%2C1080","keywords":["CI\/CD","GitHub Actions","GitHub Security Lab","supply chain security"],"articleSection":["Security","Supply chain security"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/","url":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/","name":"Securing the open source supply chain across GitHub - The GitHub Blog","isPartOf":{"@id":"https:\/\/github.blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#primaryimage"},"image":{"@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#primaryimage"},"thumbnailUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png?fit=1920%2C1080","datePublished":"2026-04-01T19:20:12+00:00","dateModified":"2026-04-01T19:20:15+00:00","author":{"@id":"https:\/\/github.blog\/#\/schema\/person\/802010b39425eafd8664691c6e151235"},"description":"Recent attacks on open source focus on exfiltrating secrets; here are the prevention steps you can take today.","breadcrumb":{"@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#primaryimage","url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png?fit=1920%2C1080","contentUrl":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png?fit=1920%2C1080","width":1920,"height":1080,"caption":"A grid of abstract cubes highlights a central cube displaying a shield with a checkmark to represent security."},{"@type":"BreadcrumbList","@id":"https:\/\/github.blog\/security\/supply-chain-security\/securing-the-open-source-supply-chain-across-github\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/github.blog\/"},{"@type":"ListItem","position":2,"name":"Security","item":"https:\/\/github.blog\/security\/"},{"@type":"ListItem","position":3,"name":"Supply chain security","item":"https:\/\/github.blog\/security\/supply-chain-security\/"},{"@type":"ListItem","position":4,"name":"Securing the open source supply chain across GitHub"}]},{"@type":"WebSite","@id":"https:\/\/github.blog\/#website","url":"https:\/\/github.blog\/","name":"The GitHub Blog","description":"Updates, ideas, and inspiration from GitHub to help developers build and design software.","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/github.blog\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/github.blog\/#\/schema\/person\/802010b39425eafd8664691c6e151235","name":"Zachary Steindler","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/2a19b09082cbcebeedea754abb58729cbb5c1605fcc53ab80bc78eba6feb6f0f?s=96&d=mm&r=gd31b3d5f7ecc281a25dad3a3a60b8533","url":"https:\/\/secure.gravatar.com\/avatar\/2a19b09082cbcebeedea754abb58729cbb5c1605fcc53ab80bc78eba6feb6f0f?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2a19b09082cbcebeedea754abb58729cbb5c1605fcc53ab80bc78eba6feb6f0f?s=96&d=mm&r=g","caption":"Zachary Steindler"},"description":"Principal Software Engineer, GitHub","url":"https:\/\/github.blog\/author\/steiza\/"}]}},"jetpack_publicize_connections":[],"jetpack_shortlink":"https:\/\/wp.me\/pamS32-oHR","jetpack_sharing_enabled":true,"jetpack_featured_media_url":"https:\/\/github.blog\/wp-content\/uploads\/2026\/01\/generic-security-logo-blocks-github.png?fit=1920%2C1080","_links":{"self":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/94975","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/users\/1972"}],"replies":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/comments?post=94975"}],"version-history":[{"count":4,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/94975\/revisions"}],"predecessor-version":[{"id":94980,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/posts\/94975\/revisions\/94980"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media\/93177"}],"wp:attachment":[{"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/media?parent=94975"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/categories?post=94975"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/tags?post=94975"},{"taxonomy":"author","embeddable":true,"href":"https:\/\/github.blog\/wp-json\/wp\/v2\/coauthors?post=94975"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}