A
仿¥äž
Novee Securityã¯ãGitHubã®CI/CDã¯ãŒã¯ãããŒã«ãããèšå®äžåã«ããè匱æ§ãCordycepsããçºèŠããŸãã
ð äžèšã§ãããš
Novee Securityã¯ãGitHubã®CI/CDã¯ãŒã¯ãããŒã«ãããèšå®äžåã«ããè匱æ§ãCordycepsããçºèŠããŸããããã®è匱æ§ãæªçšãããšãèªèšŒãããŠããªããŠãŒã¶ãŒããã«ãªã¯ãšã¹ããéããŠã³ãŒãå®è¡ãèªèšŒæ
å ±ã®çªåããµãã©ã€ãã§ãŒã³æ»æãè¡ãããšãå¯èœã§ããMicrosoftãGoogleãå«ã倧æçµç¹ã®300以äžã®ãªããžããªã圱é¿ãåããŠããããšã倿ããŠããŸãã
ð該åœå€å®
- GitHubã§ãœãŒã¹ã³ãŒãã管çããGitHub Actionsãªã©ã®CI/CDããŒã«ãå©çšããŠãã
- GitHubã®ãã«ãªã¯ãšã¹ãïŒPRïŒã«ãããŠãå€éšãŠãŒã¶ãŒããã®ææ¡ãèªåçã«åŠçããèšå®ã«ããŠãã
- GitHubã®ãªããžããªèšå®ã§ããã«ãªã¯ãšã¹ãã«éå°ãªæš©éïŒæžãèŸŒã¿æš©éãªã©ïŒãä»äžããŠãã
- èªç€Ÿã§ãªãŒãã³ãœãŒã¹ãœãããŠã§ã¢ïŒOSSïŒãå ¬éã»éçšããŠãã
äžèšãããã«ã該åœããªã â é芳ã§OK
â
è©²åœæã®å¯Ÿå¿
CI/CDã¯ãŒã¯ãããŒã®èšå®ãèŠçŽãããã«ãªã¯ãšã¹ãïŒPRïŒã«éå°ãªæš©éãä»äžãããŠããªãã確èªããããšãç¹ã«ãå€éšããã®PRãæ©å¯æ
å ±ã«ã¢ã¯ã»ã¹ããããæ¿èªãªãã«ã³ãŒããå®è¡ãããã§ããèšå®ãæé€ããæå°æš©éã®ååãé©çšããŠãã ããã
ð§ ã¡ãŒã«æ¡ãèŠã (管çè åã)
â ïž ãã㯠AI ãçæããåèäŸã§ããé
ä¿¡åã«å¿
ãå
容ãã確èªã®ããã貎瀟ã®ç¶æ³ã«åãããŠç·šéããŠãå©çšãã ãããå®éã®è¢«å®³ç¶æ³ãèªç€Ÿã®å©çšç°å¢ãèžãŸãã倿ã¯ã貎瀟ã®ã»ãã¥ãªãã£è²¬ä»»è
ã«ã確èªãã ããã
ä»¶å: ãå
±æãGitHub CI/CDã¯ãŒã¯ãããŒã®è匱æ§ïŒCordycepsïŒãžã®å¯Ÿå¿ã«ã€ããŠ
ãç²ãããŸã§ããGitHubã®CI/CDèšå®ã«é¢ããé倧ãªè匱æ§ãCordycepsãã«é¢ããæ å ±å ±æã§ãã
â æŠèŠ
CI/CDã¯ãŒã¯ãããŒã®äžé©åãªæš©éèšå®ã«ãããèªèšŒãããŠããªãå€éšãŠãŒã¶ãŒããã«ãªã¯ãšã¹ããéããŠã¯ãŒã¯ãããŒããã€ãžã£ãã¯ããã³ãŒãå®è¡ãèªèšŒæ å ±ã®çªåãå¯èœã«ãªãè匱æ§ã§ãã
â 圱é¿ç¯å²
- GitHub Actionsçã®CI/CDã¯ãŒã¯ãããŒãå©çšããŠãããªããžããª
- ç¹ã«ãå€éšããã®ãã«ãªã¯ãšã¹ãã«éå°ãªæš©éãèš±å¯ããŠããèšå®
â å¯Ÿå¿æé
1. GitHubãªããžããªã®ã¯ãŒã¯ãããŒèšå®ïŒGitHub ActionsçïŒã確èªãã`pull_request` ã€ãã³ãã«ãããæš©éèšå®ãã¬ãã¥ãŒããã
2. å€éšã³ã³ããªãã¥ãŒã¿ãŒã«ããPRããæ©å¯å€æ°ïŒSecretsïŒãžã®ã¢ã¯ã»ã¹ãç¹æš©æäœãè¡ããªãããå¶éããããã
3. æå°æš©éã®ååã«åºã¥ããã¯ãŒã¯ãããŒã® `permissions` 屿§ãæç€ºçã«å®çŸ©ããã
â åèæ å ±
- Novee Security ã«ãã Cordyceps å ±å
察å¿åªå 床: é«
å¯Ÿå¿æé: éããã«ç¢ºèª
ãç²ãããŸã§ããGitHubã®CI/CDèšå®ã«é¢ããé倧ãªè匱æ§ãCordycepsãã«é¢ããæ å ±å ±æã§ãã
â æŠèŠ
CI/CDã¯ãŒã¯ãããŒã®äžé©åãªæš©éèšå®ã«ãããèªèšŒãããŠããªãå€éšãŠãŒã¶ãŒããã«ãªã¯ãšã¹ããéããŠã¯ãŒã¯ãããŒããã€ãžã£ãã¯ããã³ãŒãå®è¡ãèªèšŒæ å ±ã®çªåãå¯èœã«ãªãè匱æ§ã§ãã
â 圱é¿ç¯å²
- GitHub Actionsçã®CI/CDã¯ãŒã¯ãããŒãå©çšããŠãããªããžããª
- ç¹ã«ãå€éšããã®ãã«ãªã¯ãšã¹ãã«éå°ãªæš©éãèš±å¯ããŠããèšå®
â å¯Ÿå¿æé
1. GitHubãªããžããªã®ã¯ãŒã¯ãããŒèšå®ïŒGitHub ActionsçïŒã確èªãã`pull_request` ã€ãã³ãã«ãããæš©éèšå®ãã¬ãã¥ãŒããã
2. å€éšã³ã³ããªãã¥ãŒã¿ãŒã«ããPRããæ©å¯å€æ°ïŒSecretsïŒãžã®ã¢ã¯ã»ã¹ãç¹æš©æäœãè¡ããªãããå¶éããããã
3. æå°æš©éã®ååã«åºã¥ããã¯ãŒã¯ãããŒã® `permissions` 屿§ãæç€ºçã«å®çŸ©ããã
â åèæ å ±
- Novee Security ã«ãã Cordyceps å ±å
察å¿åªå 床: é«
å¯Ÿå¿æé: éããã«ç¢ºèª
Subject: [Security Alert] Addressing GitHub CI/CD Workflow Vulnerability (Cordyceps)
Dear IT/Security Team,
We are sharing information regarding a critical vulnerability in GitHub CI/CD configurations codenamed 'Cordyceps'.
â Overview
Due to weak CI/CD configurations, unauthenticated users can hijack workflows via pull requests (PRs), leading to arbitrary code execution and credential theft.
â Scope
- Repositories utilizing CI/CD workflows (e.g., GitHub Actions).
- Specifically, those granting excessive permissions to PRs from external contributors.
â Mitigation Steps
1. Review GitHub workflow configurations and audit permissions associated with `pull_request` events.
2. Ensure that PRs from external forks cannot access sensitive secrets or perform privileged operations without manual approval.
3. Explicitly define the `permissions` attribute in workflow files following the principle of least privilege.
â Reference
- Novee Security Cordyceps Research
Priority: High
Deadline: Immediate review recommended
Dear IT/Security Team,
We are sharing information regarding a critical vulnerability in GitHub CI/CD configurations codenamed 'Cordyceps'.
â Overview
Due to weak CI/CD configurations, unauthenticated users can hijack workflows via pull requests (PRs), leading to arbitrary code execution and credential theft.
â Scope
- Repositories utilizing CI/CD workflows (e.g., GitHub Actions).
- Specifically, those granting excessive permissions to PRs from external contributors.
â Mitigation Steps
1. Review GitHub workflow configurations and audit permissions associated with `pull_request` events.
2. Ensure that PRs from external forks cannot access sensitive secrets or perform privileged operations without manual approval.
3. Explicitly define the `permissions` attribute in workflow files following the principle of least privilege.
â Reference
- Novee Security Cordyceps Research
Priority: High
Deadline: Immediate review recommended