- यह एक लोकप्रिय GitHub Action है जिसका उपयोग हर branch में हुए बदलावों को ट्रैक करने के लिए किया जाता है, और समझौता किए गए commit के जरिए CI/CD secrets लीक करने की कोशिश की गई
- 23,000 Repo प्रभावित हुए, और GitHub ने इस action को हटा दिया है, इसलिए अब इसका उपयोग संभव नहीं है
- इसे वैकल्पिक action से बदलें और यह जांचें कि public workflow logs में secrets उजागर हुए हो सकते हैं, इसलिए जांच के बाद keys rotate करना अनिवार्य है
- StepSecurity के Harden-Runner ने इसे खोजा, और security-hardened alternative action step-security/changed-files को मुफ्त में वितरित किया जा रहा है
घटना का सारांश
- tj-actions/changed-files का उपयोग 23,000 से अधिक repositories में हो रहा था और इससे समझौता किया गया
- हमलावर ने action code में बदलाव किया और version tags को malicious commit पर re-point कर दिया
- इसके कारण GitHub Actions build logs में CI/CD secrets प्रिंट हो गए
- public workflow logs में secrets के उजागर होने की संभावना है
- Harden-Runner ने unexpected endpoint detect करने के बाद इस समस्या का पता लगाया
- malicious Python script ने Runner Worker process से secrets dump करवाए
- सभी tags को एक ही malicious commit hash (
0e58ed8671d6b60d0890c21b07f8835ace038e67) पर सेट कर दिया गया
GitHub की प्रतिक्रिया
- GitHub ने tj-actions/changed-files action को हटा दिया और इसका उपयोग बंद कर दिया
- आधिकारिक CVE है CVE-2025-30066
रिकवरी के लिए क्या करें
-
1. StepSecurity द्वारा दिया गया सुरक्षित वैकल्पिक action इस्तेमाल करें
tj-actions/changed-files action को step-security/changed-files@v45 से बदलें
-
2. tj-actions/changed-files के सभी references हटाएँ
-
3. GitHub Actions workflow execution logs का audit करें
- हालिया execution logs में secrets लीक हुए हैं या नहीं, इसकी जांच ज़रूरी है
- अगर leaked secrets मिलें, तो उन्हें तुरंत rotate (reset) करें
-
4. GitHub Actions allowlist सेट करें
- केवल trusted GitHub Actions को run करने के लिए allowlist configure करें:
- GitHub settings में यह allow configuration उपलब्ध है:
- Settings → Actions → Allow select actions
-
5. StepSecurity Harden-Runner configure करें
- Harden-Runner में network traffic और workflow execution monitoring configure की जा सकती है
अगला चरण
- GitHub को समस्या report कर दी गई → GitHub issue: #2463
- tj-actions/changed-files repository हटा दी गई
- इसे आधिकारिक रूप से CVE-2025-30066 के रूप में दर्ज किया गया
- StepSecurity Harden-Runner के जरिए ऐसे समान security issues का पता लगाया और रोका जा सकता है
- security posture को मजबूत करने और real-time monitoring करने के लिए Harden-Runner configure करने की सिफारिश की जाती है
2 टिप्पणियां
कल रात यह काम नहीं कर रहा था, लेकिन अब फिर से चल रहा है।
Hacker News की राय
Renovate के लेखक और मेंटेनर ने attack scenario समझाया
पिछले कुछ वर्षों में third-party dependencies और extensions पर भरोसा घटा है
repository फिर से online हो गई और developer ने स्पष्टीकरण दिया
Clickhouse में github_events की जाँच करके attack में इस्तेमाल account की पहचान की गई
यह चौंकाने वाला है कि CI/CD चलाने का तरीका GitHub की random repositories को सूचीबद्ध करने जैसा है
StepSecurity के co-founder ने बताया कि security incident कैसे detect किया गया
GitHub Actions का default usage pattern, यानी non-immutable git tags का उपयोग, ही समस्या है
immutable GitHub Actions लाए जाने की योजना है
maven-lockfile project ने auto-merged PR के बारे में बताया
GitHub Actions को dependencies के लिए lockfile इस्तेमाल करना चाहिए