GitHub

GitHub

A sophisticated **typosquatting attack** targeted GitHub via a malicious npm package **‘@acitons/artifact’** (mimicking the legitimate **‘@actions/artifact’**), accumulating **206,000+ downloads** before removal. The attack exploited developers mistyping dependency names, deploying a **post-install hook** that executed obfuscated malware undetected by antivirus tools (0/60 on VirusTotal at discovery). The malware, compiled via **Shell Script Compiler (shc)**, checked for **GitHub-specific environment variables** (e.g., build tokens) and exfiltrated **authentication tokens** from GitHub Actions workflows. These tokens could enable attackers to **publish malicious artifacts under GitHub’s identity**, risking a **cascading supply chain compromise**. The campaign used **hardcoded expiry dates** (Nov 6–7, 2023) and **AES-encrypted exfiltration** via a GitHub App endpoint, evading detection. The attack directly threatened **GitHub’s CI/CD infrastructure**, with potential downstream risks to **repositories, developers, and enterprise customers** relying on GitHub Actions. While GitHub removed the malicious packages and users, the incident highlights critical vulnerabilities in **dependency trust models** and the escalating threat of **supply chain attacks** (OWASP Top 10 2025).

Source: https://gbhackers.com/malicious-npm-package/

GitHub cybersecurity rating report: https://www.rankiteo.com/company/github

