A newly highlighted attack vector is exploiting a common convenience feature within GitLab, allowing malicious actors to spoof identities and push code to repositories. Security researchers are warning that private, project-specific email addresses—often published openly in documentation to streamline contributions—are being weaponized for supply chain attacks.

According to research published by BleepingComputer on September 28, the flaw is not in GitLab's software, but in how projects are configured. GitLab generates unique, private email addresses (e.g., projectname+username@gitlab.example) that allow developers to push commits and issues to a repository via email. To simplify collaboration, many projects publicly list these "noreply" addresses in their README files, contributing guides, or support pages.

The attack is simple: if these email addresses are public, an attacker can spoof an email from that address and, if the project's email gateway is configured to accept and process such messages, inject malicious commits directly into the repository's default branch. This bypasses standard authentication and merge request reviews, creating a direct path for code sabotage.

"This turns a feature designed to lower the barrier for contribution into a significant vulnerability," researchers noted. The situation underscores a fundamental tension in open-source development: balancing ease of participation with rigorous identity verification.

For development teams and DevOps engineers, particularly those managing projects in Hong Kong's tech ecosystem, this represents an urgent call to audit and reconfigure their GitLab deployments. Security experts and the consensus from a recent technical discussion point to a clear, five-step defensive checklist for repository administrators:

  1. Immediate Audit: The first and most critical step is to scan all public project documentation—including READMEs, contributing guides, and support pages—for any exposed GitLab "noreply" email addresses. Treat these addresses as potentially compromised secrets.
  2. Remove and Rotate: Delete all exposed email addresses from public view immediately. While these specific emails aren't login credentials, their exposure can be leveraged for other attacks. Rotate any API tokens or credentials associated with the project as a precaution.
  3. Enforce Branch Protection: Configure strict branch protection rules on the main or default branch. This should disallow direct pushes and require merge requests with a minimum number of approvals from maintainers, preventing unauthorized commits.
  4. Implement Cryptographic Commit Signing: This is considered the single most effective mitigation against this specific spoofing attack. Mandate that all commits to critical branches are signed with a GPG or SSH key. GitLab can then be configured to verify these signatures, rejecting any unsigned or improperly signed commits, regardless of their origin.
  5. Guide to Secure Channels: Update project documentation to direct contributors away from email submissions. Guide them to use GitLab's authenticated web interface or the official Git command-line tools for submitting code and issues.

The core issue is one of trust. While email-based contribution lowers the barrier for newcomers, it lacks the robust authentication of the GitLab platform itself. The latest advisory makes clear that maintaining security requires actively closing these trust gaps.

The problem is not theoretical. Attackers are actively scanning for and exploiting these exposed addresses. For teams managing proprietary code, internal open-source projects, or any software that forms part of a larger supply chain, the recommendation is to treat exposed GitLab noreply emails with the same urgency as leaked API keys or credentials.

The ultimate lesson extends beyond GitLab. It highlights that security must encompass not just code vulnerabilities but also the configuration of developer tools and the clarity of public-facing documentation. In an era of sophisticated supply chain threats, a single misconfigured email address can become the weakest link.


一個新揭示的攻擊途徑正利用 GitLab 內常見的便利功能,讓惡意行為者偽造身份並推送代碼至儲存庫。安全研究人員警告,私有的、特定於項目的電郵地址——通常在文件中公開發布以簡化貢獻流程——正被武器化用於供應鏈攻擊。

根據 BleepingComputer 於 9 月 28 日發布的研究,漏洞並非存在於 GitLab 的軟件中,而在於項目的配置方式。GitLab 會生成獨特的私有電郵地址(例如 projectname+username@gitlab.example),允許開發者透過電郵推送提交及問題至儲存庫。為了簡化協作,許多項目在其 README 文件、貢獻指南或支援頁面中公開列出這些「不回覆」地址。

攻擊方式很簡單:如果這些電郵地址是公開的,攻擊者便可以從該地址偽造電郵。若項目的電閘設定為接受並處理此類訊息,便可直接將惡意提交注入儲存庫的預設分支。這繞過了標準的認證及合併請求審查機制,為代碼破壞開辟了直接途徑。

研究人員指出:「這將一個旨在降低貢獻門檻的功能轉化為重大漏洞。」此情況凸顯了開源開發中的根本矛盾:在參與便利性與嚴格身份驗證之間取得平衡。

對於開發團隊和 DevOps 工程師,特別是那些在香港科技生態中管理項目的人士,這代表著一個迫切呼籲,需要審計並重新配置其 GitLab 部署方案。安全專家及近期一次技術討論的共識指向一個明確的、包含五個步驟的防禦清單,供儲存庫管理員參考:

  1. 立即審計: 首要且最關鍵的一步是掃描所有公開的項目文件——包括 README、貢獻指南及支援頁面——以查找任何外洩的 GitLab「不回覆」電郵地址。應將這些地址視為可能已被泄露的機密。
  2. 刪除並輪替: 立即從公開視野中刪除所有外洩的電郵地址。雖然這些特定電郵並非登入憑證,但其外洩可能被利用於其他攻擊。作為預防措施,輪替與項目相關的所有 API 令牌或憑證。
  3. 強化分支保護: 在主分支或預設分支上設定嚴格的分支保護規則。應禁止直接推送,並要求提交合併請求時需獲得至少指定數量的維護者批准,以防止未經授權的提交。
  4. 實施加密提交簽署: 這被認為是針對此特定偽造攻擊最有效的單一緩解措施。要求所有提交至關鍵分支的代碼必須使用 GPG 或 SSH 金鑰簽署。隨後可配置 GitLab 以驗證這些簽章,拒絕任何未簽署或簽署不當的提交,無論其來源。
  5. 引導至安全通道: 更新項目文件,指引貢獻者避免使用電郵提交。指導他們使用 GitLab 已驗證的網絡界面或官方 Git 命令列工具來提交代碼及問題。

核心問題在於信任。雖然基於電郵的貢獻降低了新加入者的門檻,但它缺乏 GitLab 平台本身強大的身份驗證機制。最新的安全通告明確指出,維護安全性需要主動填補這些信任缺口。

問題並非理論性的。攻擊者正積極掃描並利用這些外洩的地址。對於管理專有代碼、內部開源項目或任何構成更廣泛供應鏈一部分軟件的團隊,建議以處理洩露的 API 金鑰或憑證的同等緊急程度,對待外洩的 GitLab 不回覆電郵。

最終的教訓超越了 GitLab 本身。它突顯了安全性不僅必須涵蓋代碼漏洞,還必須涵蓋開發工具的配置及公開文件的清晰度。在複雜的供應鏈威脅時代,一個配置不當的電郵地址可能成為最薄弱的一環。

新聞來源 / Original News Source