[Python-Dev] Our responsibilities (was Re: BDFL ruling request: should we block forever waiting for high-quality random bits?)

Paul Moore p.f.moore at gmail.com
Thu Jun 16 08:50:54 EDT 2016

On 16 June 2016 at 12:34, Donald Stufft <donald at stufft.io> wrote:
> [1] I don’t think using os.urandom is incorrect to use for security sensitive
>     applications and I think it’s a losing battle for Python to try and fight
>     the rest of the world that urandom is not the right answer here.
> [2] python-dev tends to favor not breaking “working” code over securing existing
>     APIs, even if “working” is silently doing the wrong thing in a security
>     context. This is particularly frustrating when it comes to security because
>     security is by it’s nature the act of taking code that would otherwise
>     execute and making it error, ideally only in bad situations, but this
>     “security’s purpose is to make things break” nature clashes with python-dev’s
>     default of not breaking “working” code in a way that is personally draining
>     to me.

Should I take it from these two statements that you do not believe
that providing *new* APIs that provide better security compared to a
backward compatible but flawed existing implementation is a reasonable
approach? And specifically that you don't agree with the decision to
provide the new "secrets" module as the recommended interface for
getting secure random numbers from Python?

One of the aspects of this debate that I'm unclear about is what role
the people arguing that os.urandom must change see for the new secrets


More information about the Python-Dev mailing list