"id": "GIT4192541111325",
"linkid": "github",
"type": "Cyber Attack",
"date": "11/2023",
"severity": "100",
"impact": "5",
"explanation": "Attack threatening the organization’s existence"
{'affected_entities': [{'customers_affected': 'developers using GitHub Actions '
                                              '(206,000+ package downloads)',
                        'industry': 'software development/platform',
                        'location': 'San Francisco, California, USA',
                        'name': 'GitHub (Microsoft)',
                        'size': 'large enterprise',
                        'type': 'technology company'},
                       {'industry': ['software development', 'DevOps', 'CI/CD'],
                        'location': 'global',
                        'name': "Developers using '@acitons/artifact'",
                        'type': 'individuals/organizations'}],
 'attack_vector': ['typosquatting (npm package)',
                   'post-install hook',
                   'obfuscated shell script (shc)',
                   "Node.js package with obfuscated JavaScript ('verify.js')",
                   'GitHub Actions environment variables'],
 'customer_advisories': ['Veracode customers received automated protection via '
                         'Package Firewall'],
 'data_breach': {'data_encryption': ['AES encryption for exfiltrated data'],
                 'data_exfiltration': True,
                 'sensitivity_of_data': 'high (build environment credentials)',
                 'type_of_data_compromised': ['GitHub authentication tokens',
                                              'environment variables']},
 'date_detected': '2023-11-07',
 'date_publicly_disclosed': '2023-11-07',
 'description': 'On November 7th, Veracode Threat Research discovered a '
                'typosquatting campaign targeting developers using GitHub '
                "Actions. The malicious npm package '@acitons/artifact' "
                "(mimicking the legitimate '@actions/artifact') accumulated "
                'over 206,000 downloads before removal. The package contained '
                'a post-install hook that executed obfuscated malware, '
                'designed to exfiltrate GitHub authentication tokens during '
                'builds. The attack demonstrated advanced operational '
                'security, including self-termination dates and encrypted '
                'exfiltration via GitHub App-based endpoints. The campaign '
                "targeted GitHub's own repositories and posed a supply chain "
                'risk.',
 'impact': {'brand_reputation_impact': ['eroded trust in npm/GitHub Actions '
                                        'ecosystem',
                                        'developer caution in package '
                                        'installation'],
            'data_compromised': ['GitHub authentication tokens',
                                 'potential downstream repository access'],
            'identity_theft_risk': ['if tokens allowed access to personal '
                                    'repositories'],
            'operational_impact': ['potential cascading supply chain attacks',
                                   'compromised build environments'],
            'systems_affected': ['GitHub Actions CI/CD pipelines',
                                 'developer workstations (via npm install)']},
 'initial_access_broker': {'backdoors_established': ['post-install hook with '
                                                     'obfuscated malware'],
                           'entry_point': 'npm package installation '
                                          "('@acitons/artifact')",
                           'high_value_targets': ['GitHub organization '
                                                  'repositories',
                                                  'GitHub Actions environment '
                                                  'variables']},
 'investigation_status': 'resolved (package removed, accounts terminated)',
 'lessons_learned': ['Typosquatting remains effective for supply chain attacks '
                     'despite awareness.',
                     'Obfuscation techniques (shc, encrypted C2) can evade AV '
                     'detection (0/XX on VirusTotal).',
                     'GitHub Actions environment variables are high-value '
                     'targets for token theft.',
                     'Short-lived malware (self-termination dates) complicates '
                     'detection.',
                     'CI/CD pipelines require stricter dependency verification '
                     '(e.g., package signing, allowlists).'],
 'motivation': ['supply chain compromise',
                'authentication token theft',
                'impersonation of GitHub for downstream attacks'],
 'post_incident_analysis': {'corrective_actions': ['npm removed malicious '
                                                   'package and related '
                                                   'versions.',
                                                   'GitHub terminated '
                                                   'associated user accounts.',
                                                   'Veracode enhanced '
                                                   'detection for obfuscated '
                                                   'post-install scripts.',
                                                   'Public advisory issued to '
                                                   'raise awareness of '
                                                   'typosquatting risks in '
                                                   'CI/CD.'],
                            'root_causes': ['Lack of package name validation '
                                            'during npm install.',
                                            'Over-permissive GitHub Actions '
                                            'environment variables.',
                                            'Insufficient scanning of '
                                            'post-install hooks in npm '
                                            'packages.',
                                            'Developer reliance on automated '
                                            'dependency installation without '
                                            'verification.']},
 'recommendations': ['Implement package allowlists for CI/CD dependencies.',
                     'Use tools like Veracode Package Firewall to block '
                     'malicious packages.',
                     'Enable GitHub’s dependency review for Actions workflows.',
                     'Monitor for unusual npm package installations (e.g., '
                     'typosquatted names).',
                     'Restrict access to GitHub Actions environment variables '
                     '(least privilege).',
                     'Scan build environments for unauthorized network egress '
                     '(exfiltration).',
                     'Educate developers on verifying package names during '
                     'installation.'],
 'references': [{'date_accessed': '2023-11-07',
                 'source': 'Veracode Threat Research'},
                {'date_accessed': '2023-11-07', 'source': 'GBHackers (GBH)'},
                {'source': 'OWASP Top 10 2025 (Supply Chain Attacks)'}],
 'response': {'communication_strategy': ['public disclosure by Veracode',
                                         'media coverage (e.g., GBH)'],
              'containment_measures': ['npm package removal '
                                       "('@acitons/artifact')",
                                       'removal of two GitHub user accounts '
                                       'linked to malware',
                                       'blocking 12 versions of related '
                                       "package '8jfiesaf83'"],
              'enhanced_monitoring': ['recommended for GitHub Actions '
                                      'environments'],
              'incident_response_plan_activated': True,
              'remediation_measures': ['Veracode Package Firewall protection '
                                       'for customers',
                                       'advisory for GitHub Actions users to '
                                       'scrutinize dependencies'],
              'third_party_assistance': ['Veracode Threat Research']},
 'stakeholder_advisories': ['Developers advised to audit GitHub Actions '
                            "dependencies for '@acitons/artifact'"],
 'title': 'Typosquatting Campaign Targeting GitHub Actions via Malicious npm '
          "Package '@acitons/artifact'",
 'type': ['supply chain attack',
          'typosquatting',
          'malware',
          'data exfiltration'],
 'vulnerability_exploited': ['developer mistyped dependency installation',
                             'lack of package verification in CI/CD pipelines',
                             'unrestricted access to GitHub Actions '
                             'environment variables']}
Great! Next, complete checkout for full access to Rankiteo Blog.
Welcome back! You've successfully signed in.
You've successfully subscribed to Rankiteo Blog.
Success! Your account is fully activated, you now have access to all content.
Success! Your billing info has been updated.
Your billing was not updated.