Slashdot Mirror


Python's Official Repository Included 10 'Malicious' Typo-Squatting Modules (bleepingcomputer.com)

An anonymous reader quotes BleepingComputer: The Slovak National Security Office (NBU) has identified ten malicious Python libraries uploaded on PyPI -- Python Package Index -- the official third-party software repository for the Python programming language. NBU experts say attackers used a technique known as typosquatting to upload Python libraries with names similar to legitimate packages -- e.g.: "urlib" instead of "urllib." The PyPI repository does not perform any types of security checks or audits when developers upload new libraries to its index, so attackers had no difficulty in uploading the modules online.

Developers who mistyped the package name loaded the malicious libraries in their software's setup scripts. "These packages contain the exact same code as their upstream package thus their functionality is the same, but the installation script, setup.py, is modified to include a malicious (but relatively benign) code," NBU explained. Experts say the malicious code only collected information on infected hosts, such as name and version of the fake package, the username of the user who installed the package, and the user's computer hostname. Collected data, which looked like "Y:urllib-1.21.1 admin testmachine", was uploaded to a Chinese IP address. NBU officials contacted PyPI administrators last week who removed the packages before officials published a security advisory on Saturday."

The advisory lays some of the blame on Python's 'pip' tool, which executes arbitrary code during installations without requiring a cryptographic signature.

Ars Technica also reports that another team of researchers "was able to seed PyPI with more than 20 libraries that are part of the Python standard library," and that group now reports they've already received more than 7,400 pingbacks.

