Expose user's MFA status #2889
Replies: 11 comments 1 reply
-
I'm not wholly convinced by this. I think making it opt-in will cause very low take-up, so the signal will be unreliable. It also means we can't rely on very soft shame as an incentive to enable MFA on accounts. Most attacks on accounts will be done in bulk. The accounts at risk stay the same whether or not they are enumerable and for the scale of accounts involved, forcing full enumeration won't be a significant slowdown. |
Beta Was this translation helpful? Give feedback.
-
What is "soft shaming", can you explain this term please? I would like to hear the explanation before I can respond. In regards to opt-in versus opt-out: since opt-in is less disruptive |
Beta Was this translation helpful? Give feedback.
-
That's the line I was hoping to avoid: as a maintainer I'd be open to an issue with a tone of "do you have rubygems MFA enabled? would you mind proving it?" versus "why haven't you enabled MFA yet? the fate of my product depends on you!" |
Beta Was this translation helpful? Give feedback.
-
I think it's reasonable to avoid surprising people by simply making this setting visible, without prior warning. Would y'all be open to declaring an intention to make this setting visible in the future, and encourage gem maintainers to proactively turn on MFA in a healthy, positive way (without public shaming)? |
Beta Was this translation helpful? Give feedback.
-
I'd buy something like sending an email well in advance that it would happen, and framing it so that an MFA badge is simply missing if it's not set (so no nag-like "MFA disabled!" badge anywhere). But if the signal is to be meaningful, it has to be fully automated at some point. |
Beta Was this translation helpful? Give feedback.
-
@kddnewton just submitted a PR to expose this information. I don't feel like we've resolved that bigger strategy conversation about how to get everyone to a point where they're comfortable exposing that information. My question above was:
I know @jchestershopify agrees with me 🤣 but I'd love to understand how the maintainers feel about it? I'm keen to find a path forward and not lose momentum on this topic. |
Beta Was this translation helpful? Give feedback.
-
lol my bad didn’t see this issue I was just trying to write a bundler
plugin and needed this info.
…On Wed, Oct 27, 2021 at 3:57 PM Mike Dalessio ***@***.***> wrote:
@kddnewton <https://github.com/kddnewton> just submitted a PR to expose
this information. I don't feel like we've resolved that bigger strategy
conversation about how to get everyone to a point where they're comfortable
exposing that information.
My question above was:
Would y'all be open to declaring an intention to make this setting visible
in the future, and encourage gem maintainers to proactively turn on MFA in
a healthy, positive way (without public shaming)?
I know @jchestershopify <https://github.com/jchestershopify> agrees with
me 🤣 but I'd love to understand how the maintainers feel about it? I'm
keen to find a path forward and not lose momentum on this topic.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
<#2813 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ABG3P3VZ43Y6CLFA4IU3EZDUJBKTBANCNFSM5FJGFTUQ>
.
|
Beta Was this translation helpful? Give feedback.
-
IMHO, we should come up with positive nudges similar to opt-in for MFA requirement we released recently. The gems which have opt-in will get to show |
Beta Was this translation helpful? Give feedback.
-
My use case is that I would like to only install gems whose authors have MFA enabled. I figure I can write my own bundler plugin that will handle this logic for me, but only if an API exists that will expose that information. So that's why I'd really like for that information to be available. It's all well and good to expose the information on the rubygems.org webpage - I think that's a great addition! But I can't imagine the most common workflow is for people to go to that page as opposed to the associated repository. |
Beta Was this translation helpful? Give feedback.
-
Adding another use case here: As a part of #2755, this work would be helpful in enabling MFA on api keys created on gem signin in the CLI. We only want to ask a user if they would like to enable mfa on new keys if they have account mfa levels of ui_only or ui_and_gem_sign. Users that have MFA disabled or those that have it enabled for ui_and_api should not be prompted, as it should be auto enabled or disabled for those levels. Exposing mfa level in the API allows us to make this distinction. |
Beta Was this translation helpful? Give feedback.
-
I don't think we need to make mfa levels public for this use-case. It should be doable with an auth API where you fetch your own mfa level. "I would like to only install gems whose authors have MFA enabled" is the only somewhat valid use-case that has come up. |
Beta Was this translation helpful? Give feedback.
-
Is your feature request related to a problem?
I'd like to know which of my dependency's owners have MFA enabled, so I can quantify the risk of a supply chain compromise.
Describe the solution you'd like
I'd like the Owners API endpoints to expose the status of the User.mfa_level enum for each owner.
I'd like this to be something users must opt in to (e.g.
show_mfa: true
): so the feature can't enumerate "weaker" accounts without MFA, only reassurance of accounts with MFA enabled.Describe alternatives you've considered
I could fork/proxy all dependencies to control their release process, but that would slow collaboration/updates.
I could rely on Gem Signing to strongly authenticate Gem owners, but I expect MFA has a higher adoption rate and lower barrier to entry. Similarly I could wait for rubygems-trust or TUF 🤞.
Additional context
This is minimal "you can trust me" evidence: not that the gem isn't malicious, but that some care went into securing the publishing process.
There are additional best practices identified by _sonalkr132 in #2698 (comment) that could be exposed as further evidence:
Beta Was this translation helpful? Give feedback.
All reactions