Preventing Crypto Mining abuse on GitLab.com SaaS
Recently, there has been a massive uptick in abuse of free pipeline minutes available on GitLab.com and on other CI/CD providers to mine cryptocurrencies. In addition to the cost increases, the abuse creates intermittent performance issues for GitLab.com users and requires our teams to work 24x7 to maintain optimal services for our customers and users. To discourage and reduce abuse, starting May 17th, 2021, GitLab will require new free users to provide a valid credit card in order to use shared runners on GitLab.com. However, a user will be able to run pipelines without providing a credit card if they use their own runner and disable shared runners. Although imperfect, we believe this will reduce the abuse.
We plan to rollout this change gradually and increase the scope if needed in the following manner. We plan to start with adding the new requirement for new free users created on or after May 17th, 2021. If we continue to see abuse through existing free accounts, we plan to extend the requirement to additional users.
This change does not currently impact any of the following users:
- GitLab self-managed customers and users (free or otherwise)
- Paid or program users (e.g. education, open source) on GitLab.com
- Users created before May 17, 2021
When you provide the card, it will not be charged but instead will be verified with a one-dollar authorization transaction. No charge will be made and no money will transfer.
A credit card is one (of many) controls we have put in place to reduce abuse of our platform. We will never fully solve platform abuse, but the more barriers we put up, the more difficult and expensive it becomes to engage in abuse.
The GitLab team members have already activated and shipped many improvements. These were helpful in deterring abuse, although are not sufficient. A sampling of the fixes we have delivered to mitigate pipeline abuse include:
- Fail creation of jobs when pipeline minutes quota is exceeded.
- Fail pipelines after user exceeds pipeline minutes quota.
- Adding restrictions to the creation of namespaces via the API.
- Enabling the termination of pipelines when blocking a user.
- Ensuring pipelines do not run when pipelines are owned by a blocked user.
- Closing gaps in jobs running by user accounts deleted by users.
- Utilizing and enhancing the External Pipeline Validation Service specifically around authentication, payload, and access restriction.
- Ensuring scheduled pipelines don't run by blocked users.
We expect to make enhancements to harden our pipeline system against abuse. We believe using pipeline minute quotas as the foundation for free minute usage will be the best mechanism for failing jobs and pipelines to stop abuse. Including this effort, our other pipeline abuse improvements are below:
- Include public projects in pipeline minutes quota for free users.
- Expand application limits for preventing abuse of webhooks.
A user impacted by this change has the following options:
- Provide a credit card and use the four hundred free minutes with shared runners.
- A user can also run pipelines without providing a credit card if they use their own runner and disable shared runners for their project.
- Decline to provide the card and continue to utilize many of the GitLab capabilities for free. In this case, any feature within GitLab that relies on our pipelines won't work, such as: a pipeline (CI/CD generally), scheduled pipelines including on-demand DAST scans, defining your own pipelines, utilizing AutoDevOps.
- Switch to GitLab Self-managed
Validating an account
Continue the conversation
Please share your questions and feedback with us on the community forum.
from GitLab https://ift.tt/3eUEz10 #GitLab #DevSecOps
Comments
Post a Comment