69 comments

  1. pip by globaljustin · · Score: 1

    I use pip install all the time...well pip3 install

    pypl is great but they could increase their security at bit and still keep the same level of functionality. This malware is kind of obvious, or at least it seems like it should be obvious to security people.

    I remember thinking on more than a few occasions that pypl could be easily misused by beginners.

    --
    Thank you Dave Raggett
    1. Re:pip by Z00L00K · · Score: 1

      And how would cryptographically signed even help?

      Anyone letting a package into a library site need to verify it before it can be downloaded.

      If you download stuff from an unofficial library then you are on your own. But most of the unofficial sites are friendly though, so don't be too scared.

      --
      If builders built buildings the way programmers wrote programs, then the first woodpecker would destroy civilization.
    2. Re:pip by lucm · · Score: 5, Funny

      And how would cryptographically signed even help?

      That way you can be sure that if you download malware, it's not tampered with.

      --
      lucm, indeed.
    3. Re:pip by cdreimer · · Score: 0

      Pip is the markings on dominoes and dice.

      https://en.wikipedia.org/wiki/Pip_(counting)

    4. Re: pip by Anonymous Coward · · Score: 0

      Pips are used as rank insignia in Star Trek.

    5. Re: pip by cdreimer · · Score: 0

      Pip pip cheerio!

    6. Re:pip by lkcl · · Score: 1

      I use pip install all the time...well pip3 install

      pypl is great but they could increase their security at bit and still keep the same level of functionality.

      it's actually incredibly comprehensive and extremely involved. for a completely separate team, i'm just in the process of writing up the requirements (following software engineering practices) which cover exactly this scenario: you can read them here if you like (note: they're in development and undergoing review): http://lkcl.net/reports/wot/

      basically from that MASSIVE list - a whopping EIGHTEEN separate and distinct requirements and that's not even getting into implementation details - you should be getting that familiar sinking feeling that what you're asking for is simply... too much for the pypi team to handle on their own. to expect them to be able to do a full verification of each and absolutely every single one of the packages - in fact to even keep their *own website* secure from attack - is simply too much.

      what *would* work is if the pypi team told all uploaders that the entire pypi infrastructure is converting over to a secure web-of-trust: that it is now following standard best practices followed for decades now by absolutely every single distro. namely: that uploaders are required to engage in key-signing parties and to register in a web-of-trust; that uploaders must then digitally GPG-sign their packages; and that pypi will only authorise a package as being online in the pypi index when they have GPG-signed a SHA2 checksum of the complete and full listing of every single package available for download on the entire pypi site.

      new package uploaders would then also need to be "approved" - it would need to become impossible for just any arbitrary-named package to be uploaded, as their GPG key would need to be verified as being part of the web-of-trust. this would then stop dead in its tracks the exact sort of thing that's come up (but also provide the level of trust and reassurance in every single package which is completely missing right now).

      basically, pypi needs to follow the exact same standard practices as any GNU/Linux Distro, and, to be absolutely bluntly honest, anyone who downloads arbitrarily untrusted software (like they do with windows, and including people who use ubuntu and download arbitrary .deb files, bypassing the entire purpose of the GPG web-of-trust behind apt-get and aptitude), gets precisely and exactly what they deserve. yes i have had acquaintances who have blithely downloaded a trojan'ed .deb package because it happened to have the same name. no he didn't bother to check its provenance.

      so, justin, may i respectfully recommend that if peace of mind is important to you, and you also wish to not have to do a full audit of the source code that you're downloading, that you use a GNU/Linux Distro only, and STOP using pip and pypi? if you're using a mac or using windows, you could at least have a mirror-machine where you do (if it's debian) "apt-get install python-mysqldb" or "apt-get source python-mysqldb" and then copy that over?

      at least in that way you will save yourself some time but also you know that someone - somewhere has staked their public reputation and career on a very public declaration that they have at least done _some_ sort of checking on the source code that they have GPG-signed and uploaded into a distro's package repository. if it's too out-of-date or is just not included, *then* you can use pip or just grab the .tgz source archive for yourself, and do some sort of auditing.

    7. Re:pip by lkcl · · Score: 1

      And how would cryptographically signed even help?

      That way you can be sure that if you download malware, it's not tampered with.

      all it tells you is, the signature was valid. whilst it links the file *to* the signature, it doesn't tell you anything about the trustworthiness of the PERSON. for that, you need much much more than just a legitimate signature: you need a full web-of-trust and for the package uploaders to be involved in key-signing parties, where they've basically (collectively) staked their reputation on trusting the ACTUAL identity. this becomes incredibly hard to compromise when there are multiple people involved. nobody dares try to game such a system: it's a variant of the "prisoner's dilemma" except with a thousand or more people.

    8. Re:pip by Anonymous Coward · · Score: 0

      It is also used in the marking of the characters in this video:
      https://www.youtube.com/watch?...

      Also:
      https://school.discoveryeducat...

    9. Re:pip by Anonymous Coward · · Score: 0

      Very important notice for Slashdot users:

      I am Nancy Guerrero and I am Director of Special Education for the Santa Clara County Office of Education. We use Chris' (a.k.a. creimer,cdreimer) picture in our document because he is the hardest case we have ever had to handle:
      http://www.sccoe.org/depts/stu...

      Our artists were inspired by the low carb diet that Christopher follows scrupulously for the small lunch box and by the picture linked below for the rest. I am sure that you will notice the similarities such as the bump on the side of his chest and more:
      https://www.cdreimer.com/slash...

      Please be easy on Christopher although, I am aware that some of our staff handling Chris post joke comments here and obvoiusly, the Santa Clara County Office of Education disapprove that behavior vehemently:
      https://school.discoveryeducat...

      But it isn't Chris' fault if he is the way he is. We do the best we can do with him and he is partially integrated into society. We try to cure his abnormal need for attention but he is kind of stubborn and won't listen to anybody.

      Thank You dear users,
      -Nancy Guerrero

    10. Re:pip by arth1 · · Score: 1

      That way you can be sure that if you download malware, it's not tampered with.

      all it tells you is, the signature was valid

      Whoosh!

    11. Re:pip by tepples · · Score: 1

      A key-signing party will let you verify the identity of living in the same city who have attended the same key-signing party as you. How will it let you verify someone on another continent, especially when you have no way of verifying the trustworthiness of intermediate signers to verify other people?

    12. Re:pip by tepples · · Score: 1

      new package uploaders would then also need to be "approved" - it would need to become impossible for just any arbitrary-named package to be uploaded, as their GPG key would need to be verified as being part of the web-of-trust.

      Then how would a new developer enter the web of trust without traveling internationally to a key-signing party?

      if you're using a mac or using windows, you could at least have a mirror-machine where you do (if it's debian) "apt-get install python-mysqldb" or "apt-get source python-mysqldb" and then copy that over?

      Good luck with that when after having installed Debian for the first time on your mirror-machine, your mirror-machine can't connect to the network because its NIC is unsupported.

    13. Re:pip by Anonymous Coward · · Score: 0

      Then explain why DEB, RPM, Maven, CPAN, etc infrastructures work just fine? Just admit it python and javascript infrastructures are run by bunch of amateurs. In javascript for example, how come a library as simple as 'left pad' even be considered in repository inclusion?

    14. Re: pip by Anonymous Coward · · Score: 0

      Another post by Creimer with food in it. color me shocked. Fat ass.

    15. Re:pip by david_thornley · · Score: 1

      There are people I would calmly trust my life to. Some of them, in my opinion, don't have really good judgment, and I'm not sure I want to trust their friends. That's the problem I see with webs of trust.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
    16. Re:pip by tepples · · Score: 1

      How did the first Debian Maintainer in each country travel to get his key signed? DebConf hasn't been around long enough to have held one in each country. And even for those countries in which DebConf has been held, how did the first Debian Maintainer in each state or province travel to get his key signed?

      Is there a way to verify identity that doesn't involve spending months' minimum wage to travel hundreds of kilometers?

  2. trump.py? by Anonymous Coward · · Score: 0

    OMG. Trump is typosquatting? Impeach him IMMEDIATELY!!!!

  3. cryptographic signature? by thesupraman · · Score: 1

    What the hell would that change?

    The vector here is people asking for a module that is named similar to the one they want, pip in installing exactly the module they are mistakenly asking for - there is no reason that any cryptographic signature would be failed.

    The only marginal finger-pointing possible here is at PyPl for allowing typo squating, however even that is marginal.

    Basically, if you are installing modules from 'dah internetz', you should take just a little care, perhaps?

    Unless what they are trying to claim is that walled garden security is somehow better? I doubt they would get many within the python community to agree.

    1. Re:cryptographic signature? by Anonymous Coward · · Score: 0

      The thing is, typos happen. A lot of geeks are slightly dyslexic or other states, mistaking urllib and urlib is very very easy. Trust the Chinese to go figure a way to pick such low-hanging fruit.

    2. Re:cryptographic signature? by cdreimer · · Score: 2

      The thing is, typos happen.

      Sometimes it's not even that. Beautiful Soup is the module for parsing HTML and XML files. However, beautifulsoup (bs) is the legacy version and beautifulsoup4 (bs4) is the version that everyone should be using. It's very easy to install the former when you need the latter.

      https://www.crummy.com/software/BeautifulSoup/bs4/doc/#installing-beautiful-soup

    3. Re:cryptographic signature? by thesupraman · · Score: 1

      And how exactly would a cryptographic signature help that?
      It would just certify that you had actually installed the right cones typo squatter correctly....

      Unless there was a central controller of who was allowed to publish python extensions.

      Is that what you want? It's called a walled garden...

    4. Re:cryptographic signature? by Anonymous Coward · · Score: 0

      Its only a walled garden if you can't go outside it. A trusted source might just have an ankle high chain link that mostly just delineates, and only trips up the unwary.

    5. Re: cryptographic signature? by Anonymous Coward · · Score: 0

      Unless I'm missing something, both are legit libraries, thus your comment is completely irrelevant.

    6. Re:cryptographic signature? by arth1 · · Score: 0

      A lot of geeks are slightly dyslexic

      No. Geeks are known for being sticklers for precision. Computer geeks in particular, because operating systems do pay attention and distinguish "rm -rf /var/tmp/install" from "rm -rf / var/tmp/install".
      If they have dysIexia, they keep it on a tight leash.
      And geeks also tend to not blindly follow links, but enter them whenever possible.
      Downloading and installing a package with almost the right name is a good indication that it was not done by a geek.

    7. Re:cryptographic signature? by flargleblarg · · Score: 1

      distinguish "rm -rf /var/tmp/install" from "rm -rf / var/tmp/install".

      Oh, come on. You know it's supposed to be
      rm -fr /var/tmp/install

    8. Re:cryptographic signature? by Anonymous Coward · · Score: 0

      The typosquatting package likely would be signed with a key that you do not trust, if signed at all.

  4. Gay Russians! by Anonymous Coward · · Score: 0

    Russians HACKED into the ELECTIONS and DID THIS! oh nooooes!!!
     
    -Beau

  5. Re: It was... by Bartles · · Score: 0

    If you disagree, you're a Putin loving white nationalist!

  6. Re:It was... by Anonymous Coward · · Score: 0

    If you disagree, you're a sexist racist xenophobe!

  7. pip by Anonymous Coward · · Score: 0

    Seems that was some sort of CP/M program. AMirIght? Early CP/M. Maybe VAX? Or is this some South park thing?

  8. Personal Responsibility by Anonymous Coward · · Score: 0

    Start thinking for yourselves, assholes.

    Either write your own software, or quarantine the hell out of other people's software.

    1. Re: Personal Responsibility by Anonymous Coward · · Score: 0

      To what extent? Should you have to write your own operating system, compiler, browser, and other software? How does one quarantine an operating system? Your proposition is absurd and you come across as being a troll.

    2. Re: Personal Responsibility by cdreimer · · Score: 1

      How does one quarantine an operating system?

      The most secured version of Windows is installed on a PC with no cables attached inside a locked room.

    3. Re:Personal Responsibility by Anonymous Coward · · Score: 0

      Most users assume the people running the pip servers at least vet the sources producing these modules, just like when you download software, you want to know it's from the official source and not some random (possibly hacker) website. This is very careless of the pip server administrators allowing random people to upload stuff considering pip module installation involves root access on client machines.

    4. Re: Personal Responsibility by Anonymous Coward · · Score: 0

      The most secured version of Windows is installed on a PC with no cables attached inside a locked room.

      This includes the power and SATA cables.

    5. Re: Personal Responsibility by Anonymous Coward · · Score: 0

      Nice one creimer!

      It is still kind of redundant although plus you forgot the power cord! You must have meant; with no network connection...

      https://www.youtube.com/watch?...

      https://school.discoveryeducat...

    6. Re: Personal Responsibility by Anonymous Coward · · Score: 0

      I am Nancy Guerrero and I am Director of Special Education for the Santa Clara County Office of Education. We use Chris' (a.k.a. creimer,cdreimer) picture in our document because he is the hardest case we have ever had to handle:
      http://www.sccoe.org/depts/stu...

      Our artists were inspired by the low carb diet that Christopher follows scrupulously for the small lunch box and by the picture linked below for the rest. I am sure that you will notice the similarities such as the bump on the side of his chest and more:
      https://www.cdreimer.com/slash...

      Please be easy on Christopher although, I am aware that some of our staff handling Chris post joke comments here and obvoiusly, the Santa Clara County Office of Education disapprove that behavior vehemently:
      https://school.discoveryeducat...

      But it isn't Chris' fault if he is the way he is. We do the best we can do with him and he is partially integrated into society. We try to cure his abnormal need for attention but he is kind of stubborn and won't listen to anybody.

      Thank You dear users,
      -Nancy Guerrero

    7. Re: Personal Responsibility by Anonymous Coward · · Score: 0

      You quarantine an OS inside of your roll-your-own hypervisor written in assembler, of course!

      What, you haven't done that?

    8. Re: Personal Responsibility by Anonymous Coward · · Score: 0

      Cremier, where are you this morning?

      Still with that indo-chimp girl?

      Get back here so we can open the hostilities you inert fucker.

  9. python is shit by Anonymous Coward · · Score: 0

    scripty junk for math majors who can't handle real languages

    1. Re:python is shit by Anonymous Coward · · Score: 0

      uh ya like engrish

  10. Indeed by Anonymous Coward · · Score: 0

    The comment provides some really solid insight on the situation.

  11. Re: What's absurd is your balking by Anonymous Coward · · Score: 0

    In your opinion, everyone should read the source code to the critical parts of their operating system and other software. This is ridiculously impractical and source code audits will be more effective when performed by expert security researchers. While I do think people ought to be more informed about what's running on their computers and the reputation and security practices of the organizations providing that software, it's a far cry from everyone auditing the source code of the software running on their computers.

    Take WordPress plugins, for example. It probably isn't necessary for everyone using the plugins to audit the source code of those plugins. Rather, let experts in auditing source code do it, and take the time to research the reputation of the plugin before using it. It isn't necessary for everyone to audit source code when a bit of common sense will suffice.

  12. The problem is exactly in "they" by Anonymous Coward · · Score: 0

    > but they could increase their security at bit [...]

    As long as it's "they" and not "we", we'll have problems.

    I've lived for six years in a big corp, and yes, they use Free Software (they call it "opensource" because of... ideology). Conceptually, the spirit was "it's the same as proprietary, less shiny but cheaper". As long as we don't understand the real asset of Free Software (that each of us is part of the damned process), we'll be unable to reap its full benefits.

    I'm having less and less sympathy for those who get burnt when they do the equivalent of "curl foo | sudo bash" (be it directly, via PyPI or composer) without investing some thought in it. At least they should re-invest the discount they get on Free into learning and taking part in fixing the Commons.

  13. pip by Anonymous Coward · · Score: 0

    pip, the Peripheral Interchange Program, was first deveoped by Digital Equipment Corporation. I don't know which of their architectures it was first developed for, but the PDP-10 version was ported from the PDP-6. It may date back to the PDP-1, but that is prehistory to me. Its claim to fame was that it could copy from any device to any other device. In an era when IBM mainframes had a program to copy from device N to device M, there would have to be O(k^2) where k was the cardinality of different devices (a bit less because you never had to copy from the card reader to the card reader). Back in 1968 I wrote a program that could read any of the several file formats on the disk to any other file format on the disk, or from the disk to the printer, or to or from punched cards, so the multiplicity of file formats on the disk (Sequential Access Method, Indexed Sequential Access Method, and Partitioned Access Method) more than made up for the reduction from unidirectional devices. It was a very challenging program to write. By comparison, pip, when we moved from an IBM mainframe to a Digital Equipment KA-10, was a wonderful tool.

  14. One step further by BlackPignouf · · Score: 2

    This gave me an idea! I'll launch my own Python repository, called PyPl.

    1. Re:One step further by Anonymous Coward · · Score: 0

      With blackjack and hookers. In fact, forget python!

    2. Re:One step further by Anonymous Coward · · Score: 0

      Don't forget to register a .CORN address for the website, before one of those filthy domain name squatters beats you to it.

  15. Solution? by Rockoon · · Score: 1

    Step 1: Require that package names are treated as case insensitive.
    Step 2: Require that all package names be at least 3 characters long.
    Step 3: Require that the minimum edit distance between the names of any two packages be at least 1/3rd of the length of the longer name.

    Now step 3 will be a problem for some. Lets suppose I develop the package "FooBar" and while it has become semi-popular that some issues need to be addressed that will break compatibility. "FooBar2" will fail step 3 here and some will not like that, but I argue that compatibility breaking *should* lead to an entirely new name, and no its not lost on me that Python is the poster child of keeping the same name while breaking compatibility. I dont understand why the developers havent apologized yet.

    --
    "His name was James Damore."
    1. Re:Solution? by HiThere · · Score: 1

      Do you understand the difference between major and minor version numbers? Or realize that major version number changes frequently indicate breaking compatibility?

      I will grant you that Linux has (recently) dropped that tradition, but that was because the number of minor version changes has gotten too large. Very few pieces of software have that rationale. (It's also because Linus found large numbers of minor version changes esthetically unpleasant.)

      If you go back a bit further, the sub-minor version changes were also significant, in that the minor version number told you what features were available, and the sub-minor version number told you the patch level. My feeling is that this was a better system, and the only problem what that it should have been two hexadecimal digits rather than decimal digits. Sometimes there were enough patches that three digits were needed, which complicated things.

      OTOH, this is all based on memory, and that earlier change was so long ago that I've probably got some of the details wrong.

      --

      I think we've pushed this "anyone can grow up to be president" thing too far.
    2. Re:Solution? by Rockoon · · Score: 1

      Do you understand that we are talking about libraries, not operating system and applications?

      You go on and on and on when you dont even know whats being discussed.

      --
      "His name was James Damore."
  16. Addiction alert! by Anonymous Coward · · Score: 0

    Watch out! The Humpty-Dumpty video is pretty addictive especially if you think of creimer while watching it.

    1. Re:Addiction alert! by Anonymous Coward · · Score: 0

      True enough, it is really like creimer stumbling and stumbling again over and over.

      Hey creimer, here is a challenge for you:

      What is the difference between the first half of the video and the second?

  17. Author's signature by DrYak · · Score: 2

    What the hell would that change?

    If anything remotely like the way it is handled in RPM repositories, at least the identity of the author is different.
    urlib and urllib would be submitted by 2 different authors.
    menaning that pypi would either "installing urllib, signed by 0xb00b1e5 'original@author.com' ? [Y/N]" or
    "installing urllib, signed by 0xdeadbeef 'evil@hacker.com' ? [Y/N] "
    (in a way, that is something that already is happening with GitHub repository as the author's nickname or the company's/project names are part of the URL)

    it's not much, but if the user has missed a single letter in the name (has happened to me, pip refusing to install 'thony' as that one didn't exist, unlike 'thonny'),
    maybe they are better at spotting a whole different author identity
    (or maybe not. Maybe most python users are that much careless)
    (with their mind so busy paying attention to blank spaces and tabs)

    Also, I don't have a clear idea of the python community publishing modules on pypi (I'm more of a Perl guy than Python guy, I mostly dabbled into pypi while helping software deployment on my university's HPC) but if the most common non-core modules are developed by a few known authors (e.g.: key 0xb00b1e5 'original@author.com' has been trusted multiple time already and the user has added it to his whitelist because he needs a lot modules) then pip suddenly pausing to ask confirmation for a new unkown, non-whitelisted key (e.g.: key 0xdeadbeef 'evil@hacker.com' seen for the first time) is sure to suddenly stand out as a sore thumb.

    (as currently happens with 3rd party RPM repositories, e.g.: SUSE's Open Build System).

    Yet another way to use cryptography, would be to take notice from GPG's web of trust, or from PKI's root certificates :
    we could also imagine authorities that sign several uploader's keys as trusted.

    i.e.: one could imagine a group, called "Python Booster" who don't release modules themselves, but sign the keys of module that they consider trusted to be in a "Python Booster Module Collection". (and optionnally "pip install pbmc" launching a setup.py that installs the whole distribution).
    (So if you need a module that is trusted by one of these "module collections" you subscribe to, you'd be a bit better covered).

    In practice, that is already the end result of not installing random module with "pip" but to use the RPMs provided by your trusted distro, or by a trusted 3rd party repository.

    The only marginal finger-pointing possible here is at PyPl for allowing typo squating, however even that is marginal.

    In addition of the cryptographic solution,
    it could also be useful that pypi.org refuse to automatically open new modules repositories for modules whose name isn't beyond a certain levenstein distance of other name present, without a human reviewing the reason behind close names.

    That won't prevent you from making a "LibreBla" fork of an "OpenBlah" project, but that would reduce the easy to confuse clones (you'd need to explain to a human operator that "bla2" is a maintained legacy fork of an older pre-API-change version of "bla".
    Unlike the current mess on pypi (and on CPAN for that matter).

    --
    "Sufficiently advanced satire is indistinguishable from reality." - [Tips: 1DrYakQDKCQ6y52z6QbnkxHXAocMZJE61o ]
    1. Re:Author's signature by david_thornley · · Score: 1

      If anything remotely like the way it is handled in RPM repositories, at least the identity of the author is different. urlib and urllib would be submitted by 2 different authors. menaning that pypi would either "installing urllib, signed by 0xb00b1e5 'original@author.com' ? [Y/N]" or "installing urllib, signed by 0xdeadbeef 'evil@hacker.com' ? [Y/N] "

      When I'm looking for a library, I typically don't know or care who the original author was. I just want the library to do something I want done.

      --
      "When you have eliminated the unacceptable, whatever is left, however improbable, must be the truthiness" - Holmes
  18. Re: What's absurd is your balking by Anonymous Coward · · Score: 0

    Cut him a break, hey?

    The guy is tired after building his own refrigerator, dishwasher, air conditioning and car from trade spares.

    CAPTCHA: remodels.

  19. Good luck getting signed w/o other devs in town by tepples · · Score: 2

    maybe they are better at spotting a whole different author identity

    Good luck with that, as email addresses and author usernames can also be typosquatted, and unless you have the resources of Facebook to bruteforce a hash, key IDs aren't going to be as memorable as "boobies" or "dead beef".

    installing urllib, signed by 0xb00b1e5 'original@outlook.com'
    # vs.
    installing urlib, signed by 0xdeadbeef 'origina1@outlook.com'

    I'm more of a Perl guy than Python guy [...] but if the most common non-core modules are developed by a few known authors

    Does CPAN have the same situation where "common non-core modules are developed by a few known authors"?

    Yet another way to use cryptography, would be to take notice from GPG's web of trust

    I imagine OpenPGP's web of trust would have two significant practical problems.

    Small world isn't as small as some believe First, the small world problem wouldn't work if there isn't a critical mass of developers who fly internationally to conventions in order to make the web more dense. Or people born with an interpersonal skills disability (such as myself) or who live in a small or medium-size town with few or no other PyPI package developers would have trouble attending even a local key signing party. Transitivity of trust Just because you trust someone's identity doesn't mean you trust someone's ability to verify others' identity. This reflects itself as a low weight on edges of the web of trust not adjacent to you, amplifying the "Small world isn't as small as some believe" problem.

    or from PKI's root certificates

    Members of the CA/Browser Forum PKI will happily sign a domain-validated certificate for a typosquatted domain.

    it could also be useful that pypi.org refuse to automatically open new modules repositories for modules whose name isn't beyond a certain levenstein distance of other name present

    This raises an exception I found to Python's batteries-included philosophy: Levenshtein distance comes with one of Python's major competitors, but it's behind an third-party module in Python.

  20. "Official Repository"? No. by HiThere · · Score: 1

    PyPi isn't the official repository of the Python project, is a useful adjunct site. It does hold lots of packages that aren't in the official repository. But it's no more the official Python repository then http://ftp.us.debian.org/debia... which also holds a lot of Python packages that are easy to install (on a Debian system).

    --

    I think we've pushed this "anyone can grow up to be president" thing too far.
  21. Re: OT: Turning Point USA threatens free speech by Anonymous Coward · · Score: 0

    Shut the fuck up Trump supporter!!!

  22. Re:"Official Repository"? No. by Anonymous Coward · · Score: 0

    Well...

    Considering that setuptools comes with python now and will install from pypi by default if you don't specify a repo, it's at least the unofficial official adjunct repo which still makes the poor security a big deal.

  23. How is key signing organized? by tepples · · Score: 1

    Then explain why DEB, RPM, Maven, CPAN, etc infrastructures work just fine?

    I honestly don't know how those work fine. How did the first Debian Maintainer on each continent travel to get his key signed by a Debian Developer, as the process requires?

    1. Re:How is key signing organized? by Anonymous Coward · · Score: 0

      From what I understand, they do that on DebConf (Debian Conference).

    2. Re:How is key signing organized? by Anonymous Coward · · Score: 0

      Oh almost forgot, key signing is one thing, another important aspect is code vetting/auditing. From this incident it's quite apparent that there's big hole in code vetting/auditing in pip infrastructure.