{"id":56019,"date":"2026-06-26T07:00:03","date_gmt":"2026-06-26T11:00:03","guid":{"rendered":"https:\/\/www.kaspersky.com\/blog\/?p=56019"},"modified":"2026-06-26T07:00:03","modified_gmt":"2026-06-26T11:00:03","slug":"github-actions-security-research","status":"publish","type":"post","link":"https:\/\/www.kaspersky.com\/blog\/github-actions-security-research\/56019\/","title":{"rendered":"Potential Threat: misconfigurations in GitHub Actions"},"content":{"rendered":"<p>Stories about supply chain attacks <a href=\"https:\/\/www.kaspersky.ru\/blog\/supply-chain-attacks-in-2025\/41594\/\" target=\"_blank\" rel=\"noopener\">appear<\/a> in the news with alarming regularity. In most cases they begin when attackers compromise publicly available packages. This may give the impression that the main danger of public repositories lies in the fact that someone could steal a developer\u2019s credentials and inject malicious code into the software they create. However, in reality, this isn\u2019t the only thing to be wary of when working with repositories hosting open-source projects. Misconfigurations of key components can also be a source of problems.<\/p>\n<p>In particular, <a href=\"https:\/\/docs.github.com\/ru\/actions\" target=\"_blank\" rel=\"noopener nofollow\">GitHub Actions<\/a> \u2014 automation scripts that enable the creation of continuous integration and continuous delivery (CI\/CD) pipelines \u2014 can pose a risk. Errors and misconfigurations in these scripts are periodically exploited by attackers in real-world attacks. A prime example is the recent <a href=\"https:\/\/cybersecuritynews.com\/mini-shai-hulud-compromises-antv-npm-packages-to-steal-ci-cd-credentials\/\" target=\"_blank\" rel=\"noopener nofollow\">Mini Shai-Hulud<\/a> malware campaign. While it also began with the compromise of a popular project\u2019s maintainer, the malware distributed during this campaign stole secrets specifically by exploiting a flaw in GitHub Actions.<\/p>\n<p>Using a new set of rules for <a href=\"https:\/\/www.kaspersky.com\/enterprise-security\/container-security?icid=gl_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder____\" target=\"_blank\" rel=\"noopener nofollow\">Kaspersky Container Security<\/a>, our experts from the Global Research and Analysis Team (GReAT) conducted a security analysis of GitHub Actions across ~30,000 popular GitHub repositories. In short, automation pipelines in only 10% of these repositories raised no concerns.<\/p>\n<h2>Detailed research results<\/h2>\n<p>In total, the rules implemented as part of the latest KCS release were used to scan ~130,000 pipelines. They identified more than 250,000 potential deviations from recommendations for secure CI\/CD configuration. Of course, these deviations cannot be considered vulnerabilities in and of themselves, but they do indicate areas where the configuration may require additional review and more careful tuning.<\/p>\n<p>Of these 250,000+ deviations, 59.8% can be classified as low risk, and 39.8% \u2014 medium risk. However, in 0.4% of cases, more serious misconfigurations were found, which our technologies classified as high risk. Furthermore, critical flaws found in eight repositories could potentially lead to supply chain compromise. The affected repositories covered a wide range of use cases \u2014 including AI integration in enterprise environments, services for developers and automation, and as well as security testing tools. Of course, our experts reported these critical issues to the maintainers of the relevant repositories.<\/p>\n<p>Here are the most common flaws found in the GitHub Actions we reviewed:<\/p>\n<ul>\n<li>implicitly defined or overly broad access permissions,<\/li>\n<li>lack of version pinning for used dependances,<\/li>\n<li>configuration settings applied at the workflow level.<\/li>\n<\/ul>\n<p>In addition, more dangerous patterns were found: (i) exposure of secrets at the top level, (ii) potentially insecure run conditions, and (iii) insecure handling of external data. Fortunately, however, these were much less common.<\/p>\n<h2>How can you stay safe?<\/h2>\n<p>Misconfigurations in GitHub Actions can potentially turn development pipelines into tools for attackers, allowing them to compromise the development environment or attack a company\u2019s infrastructure. Issues identified in a timely manner will enable developers to build more secure processes and minimize the risk of supply chain compromise.<\/p>\n<div id=\"attachment_56024\" style=\"width: 1628px\" class=\"wp-caption aligncenter\"><a href=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2026\/06\/26053311\/github-actions-security-research-screen-1.jpg\"><img decoding=\"async\" aria-describedby=\"caption-attachment-56024\" src=\"https:\/\/media.kasperskydaily.com\/wp-content\/uploads\/sites\/92\/2026\/06\/26053311\/github-actions-security-research-screen-1.jpg\" width=\"1618\" height=\"663\" alt=\"Searching for misconfigurations in GitHub Actions.\" class=\"wp-image-56024 size-full\"><\/a><p id=\"caption-attachment-56024\" class=\"wp-caption-text\">Searching for misconfigurations in GitHub Actions.<\/p><\/div>\n<p>The set of rules mentioned above, which was used in this study, is now available to Kaspersky Container Security users following the latest update. With this set of rules, our solution can detect misconfigurations in GitHub Actions both by scanning repositories and by being integrated directly into CI\/CD pipelines. You can learn more about the KSC solution on its <a href=\"https:\/\/www.kaspersky.com\/enterprise-security\/container-security?icid=gl_kdailyplacehold_acq_ona_smm__onl_b2b_kasperskydaily_wpplaceholder____\" target=\"_blank\" rel=\"noopener nofollow\">page<\/a>.<\/p>\n<input type=\"hidden\" class=\"category_for_banner\" value=\"mdr\"><input type=\"hidden\" class=\"placeholder_for_banner\" data-cat_id=\"mdr\" value=\"49324\">\n","protected":false},"excerpt":{"rendered":"<p>A GReAT study has identified ~250,000 potential security issues in publicly accessible GitHub Actions.<\/p>\n","protected":false},"author":312,"featured_media":56025,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[1999,3051,3052],"tags":[3879,1057,605,4715],"class_list":{"0":"post-56019","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-business","8":"category-enterprise","9":"category-smb","10":"tag-containers","11":"tag-github","12":"tag-great","13":"tag-misconfigurations"},"hreflang":[{"hreflang":"x-default","url":"https:\/\/www.kaspersky.com\/blog\/github-actions-security-research\/56019\/"},{"hreflang":"en-in","url":"https:\/\/www.kaspersky.co.in\/blog\/github-actions-security-research\/30851\/"},{"hreflang":"en-ae","url":"https:\/\/me-en.kaspersky.com\/blog\/github-actions-security-research\/25888\/"},{"hreflang":"en-gb","url":"https:\/\/www.kaspersky.co.uk\/blog\/github-actions-security-research\/30690\/"},{"hreflang":"ru","url":"https:\/\/www.kaspersky.ru\/blog\/github-actions-security-research\/42122\/"},{"hreflang":"ru-kz","url":"https:\/\/blog.kaspersky.kz\/github-actions-security-research\/30799\/"},{"hreflang":"en-au","url":"https:\/\/www.kaspersky.com.au\/blog\/github-actions-security-research\/36358\/"},{"hreflang":"en-za","url":"https:\/\/www.kaspersky.co.za\/blog\/github-actions-security-research\/36249\/"}],"acf":[],"banners":"","maintag":{"url":"https:\/\/www.kaspersky.com\/blog\/tag\/containers\/","name":"containers"},"_links":{"self":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/56019","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/users\/312"}],"replies":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/comments?post=56019"}],"version-history":[{"count":4,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/56019\/revisions"}],"predecessor-version":[{"id":56027,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/posts\/56019\/revisions\/56027"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/media\/56025"}],"wp:attachment":[{"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/media?parent=56019"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/categories?post=56019"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.kaspersky.com\/blog\/wp-json\/wp\/v2\/tags?post=56019"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}