{"id":2324,"date":"2026-10-22T16:38:51","date_gmt":"2026-10-22T11:08:51","guid":{"rendered":"https:\/\/www.hexnode.com\/threat-watch\/?p=2324"},"modified":"2026-10-28T18:38:19","modified_gmt":"2026-10-28T13:08:19","slug":"ghostaction-github-supply-chain-credential-theft","status":"publish","type":"post","link":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/","title":{"rendered":"GhostAction GitHub supply chain attack: How Malicious Workflows Expose Developer Secrets"},"content":{"rendered":"<p>A security check in a software repository should help protect your project. In the GhostAction GitHub supply chain attack, attackers used that familiar label to disguise credential-stealing workflows.<\/p>\n<p>Activity observed from August 31, 2026, expanded sharply in October. Researchers reported approximately 1,900 compromised GitHub accounts and more than 30,000 targeted repositories during the October wave. These figures describe account compromise and targeting, rather than confirmed secret theft from every repository.<\/p>\n<p>For enterprise teams, the concern is what those repositories can access: deployment infrastructure, package registries, and other services that trust their credentials.<\/p>\n    \t\t<div class=\"hts-messages hts-messages--info  hts-messages--withtitle  \"   >\r\n    \t\t\t<span class=\"hts-messages__title\">Who is behind GhostAction?<\/span>    \t\t\t    \t\t\t\t<p>\r\n    \t\t\t\t\tGhostAction names a credential-theft campaign, rather than a publicly identified threat group. The research reviewed does not establish a verified operator identity or group alias.<\/p>\n<p>Its operators abuse developer access to introduce malicious GitHub Actions workflows into repositories. Suspected sources of this access include stolen personal access tokens (PATs) circulating in infostealer logs and credential dumps traded on underground markets. However, researchers have not confirmed the initial compromise route for every affected account.<\/p>\n<p>A valid PAT authenticates directly to the GitHub API without triggering the browser-based multi-factor authentication (MFA) prompt. If the token grants sufficient repository and workflow permissions, attackers can use it to commit malicious workflows without completing an interactive sign-in. Token permissions and applicable organization controls still constrain that access.<\/p>\n<p>These workflows resemble maintenance or security tasks, making their purpose less obvious during a quick review. Targets include individual maintainers and repositories they can modify within organizations.<\/p>\n<p>The account owner\u2019s permissions determine how far an attacker can reach. Access to one maintainer account may expose several projects, including repositories belonging to other organizations. This makes account permissions and workflow review important security boundaries. A familiar contributor name alone does not establish that a repository change is trustworthy.    \t\t\t\t<\/p>\r\n    \t\t\t    \t\t\t\r\n    \t\t<\/div><!-- \/.ht-shortcodes-messages -->\r\n    \t\t\n<h2>What happened?<\/h2>\n<h3>The campaign expanded across multiple waves<\/h3>\n<table>\n<thead>\n<tr>\n<th>Period<\/th>\n<th>Verified findings<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>August 31\u2013September 30, 2026<\/td>\n<td>Malicious workflows reached 772 public repositories and targeted 2,577 secrets.<\/td>\n<\/tr>\n<tr>\n<td>October 8\u201312, 2026<\/td>\n<td>Researchers recorded more than 30,000 targeted repositories, with the largest spike on October 8\u20139.<\/td>\n<\/tr>\n<tr>\n<td>October wave<\/td>\n<td>Attackers attempted to extract 3,174 secrets from public repositories\u2019 continuous integration environments. This is not a confirmed theft total.<\/td>\n<\/tr>\n<tr>\n<td>From October 9<\/td>\n<td>GitHub began blocking the identified malicious workflow. The observed October 10 and 12 batches could not extract secrets.<\/td>\n<\/tr>\n<tr>\n<td>October 9\u201316, 2026<\/td>\n<td>After GitHub\u2019s workflow blocks, attackers added a second stage targeting developer workstations through VS Code tasks. Research published October 16 identified a 94-repository cluster, with second-stage additions on October 14\u201315. The timing does not establish that GitHub\u2019s blocks caused the shift.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>These findings distinguish workflow injection, attempted collection, and successful execution. They should not be combined into a single count of stolen credentials.<br \/>\n<div class=\"next_blog\"><div class=\"post-next\"><div class=\"hex_blog_box_parent\"><div class=\"blog_warp_next\"><div class=\"next_blog_thumb\" style=\"background-image:url(https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/ai-agents-it-readiness-checklist.webp?format=webp)\"><\/div><div class=\"next_post_content\"><div class=\"center_box\"><h4>AI Agents IT Readiness Checklist: Preparing IT Operations<\/h4><p>Assess AI agent readiness with a checklist covering data, permissions, oversight, testing, and recovery.<\/p><\/div><\/div><\/div><a class=\"hex_blog_box_link hn-cta__blogs--blog-box\" href=\"https:\/\/www.hexnode.com\/blogs\/ai-agents-it-readiness-checklist\/\" aria-label=\"AI Agents IT Readiness Checklist: Preparing IT Operations\"><\/a><\/div><\/div><\/div><\/p>\n<h3>Compromised access enabled workflow injection<\/h3>\n<p>Attackers pushed workflow files using compromised maintainer identities. Stolen tokens or other exposed credentials are plausible entry points, but the evidence does not establish how every affected account was compromised.<\/p>\n<p>Files such as <code>security-audit.yml<\/code> presented the activity as a security improvement. That disguise concerned the malicious repository change; it does not establish that every victim received a phishing message or that attackers bypassed MFA.<\/p>\n<h3>The payload targeted credentials across CI\/CD, repository history, and developer workstations<\/h3>\n<p>The malicious automation targeted named GitHub Actions secrets and searched repository files and commit history for additional credentials. Targets included cloud access keys, package publishing tokens, and AI provider API keys.<\/p>\n<p>Later variants captured nearby text around AWS access key identifiers to help locate corresponding secret access keys. This expanded collection beyond isolated identifiers.<\/p>\n<p>The workflows exfiltrated collected credentials through unencrypted HTTP POST requests using curl to the hardcoded IP address <code>193.32.204.199<\/code>.<\/p>\n<p>The second stage targeted developer workstations. Attackers planted malicious .vscode\/tasks.json files alongside <code>public\/fonts\/fa-solid-400.woff2<\/code>, a fake font containing JavaScript. The task\u2019s runOn: folderOpen setting launches the payload through Node.js when a developer opens the project, provided Node.js is available, the workspace is trusted, and automatic tasks are allowed. Opening the project alone does not guarantee execution.<\/p>\n<p>The local payload reads credential files, SSH private keys, and selected environment variables, and searches the home directory for tokens. It sends collected data to the same IP over unencrypted HTTP on port 8080, extending credential exposure beyond CI\/CD and repository contents.<\/p>\n<p>Successful exfiltration was confirmed in examined workflow runs. A workflow left in a repository could also execute again on subsequent pushes when execution remained permitted. However, the reviewed October research did not establish malicious package publication from the observed stolen publishing credentials at that time.<\/p>\n<h2>Why this matters<\/h2>\n<p>A build pipeline often needs credentials to publish software or deploy infrastructure. If an attacker can modify the workflow using those credentials, legitimate automation can become a route to unauthorized access.<\/p>\n<p>The potential impact depends on each credential\u2019s permissions, validity, and restrictions. A narrowly scoped token limits exposure; a broadly privileged credential can create a much larger investigation.<\/p>\n<p>This also explains why device security alone cannot resolve the incident. Teams must examine repository changes and credential use alongside developer endpoints. Removing a malicious file does not invalidate credentials already collected.<\/p>\n<p>The practical response combines tighter access permissions, controlled workflow changes, endpoint investigation, and secret revocation. Each addresses a different part of the attack path.<\/p>\n<h2>How Hexnode can help<\/h2>\n<h3><a href=\"https:\/\/www.hexnode.com\/\" rel=\"noopener\">Hexnode UEM<\/a>: Harden developer endpoints against credential theft<\/h3>\n<p>Hexnode UEM supports compliance policies that let administrators define device requirements and identify violations. This helps teams prioritize developer devices that need investigation or remediation.<\/p>\n<p>On supported Windows devices, Application Compliance can flag installed applications against configured allowlists or blocklists. For active enforcement, Hexnode\u2019s separate Blocklist\/Allowlist policy uses Windows AppLocker controls to restrict application execution. Administrators can block unwanted executables or allow approved applications using publisher- or file-path-based rules, reducing opportunities for unauthorized software to run on developer devices.<\/p>\n<p>Hexnode UEM\u2019s Automated Patch Management also helps close known vulnerabilities in operating systems and supported applications, including browsers. Administrators can automate eligible updates, require approval, and schedule deployments within maintenance windows. Combined with application restrictions, patching can help reduce developer endpoints\u2019 exposure to known vulnerabilities and unapproved software.<br \/>\n<section id='resource-single'>\n                    <div class='resource-box'>\n                        <div class='resource-box__image-section'>\n                            <div class='resource-box__image-wrap'>\n                                <img decoding=\"async\" src=\"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/Resource-Page-Reports_Thumbnail.webp?format=webp\" class=\"resource-box__image\" alt=\"Resource-Page-Reports_Thumbnail\" loading=\"lazy\" srcset=\"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/Resource-Page-Reports_Thumbnail.webp?format=webp 960w, https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/Resource-Page-Reports_Thumbnail-300x225.webp?format=webp 300w, https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/Resource-Page-Reports_Thumbnail-768x576.webp?format=webp 768w, https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/Resource-Page-Reports_Thumbnail-133x100.webp?format=webp 133w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" title=\"Resource-Page-Reports_Thumbnail\" \/>\n                            <\/div>\n                        <\/div>\n                        <div class='resource-box__content-section'>\n                            <h5 class='resource-box__content-subheading'>\n                            Feature Resource \n                            <\/h5>\n                            <h4 class='resource-box__content-heading'>\n                            Securing the Supply Chain Sector: A Comprehensive Report\n                            <\/h4>\n                            <p class='resource-box__contents'>\n                            Hexnode conducted a survey involving 1000 IT professionals across various sectors in the supply chain industry, aiming to analyze the cybersecurity landscape within them.\n                            <\/p>\n                            <a class='resource-box__content-link hn-cta__blogs--resource-box' href='https:\/\/www.hexnode.com\/resources\/reports\/securing-the-supply-chain-sector-a-comprehensive-report\/'>\n                            Get the Report\n                            <svg xmlns='http:\/\/www.w3.org\/2000\/svg' width='20' height='20' viewBox='0 0 20 20'>\n                            <g id='arrow' transform='translate(-309 -191)' opacity='0'>\n                                <rect id='base' width='20' height='20' transform='translate(309 191)' fill='none'\/>\n                                <path id='arrow-2' data-name='arrow' d='M13.093.5,6.8,6.8.5.5' transform='translate(315 207.594) rotate(-90)' fill='none' stroke='#0549d1' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.2'\/>\n                            <\/g>\n                            <\/svg>\n\n                            <\/a>\n                        <\/div>\n                    <\/div>\n                <\/section><\/p>\n<h3><a href=\"https:\/\/www.hexnode.com\/xdr\/\" rel=\"noopener\">Hexnode XDR<\/a>: Investigate and contain infostealers and local payload execution<\/h3>\n<p>Hexnode XDR provides Process Tree Visualization showing parent-child relationships within a detected threat\u2019s execution chain. For GhostAction-related investigations, analysts can use this context to examine suspicious activity such as VS Code launching Node.js to execute a fake font file, followed by a curl process. These are investigation examples; legitimate developer tools also create child processes, so analysts should validate the command lines, files, and destinations involved.<\/p>\n<p>After confirming malicious activity, analysts can apply targeted response controls:<\/p>\n<ul>\n<li><strong>Kill Process Tree:<\/strong> Terminates the selected process and its spawned child processes to stop the nested execution chain.<\/li>\n<li><strong>One-click Endpoint Isolation:<\/strong> Cuts network communication to contain the endpoint and restrict lateral movement while preserving its connection to the Hexnode XDR console.<\/li>\n<li><strong>File Quarantine:<\/strong> Moves malicious files into a restricted, encrypted location, making them inaccessible to the operating system and user.<\/li>\n<\/ul>\n<p>Together, these controls can support investigation and containment of endpoints where credential-stealing activity is confirmed. They do not establish GhostAction-specific detection or prevention. Complete recovery by revoking stolen GitHub tokens and rotating exposed cloud keys in the relevant services.<\/p>\n<h2>What security teams should do next<\/h2>\n<p>Start by reviewing unexpected changes under <code>.github\/workflows\/<\/code>, including files presented as security audits. Preserve relevant logs, disable malicious workflows, and establish whether they executed.<\/p>\n<p>Extend the investigation and access controls to developer workstations and tokens:<\/p>\n<ul>\n<li><strong>Inspect developer workstations:<\/strong> Scan local repositories for unauthorized <code>.vscode\/tasks.json<\/code> entries, unexpected <code>Node.js<\/code> scripts, and suspicious files containing embedded Base64-encoded payloads. Check fake font files such as <code>public\/fonts\/fa-solid-400.woff2<\/code>, and establish whether automatic tasks executed. Treat encoding alone as a review signal, not proof of malware.<\/li>\n<li><strong>Enforce token governance:<\/strong> Revoke all classic GitHub personal access tokens (PATs) belonging to compromised accounts, along with any other exposed tokens. Require short-lived, fine-grained PATs wherever supported, limit access to necessary repositories and permissions, and restrict classic PAT access through organization policies. Enforce IP allowlisting where available.<\/li>\n<\/ul>\n<p>Revoke the access that enabled the repository changes, then rotate exposed credentials. Issue replacement credentials from a clean device after containing any workstation compromise. Review repository history as well as current files, and investigate cloud and package registry activity during the exposure window. Assign owners to each affected service so recovery includes downstream access.<\/p>\n<p>For longer-term protection, restrict repository write access and workflow permissions. Where supported, use OpenID Connect for cloud deployments to reduce reliance on stored, long-lived credentials. Configure trust conditions carefully.<\/p>\n<p>Hexnode UEM can support device compliance checks, while Hexnode XDR can help investigate and contain related endpoint threats. Use those controls alongside repository safeguards and credential recovery.<\/p>\n<p>Close the incident only after addressing both the malicious workflow and the access that made it possible, including any workstation payloads or persistence mechanisms.<br \/>\n<div class=\"signup_box\"><div class=\"signup_wrap_img\"><div class=\"signup-bg\" style=\"background-image:url(https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/08\/Hexnode-MDM-free-trial.jpg?format=webp)\"><\/div><\/div><div class=\"signup_wrap\"><h5>Try Hexnode free for 14 days<\/h5><p>Sign up for Hexnode to strengthen developer device compliance and support endpoint threat response.<\/p><a href=\"https:\/\/www.hexnode.com\/mobile-device-management\/cloud\/signup\/\" class=\"hn-cta__blogs--signup-stripe\" target=\"_blank\"> Sign Up Today<\/a><\/div><\/div><\/p>\n","protected":false},"excerpt":{"rendered":"<p>A security check in a software repository should help protect your project. In the GhostAction&#8230;<\/p>\n","protected":false},"author":8,"featured_media":2354,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"footnotes":""},"categories":[13,14,19],"class_list":["post-2324","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-identity-abuse","category-supply-chain-attack","category-cloud-and-saas","product_category-unified-endpoint-management","product_category-extended-detection-and-response","tab_group-identity-and-phishing"],"acf":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v28.3 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>GhostAction GitHub supply chain attack: CI\/CD Secret Theft<\/title>\n<meta name=\"description\" content=\"Explore the GhostAction GitHub supply chain attack, its impact on CI\/CD secrets, and practical steps to protect developer access.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"GhostAction GitHub supply chain attack: CI\/CD Secret Theft\" \/>\n<meta property=\"og:description\" content=\"Explore the GhostAction GitHub supply chain attack, its impact on CI\/CD secrets, and practical steps to protect developer access.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/\" \/>\n<meta property=\"og:site_name\" content=\"Hexnode Threat Watch\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/Hexnode\/\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-22T11:08:51+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-28T13:08:19+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/GhostAction-GitHub-supply-chain-attack.png?format=webp\" \/>\n\t<meta property=\"og:image:width\" content=\"1340\" \/>\n\t<meta property=\"og:image:height\" content=\"700\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Alanna River\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@thehexnode\" \/>\n<meta name=\"twitter:site\" content=\"@thehexnode\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Alanna River\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"7 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":[\"Article\",\"BlogPosting\"],\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/\"},\"author\":{\"name\":\"Alanna River\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#\\\/schema\\\/person\\\/c2ed050402be36f7ece23a9b07bc9e64\"},\"headline\":\"GhostAction GitHub supply chain attack: How Malicious Workflows Expose Developer Secrets\",\"datePublished\":\"2026-10-22T11:08:51+00:00\",\"dateModified\":\"2026-10-28T13:08:19+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/\"},\"wordCount\":1463,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.hexnode.com\\\/threat-watch\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/GhostAction-GitHub-supply-chain-attack.png?format=webp\",\"articleSection\":[\"Identity Abuse\",\"Supply Chain Attack\",\"Cloud and SaaS\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/\",\"url\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/\",\"name\":\"GhostAction GitHub supply chain attack: CI\\\/CD Secret Theft\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/cdn.hexnode.com\\\/threat-watch\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/GhostAction-GitHub-supply-chain-attack.png?format=webp\",\"datePublished\":\"2026-10-22T11:08:51+00:00\",\"dateModified\":\"2026-10-28T13:08:19+00:00\",\"description\":\"Explore the GhostAction GitHub supply chain attack, its impact on CI\\\/CD secrets, and practical steps to protect developer access.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#primaryimage\",\"url\":\"https:\\\/\\\/cdn.hexnode.com\\\/threat-watch\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/GhostAction-GitHub-supply-chain-attack.png?format=webp\",\"contentUrl\":\"https:\\\/\\\/cdn.hexnode.com\\\/threat-watch\\\/wp-content\\\/uploads\\\/2026\\\/10\\\/GhostAction-GitHub-supply-chain-attack.png?format=webp\",\"width\":1340,\"height\":700,\"caption\":\"GhostAction GitHub supply chain attack\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/ghostaction-github-supply-chain-credential-theft\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"GhostAction GitHub supply chain attack: How Malicious Workflows Expose Developer Secrets\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#website\",\"url\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/\",\"name\":\"Hexnode Threat Watch\",\"description\":\"Latest cyber threats, smarter enterprise response.\",\"publisher\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#organization\"},\"alternateName\":\"Threat Watch\",\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#organization\",\"name\":\"Hexnode\",\"url\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hexnode-2.png?format=webp\",\"contentUrl\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/wp-content\\\/uploads\\\/2026\\\/08\\\/hexnode-2.png?format=webp\",\"width\":100,\"height\":100,\"caption\":\"Hexnode\"},\"image\":{\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.facebook.com\\\/Hexnode\\\/\",\"https:\\\/\\\/x.com\\\/thehexnode\",\"https:\\\/\\\/www.linkedin.com\\\/company\\\/hexnode\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/#\\\/schema\\\/person\\\/c2ed050402be36f7ece23a9b07bc9e64\",\"name\":\"Alanna River\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d91e52e837001aa3e782febef8d4339b30257abee06ef86933aebc57aa48248?s=96&d=mm&r=g\",\"url\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d91e52e837001aa3e782febef8d4339b30257abee06ef86933aebc57aa48248?s=96&d=mm&r=g\",\"contentUrl\":\"https:\\\/\\\/secure.gravatar.com\\\/avatar\\\/1d91e52e837001aa3e782febef8d4339b30257abee06ef86933aebc57aa48248?s=96&d=mm&r=g\",\"caption\":\"Alanna River\"},\"description\":\"I\u2019m a technical content writer at Hexnode who loves simplifying tech. I break down complex ideas, remove the fluff, and help readers understand our product for what it actually is: simple, reliable, and built to solve real problems.\",\"url\":\"https:\\\/\\\/www.hexnode.com\\\/threat-watch\\\/author\\\/alanna-river\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"GhostAction GitHub supply chain attack: CI\/CD Secret Theft","description":"Explore the GhostAction GitHub supply chain attack, its impact on CI\/CD secrets, and practical steps to protect developer access.","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:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/","og_locale":"en_US","og_type":"article","og_title":"GhostAction GitHub supply chain attack: CI\/CD Secret Theft","og_description":"Explore the GhostAction GitHub supply chain attack, its impact on CI\/CD secrets, and practical steps to protect developer access.","og_url":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/","og_site_name":"Hexnode Threat Watch","article_publisher":"https:\/\/www.facebook.com\/Hexnode\/","article_published_time":"2026-10-22T11:08:51+00:00","article_modified_time":"2026-10-28T13:08:19+00:00","og_image":[{"width":1340,"height":700,"url":"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/GhostAction-GitHub-supply-chain-attack.png?format=webp","type":"image\/png"}],"author":"Alanna River","twitter_card":"summary_large_image","twitter_creator":"@thehexnode","twitter_site":"@thehexnode","twitter_misc":{"Written by":"Alanna River","Est. reading time":"7 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":["Article","BlogPosting"],"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#article","isPartOf":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/"},"author":{"name":"Alanna River","@id":"https:\/\/www.hexnode.com\/threat-watch\/#\/schema\/person\/c2ed050402be36f7ece23a9b07bc9e64"},"headline":"GhostAction GitHub supply chain attack: How Malicious Workflows Expose Developer Secrets","datePublished":"2026-10-22T11:08:51+00:00","dateModified":"2026-10-28T13:08:19+00:00","mainEntityOfPage":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/"},"wordCount":1463,"commentCount":0,"publisher":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/#organization"},"image":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/GhostAction-GitHub-supply-chain-attack.png?format=webp","articleSection":["Identity Abuse","Supply Chain Attack","Cloud and SaaS"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/","url":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/","name":"GhostAction GitHub supply chain attack: CI\/CD Secret Theft","isPartOf":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/#website"},"primaryImageOfPage":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#primaryimage"},"image":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#primaryimage"},"thumbnailUrl":"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/GhostAction-GitHub-supply-chain-attack.png?format=webp","datePublished":"2026-10-22T11:08:51+00:00","dateModified":"2026-10-28T13:08:19+00:00","description":"Explore the GhostAction GitHub supply chain attack, its impact on CI\/CD secrets, and practical steps to protect developer access.","breadcrumb":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#primaryimage","url":"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/GhostAction-GitHub-supply-chain-attack.png?format=webp","contentUrl":"https:\/\/cdn.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/10\/GhostAction-GitHub-supply-chain-attack.png?format=webp","width":1340,"height":700,"caption":"GhostAction GitHub supply chain attack"},{"@type":"BreadcrumbList","@id":"https:\/\/www.hexnode.com\/threat-watch\/ghostaction-github-supply-chain-credential-theft\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.hexnode.com\/threat-watch\/"},{"@type":"ListItem","position":2,"name":"GhostAction GitHub supply chain attack: How Malicious Workflows Expose Developer Secrets"}]},{"@type":"WebSite","@id":"https:\/\/www.hexnode.com\/threat-watch\/#website","url":"https:\/\/www.hexnode.com\/threat-watch\/","name":"Hexnode Threat Watch","description":"Latest cyber threats, smarter enterprise response.","publisher":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/#organization"},"alternateName":"Threat Watch","potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/www.hexnode.com\/threat-watch\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.hexnode.com\/threat-watch\/#organization","name":"Hexnode","url":"https:\/\/www.hexnode.com\/threat-watch\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.hexnode.com\/threat-watch\/#\/schema\/logo\/image\/","url":"https:\/\/www.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/08\/hexnode-2.png?format=webp","contentUrl":"https:\/\/www.hexnode.com\/threat-watch\/wp-content\/uploads\/2026\/08\/hexnode-2.png?format=webp","width":100,"height":100,"caption":"Hexnode"},"image":{"@id":"https:\/\/www.hexnode.com\/threat-watch\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/Hexnode\/","https:\/\/x.com\/thehexnode","https:\/\/www.linkedin.com\/company\/hexnode"]},{"@type":"Person","@id":"https:\/\/www.hexnode.com\/threat-watch\/#\/schema\/person\/c2ed050402be36f7ece23a9b07bc9e64","name":"Alanna River","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/secure.gravatar.com\/avatar\/1d91e52e837001aa3e782febef8d4339b30257abee06ef86933aebc57aa48248?s=96&d=mm&r=g","url":"https:\/\/secure.gravatar.com\/avatar\/1d91e52e837001aa3e782febef8d4339b30257abee06ef86933aebc57aa48248?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1d91e52e837001aa3e782febef8d4339b30257abee06ef86933aebc57aa48248?s=96&d=mm&r=g","caption":"Alanna River"},"description":"I\u2019m a technical content writer at Hexnode who loves simplifying tech. I break down complex ideas, remove the fluff, and help readers understand our product for what it actually is: simple, reliable, and built to solve real problems.","url":"https:\/\/www.hexnode.com\/threat-watch\/author\/alanna-river\/"}]}},"_links":{"self":[{"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/posts\/2324","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/users\/8"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/comments?post=2324"}],"version-history":[{"count":8,"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/posts\/2324\/revisions"}],"predecessor-version":[{"id":2330,"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/posts\/2324\/revisions\/2330"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/media\/2354"}],"wp:attachment":[{"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/media?parent=2324"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hexnode.com\/threat-watch\/wp-json\/wp\/v2\/categories?post=2324"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}