{"id":4863,"date":"2024-08-14T09:16:57","date_gmt":"2024-08-14T14:16:57","guid":{"rendered":"https:\/\/www.darkreading.com\/cloud-security\/github-attack-vector-google-microsoft-aws-projects"},"modified":"2024-08-14T09:16:57","modified_gmt":"2024-08-14T14:16:57","slug":"github-attack-vector-cracks-open-google-microsoft-aws-projects","status":"publish","type":"post","link":"https:\/\/ddi.mohflo.net\/index.php\/2024\/08\/14\/github-attack-vector-cracks-open-google-microsoft-aws-projects\/","title":{"rendered":"GitHub Attack Vector Cracks Open Google, Microsoft, AWS Projects"},"content":{"rendered":"<div class=\"media_block\"><a href=\"https:\/\/i0.wp.com\/eu-images.contentstack.com\/v3\/assets\/blt6d90778a997de1cd\/blt8633017b02dff35e\/66bcbd0d0268434553f8f708\/GitHub.jpg?ssl=1\"><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?w=640&#038;ssl=1\" class=\"media_thumbnail\"><\/a><\/div>\n<div><img data-recalc-dims=\"1\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?w=640&#038;ssl=1\" class=\"ff-og-image-inserted\"><\/div>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Researchers have uncovered an attack vector that affected <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/github-repos-targeted-in-cyber-extortion-attacks\" rel=\"noopener\">GitHub open source projects<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> owned by Google, Microsoft, Amazon Web Services, and others, executed by abusing artifacts generated as part of software-development workflows.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Researchers at Palo Alto Networks&#8217; Unit 42 discovered the attack, which was effective against &#8220;high-profile open source projects owned by the biggest companies in the world,&#8221; according to <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/unit42.paloaltonetworks.com\/github-repo-artifacts-leak-tokens\/\" rel=\"noopener\">a blog post<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> published by lead researcher Yaron Avital yesterday. Compromise of those projects, then, &#8220;could have led to a potential impact on millions of their consumers.&#8221;<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Other companies whose projects were affected by the attack vector, which abuses what are called GitHub Actions artifacts, include Canonical (Ubuntu), the OWASP Foundation, and Red Hat, among others. The vector causes the artifacts to leak tokens of both third-party cloud services as well as GitHub tokens, making them available for anyone with &#8220;read access&#8221; to the repository to consume, Avital wrote.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">&#8220;This allows malicious actors with access to these artifacts the potential of compromising the services to which these secrets grant access,&#8221; he explained. The most common leakage found in the activity was the leakage of GitHub tokens, &#8220;allowing an attacker to act against the triggering <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/github-developers-hit-in-complex-supply-chain-cyberattack\" rel=\"noopener\">GitHub repository<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">,&#8221; Avital added.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The exposure ultimately could have allowed attackers to push malicious code to production through the <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/software-development-pipelines-cybercriminals-free-range-access-cloud-on-prem\" rel=\"noopener\">continuous integration and continuous delivery\/deployment (CI\/CD) pipeline<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">, or to access secrets stored in the GitHub repository and organization, he explained.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Unit 42 worked with all of the companies and maintainers of the projects affected and &#8220;received great support from all teams&#8221; so that all of the discoveries were mitgated &#8220;quickly and efficiently,&#8221; Avital wrote. However, other unknown private and public projects could also be subject to the attack.<\/span><\/p>\n<h2 class=\"ContentText ContentText_variant_h2 ContentText_align_left\" data-testid=\"content-text\" id=\"Poisoning the Development Cycle\">Poisoning the Development Cycle<\/h2>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">CI\/CD environments, processes, and systems are a key part of <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/critical-gitlab-bug-threatens-software-development-pipelines\" rel=\"noopener\">modern software development<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> in the flow of building, testing, and delivering code to production. That said, they offer a prime opportunity for attackers, since they use highly sensitive credentials to authenticate against various types of services, &#8220;creating a significant challenge to keep a high level of credential hygiene,&#8221; Avital wrote.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The attack discovered centers on GitHub Actions, which are workflow build artifacts that allow developers to persist and share data across jobs within the same workflow. &#8220;These artifacts can be any files generated during your build process, such as compiled code, test reports, or deployment packages,&#8221; Avital explained.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Artifacts ensure that critical data isn&#8217;t lost after a workflow finishes, making it accessible for later analysis or deployment. This is &#8220;particularly useful for sharing test results or deployment packages between dependent jobs,&#8221; Avital noted.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">GitHub Actions workflows frequently use secrets to interact with various <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/cloud-security\/cloudsorceror-public-cloud-cyberespionage-campaign\" rel=\"noopener\">cloud services<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> and with GitHub itself. These secrets in turn include the ephemeral, automatically-created GitHub token used to perform actions against the repository.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">&#8220;The Actions build artifacts are outputs generated by the execution of workflows, and once created, they&#8217;re stored for up to 90 days,&#8221; Avital explained. &#8220;In open-source projects, these artifacts are publicly available for anyone to consume.&#8221;<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The attack flow he discovered allows attackers to download the publicly available artifact, extract the token, and push malicious code to the repository of an open source project. The code then becomes part of the project and thus could be executed as part of a software or service that end users ultimately access.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Unit 42&#8217;s post included a list <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/stargazer-goblin-amasses-rogue-github-accounts-to-spread-malware\" rel=\"noopener\">GitHub<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> open source projects known to have been affected by the attack vector.<\/span><\/p>\n<h2 class=\"ContentText ContentText_variant_h2 ContentText_align_left\" data-testid=\"content-text\" id=\"A Holistic Defense Approach Required\">A Holistic Defense Approach Required<\/h2>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">GitHub has become a major target for threat actors, because of its attractiveness as a way to access myriad software and services by poisoning just a few lines of code <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/millions-of-malicious-repositories-flood-github\" rel=\"noopener\">in repositories<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">The new attack vector demonstrates that &#8220;we have a gap in the current security conversation regarding artifact scanning&#8221; <\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"><a class=\"ContentText-BodyTextChunk ContentText-BodyTextChunk_link\" target=\"_blank\" href=\"https:\/\/www.darkreading.com\/application-security\/supply-chain-attackers-escalate-with-github-dependabot-impersonation\" rel=\"noopener\">on GitHub,<\/a><\/span><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\"> Avital wrote, which means that organizations using the artifacts mechanism should &#8220;reevaluate the way they use it.&#8221;<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">He also recommended that defenders adopt a holistic approach to software development and scrutinize every stage of it (from code to production) for potential vulnerabilities. &#8220;Overlooked elements like build artifacts often become prime targets for attackers,&#8221; Avital wrote.<\/span><\/p>\n<p class=\"ContentParagraph ContentParagraph_align_left\" data-testid=\"content-paragraph\"><span class=\"ContentText ContentText_variant_bodyNormal\" data-testid=\"content-text\">Organizations should also reduce workflow permissions of runner tokens according to least privilege, and review artifact creation in their CI\/CD pipelines as part of a proactive and vigilant approach to security to strengthen the security posture of development projects, he noted.<\/span><\/p>\n<p><a href=\"https:\/\/www.darkreading.com\/cloud-security\/github-attack-vector-google-microsoft-aws-projects\">Source<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Researchers have uncovered an attack vector that affected GitHub open<\/p>\n","protected":false},"author":12,"featured_media":4864,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1],"tags":[809],"class_list":["post-4863","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorized","tag-dark-reading"],"featured_image_urls":{"full":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=1920%2C1080&ssl=1",1920,1080,false],"thumbnail":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?resize=150%2C150&ssl=1",150,150,true],"medium":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=300%2C169&ssl=1",300,169,true],"medium_large":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=640%2C360&ssl=1",640,360,true],"large":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=640%2C360&ssl=1",640,360,true],"1536x1536":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=1536%2C864&ssl=1",1536,864,true],"2048x2048":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=1920%2C1080&ssl=1",1920,1080,true],"chromenews-featured":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=1024%2C576&ssl=1",1024,576,true],"chromenews-large":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?resize=825%2C575&ssl=1",825,575,true],"chromenews-medium":["https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?resize=590%2C410&ssl=1",590,410,true]},"author_info":{"display_name":"Dark Reading","author_link":"https:\/\/ddi.mohflo.net\/index.php\/author\/darkreading\/"},"category_info":"<a href=\"https:\/\/ddi.mohflo.net\/index.php\/category\/uncategorized\/\" rel=\"category tag\">Uncategorized<\/a>","tag_info":"Uncategorized","comment_count":"0","jetpack_featured_media_url":"https:\/\/i0.wp.com\/ddi.mohflo.net\/wp-content\/uploads\/2024\/08\/github-attack-vector-cracks-open-google-microsoft-aws-projects.png?fit=1920%2C1080&ssl=1","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/posts\/4863","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/users\/12"}],"replies":[{"embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/comments?post=4863"}],"version-history":[{"count":0,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/posts\/4863\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/media\/4864"}],"wp:attachment":[{"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/media?parent=4863"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/categories?post=4863"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/ddi.mohflo.net\/index.php\/wp-json\/wp\/v2\/tags?post=4863"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}