The OpenNET Project / Index page

[ новости /+++ | форум | wiki | теги | ]

В каталоге Python-пакетов PyPI выявлены две вредоносные библиотеки

04.12.2019 10:07

В каталоге Python-пакетов PyPI (Python Package Index) обнаружены вредоносные пакеты "python3-dateutil" и "jeIlyfish", которые были загружены одним автором olgired2017 и маскировались под популярные пакеты "dateutil" и "jellyfish" (отличается использованием символа "I" (i) вместо "l" (L) в названии). После установки указанных пакетов на сервер злоумышленника отправлялись найденные в системе ключи шифрования и конфиденциальные данные пользователя. В настоящее время проблемные пакеты уже удалены из каталога PyPI.

Непосредственно вредоносный код присутствовал в пакете "jeIlyfish", а пакет "python3-dateutil" использовал его в качестве зависимости. Названия были выбраны из расчёта на невнимательных пользователей, допускающих опечатки при поиске (тайпсквоттинг). Вредоносный пакет "jeIlyfish" был загружен около года назад — 11 декабря 2018 года и оставался незамеченным. Пакет "python3-dateutil" был загружен 29 ноября 2019 года и через несколько дней вызвал подозрение у одного из разработчиков. Информация о числе установок вредоносных пакетов не приводится.

Пакет jellyfish включал в себя код, загружающий список "хэшей" из внешнего репозитория на базе GitLab. Разбор логики работы с этими "хэшами" показал, что они содержат скрипт, закодированный при помощи функции base64 и запускаемый после декодировки. Скрипт находил в системе ключи SSH и GPG, а также некоторые типы файлов из домашнего каталога и учётные данные для проектов PyCharm, после чего отправлял их на внешний сервер, запущенный в облачной инфраструктуре DigitalOcean.

  1. Главная ссылка к новости (https://www.zdnet.com/article/...)
  2. OpenNews: В каталоге пакетов PyPI появилась поддержка двухфакторной аутентификации
  3. OpenNews: В каталоге PyPI выявлены вредоносные пакеты
  4. OpenNews: В каталоге Python-пакетов PyPI выявлено 10 вредоносных библиотек
  5. OpenNews: Применение тайпсквоттинга для распространения вредоносных модулей NPM, PyPI и Gems
  6. OpenNews: Из каталога Docker Hub удалено 17 образов контейнеров с вредоносным кодом
Лицензия: CC-BY
Тип: Проблемы безопасности
Ключевые слова: pypi, python
При перепечатке указание ссылки на opennet.ru обязательно
Обсуждение (72) Ajax | 1 уровень | Линейный | +/- | Раскрыть всё | RSS
  • 1.1, z (??), 10:17, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    жадность фраера сгубила
     
     
  • 2.5, пох. (?), 10:30, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    да, а ведь шел пацанчик к успеху.
    Впрочем, глядя на свой сервер, где dateutil есть, а желефиши никакой нет - если сам от себя зависимость не поставишь, никто о тебе не позаботится.
     

  • 1.4, Анонимчик (?), 10:25, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –10 +/
    День через день новости о уязвимостях и вредоносах... Сейчас говорят во фряхе сделали или делают  возможность грузится с защитой какой-то в уефи, а то я так и не осилил.Надо валить с линукса. Параноиком уже стал черт побери.
     
     
  • 2.6, Аноним (6), 10:30, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    Ты совсем поехавший? Каким боком тут линукс? Лично я чувствую себя куда спокойнее, когда дыры находят и исправляют, чем когда дыры это кого надо дыры, поэтому альтернатив линуксу просто нет. А npm тот же ещё большая помойка, поэтому можешь уже сейчас отказаться от использования браузеров и интернета.
     
  • 2.7, пох. (?), 10:31, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    да-а-а, поравалить, на б-жественной-то десяточке искать "ssh и pgp ключи" (да еще не в пуссином формате, небось) занятие почти безнадежное.

     
     
  • 3.9, Аноним (6), 10:35, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    >на б-жественной-то десяточке искать "ssh и pgp ключи"

    Большинство компрометаций инфраструктур так и происходит, внезапно. Понятно, что вендузятников наду сразу гнать ссаными тряпками, но где ты найдёшь столько работников с линуксом?

     
     
  • 4.10, fooser (?), 10:51, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    тех, кто кроме линукса ничего из юникс-подобных систем не знает, того тоже надо гнать ссаными тряпками.
     
     
  • 5.13, Аноним (6), 11:07, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > тех, кто кроме линукса ничего из юникс-подобных систем не знает, того тоже
    > надо гнать ссаными тряпками.

    С остальными юникс-подобными системами ты можешь рассчитывать лишь на эффект неуловимого джо, это не то. Ну если не считать яблочную продукцию - у неё проприетарная природа и у неё полно червей и дыр, так что не лучше венды.

     
     
  • 6.16, fooser (?), 11:11, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –6 +/
    как будто у линукса нету червей и дыр, хотя речь не о макоси.
     
     
  • 7.46, Аноним (-), 18:01, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –4 +/
    > как будто у линукса нету червей и дыр, хотя речь не о макоси.

    ты аккуратнее с такими заявами, тут слишком нежные линуксоиды сидят, накидают минусов только так
    прошло то время, когда винда была более большим peшeтoм чем линукс, сейчас эко система линукс-дистрибов (ядро, сервисы, сетевые службы, днс, почтари) по багам просто бьёт все рекорды

    на основе вот этой вот баги вообще ужас был

    https://www.opennet.ru/opennews/art.shtml?num=50870

    до сих пор кое-где эта дырка эксплуатируется и майнится криптовалютка на серверах дебиана, убунту, сусей, рхелов/центосей.

     
     
  • 8.47, Аноним (-), 18:12, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –7 +/
    А вот такое вообще так каждый день пачками прилетает 15 уязвимостей в USB-драйве... текст свёрнут, показать
     
  • 8.54, Michael Shigorin (ok), 19:47, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Примерно тогда же, когда некрософт перешёл на кумулятивные обновления - Эх, ч... текст свёрнут, показать
     
  • 8.58, Аноним (58), 20:07, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Голословное утверждение... текст свёрнут, показать
     
  • 5.14, Аноним (6), 11:08, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Хотя есть ещё эффект "нет железа нет проблем", в какой-то мере то тоже работает, конечно.
     
  • 4.18, пох. (?), 11:37, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    тогда нашей инфраструктуре ничего точно не грозит - тут по всем виндам хоть обыщись - ни pgp ни ssh ключей не найдешь. А найдешь так владелец не поймет, что это и от чего. Разьве что у меня пара, и те не в том формате и не в том месте, где эти чудо-скрипты их будут искать.

    Правда, на линуксном сервере их десяток, и примерно от всего, и как раз там где все их и ищут, но это ж линукс, это ж надежно!
    (ой, а што ета за pyhton3-dateutil? Наверное, нужное что-та, не буду удалять!)

     
     
  • 5.23, Урри (?), 12:42, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Специально для тебя есть еще десяток пока не обнаруженных пакетов (желефиш год лежал необнаруженным), которые сливают твои виндузятные пароли, кои лежат в почти полностью открытом виде.
     
     
  • 6.35, Anonymoustus (ok), 15:23, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    И ты, конечно, знаешь, где они лежат, но никому не скажешь, потому что ты крутой всемирно известный специалист по безопастносте, а все остальные — лохи.
     
     
  • 7.38, пох. (?), 15:34, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > И ты, конечно, знаешь, где они лежат, но никому не скажешь, потому

    гад. Потому что я теперь сам не знаю где они лежат - поменял, называетцо, монитор.

     
  • 7.59, Урри (?), 20:09, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ты этим хотел сказать, что желефиш был последним необнаруженным трояном?
    Золотые рыбки наконец научились прямоходячести?
     
     
  • 8.71, пох. (?), 11:58, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    он хотел сказать, что все еще не обнаруженные и, скорее всего, все еще даже не н... текст свёрнут, показать
     

  • 1.11, Аноним (11), 10:56, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    Полон опасностей мирок скриптоязычков.

    The Central Repository таких проблем не имеет.

     
     
  • 2.20, SomeBody (??), 12:09, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    При чем тут скриптовые языки? В этом вашем расте пилиш любую дичь в build.rs и готово.
     
     
  • 3.31, Аноним (11), 13:41, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    ты не понял, пацанчик. Именно в скриптоязычках особую популярность имеют постмодерируемые скрипто-репозиторьчики со всякими майнерчиками. В серьезных взрослых платформах такого не наблюдаем.
     
     
  • 4.45, Аноним (45), 17:48, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +5 +/
    пацанчик, скриптоязычки ли это или нет, но любые репки и каталоги могут пострадать

    > такого не наблюдаем

    Malware has been discovered in at least three Arch Linux packages available on AUR (Arch User Repository), the official Arch Linux repository of user-submitted packages.

    https://www.bleepingcomputer.com/news/security/malware-found-in-arch-linux-aur

    вот ниже ещё адок, гораздо опаснее dateutil и jeIlyfish -

    https://threatpost.com/backdoor-found-in-utility-for-linux/147581/

    рекомендую обратить внимание на шок-контент: "nearly a year before its discovery."

     
     
  • 5.72, пох. (?), 12:05, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > вот ниже ещё адок, гораздо опаснее dateutil и jeIlyfish -

    при всем моем уважении к вебмину, действительно решающему иногда очень актуальную задачу - ничуть не опаснее именно в силу неуловимости джо - во-первых, как обычно, требовалось немного помочь олбанскому вирусу, включив уникально-редко используемую (используемую ли кем-либо в мире вообще?) фичу, во-вторых, следовало быть не только любителем веб-администрежа, но еще и неимоверно отважным, открыв доступ к фиче и самому вебмину всем желающим.

    Лично я не могу похвастаться подобными конфигурациями, как-то ни одной за всю жизнь не держал.

    А dateutil - опачки, вот он. Ну да, я его поставил из репо дистрибутива, разумеется, правильный, но это ж мне просто повезло с немодным-несовременным скриптом, не умеющим втянуть полсотни автозависимостей при установке. А майнтейнеру повезло когда-то что он мышкой не скопипастил - неправильный, но очень похожий.

     
  • 4.51, SomeBody (??), 19:00, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Не, пацанчик, этот ты не всосал в чем суть.

    В этих ваших растах все тащится с crates.io, каждая минимальная поделка тащит за собой пяток-десяток зависимостей. Так что кукарекать про особенные уязвимости в скриптовых языках иди в свой курятник.

     
  • 2.62, Аноним (58), 20:12, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > The Central Repository таких проблем не имеет.

    Настолько не имеет что там даже отдельная ссылка прямо на главной: Report A Vulnerability

     
     
  • 3.67, Аноним (11), 00:51, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    ты отличаешь уязвимость от целенаправленной публикации бэкдорчиков-майнеров в скрипто-репозиторьчики типа пипи и инпиэм? Приведи хотя бы один задокументированный случай целенаправленной публикации бэкдора в благословенном The Central Repository. В пипи и инпиэм такое случается постоянно.
     

  • 1.12, Rodegast (ok), 11:06, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    > В настоящее время, проблемные пакеты уже удалены из каталога PyPI.

    Блин!

     
  • 1.15, Аноним (15), 11:11, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +2 +/
    А всё просто. Пакеты нужно принимать не от имени любого анонимуса, а по паспорту.

    И ответственность описать. На первый раз можно руку отрубить например.

    Не решаются дыры в организации на техническом уровне.

     
     
  • 2.25, рлла (?), 12:44, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Ты на таких условиях готов пакеты размещать?
    Замененные буковки дак ИИ вполне может искать и выдавать список. да можно и скрипт наваять
     
     
  • 3.41, Аноним (15), 15:44, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –1 +/
    Да, а иначе зачем предлагать?

    Заигрались в анонимусов в этих ваших интернетах, отсюда и все проблемы.

     
     
  • 4.56, Michael Shigorin (ok), 19:49, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +3 +/
    Нуу для начала зарегистрируйтесь на опеннете, из плюшек -- возможность правки своих комментариев в течение получаса, что ли, после отправки.
     
  • 2.26, Аноним (26), 12:55, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Пакеты нужно принимать не от имени любого анонимуса, а по паспорту.

    А где права Анонимуса?

    Такие подставы должны вычисляется автоматически и уведомлять модераторов, администраторов.

     
     
  • 3.44, Аноним (15), 15:45, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > А где права Анонимуса?

    У анонимуса нет никаких прав. Потому что права всегда идут в пакете с ответственностью. А коли анонимус ответственность нести не желает, какие ему права?

     
     
  • 4.60, Урри (?), 20:10, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Во всеобщей декларации прав человека не написано "предоставляются только при предьявлении паспорта".

    Совсем уже опеннет оглупел.

     
  • 2.65, Аноним (65), 23:44, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Пакеты нужно принимать не от имени любого анонимуса, а по паспорту.

    Как в Debian, что ли?

     

  • 1.17, Аноним (17), 11:35, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Всего лишь две?
     
     
  • 2.42, пох. (?), 15:44, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Всего лишь две?

    дальше - сами ищите. Тому кто нашел - осточертело.

     

  • 1.19, JL2001 (ok), 11:49, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    не, юзера от программ, установленных из репозитория, защищать не надо! там же мантейнеры!! всё надёжно! цифровые подписи на пакетах!!
     
     
  • 2.21, Аноним (21), 12:32, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Это не репозиторий, а помойка.
     
     
  • 3.30, Аноним (30), 13:34, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    Между этими понятиями нет противопоставления. Учинение в репозитории помойки не лишает последний возможности называться репозиторием.
     
  • 2.63, Аноним (58), 20:22, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Зачем писать мусор? У разных репозиториев — разные правила, это очевидно.
     

  • 1.22, Аноним (22), 12:37, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +3 +/
    Вспомнити Leftpad!
     
  • 1.24, Аноним (30), 12:43, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +4 +/
    Любые постмодерируемые пользовательские репозитории, будь то npm, aur, pypi, amo, googleplay, crates.io и т.п. имеют подобные проблемы, следует по возможности их избегать и использовать репозитории с премодерацией, либо вообще с добавлением пакетов исключительно командой мэйнтейнеров, как сделано в большинстве дистрибутивов linux и bsd.
     
     
  • 2.32, Аноним (30), 13:41, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Беда в том, что некоторые модные build-системы обращаются к пользовательским репозиториям и качают из них зависимости безальтернативно, по сути лишая разработчиков возможности огородиться от потенциально творящегося там беспредела. А для мэйнтейнеров репозиториев дистрибутивов ОС эта возможность критична.
     
     
  • 3.66, Аноним (65), 23:47, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > для мэйнтейнеров репозиториев дистрибутивов ОС эта возможность критична.

    Как раз в дистрибутивных репозиториях такого ада нет. Там ничего не выкачивается со стороны при сборке.

     
     
  • 4.68, Аноним (30), 02:23, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Именно: перед мэйнтейнерами репозиториев дистрибутивов стоит задача обеспечить автономную сборку софта. В то время как используемая софтом на rust build-система, cargo, в доску сетевая и в принципе не имеет ключей для сборки без обращений к своему репозиторию. Вот как пакетировать такой софт? Патчить cargo для отрезания сетевой активности и совать ему архивы?
     
     
  • 5.76, SomeBody (??), 19:08, 06/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Шел бы ты лучше мешки ворочать

    https://doc.rust-lang.org/cargo/reference/source-replacement.html

     

  • 1.27, Аноним (27), 13:00, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –2 +/
    Короче на линукс нужен антивирус от таких пакетов. Кто нафигачит по быстренькому на баше?
     
     
  • 2.28, Аноним (27), 13:01, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Даю бизнес идею сначала добавляешь такие пакеты в репу а потом сам с ними борешься антивирусом.
     
     
  • 3.39, пох. (?), 15:35, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    > Даю бизнес идею сначала добавляешь такие пакеты в репу

    уже без вас все добавили. Осталось побороть.

     
  • 2.29, Урри (?), 13:27, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    ты уже придумал нейросеть, которая сможет анализировать пакеты как человек?
     
     
  • 3.55, Аноним (55), 19:48, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Да, придумал. Берём человека, и получаем естественную нейросеть, анализирующую пакеты как человек.
     
     
  • 4.61, Урри (?), 20:12, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    А платить ему чем, бананами?
     
     
  • 5.73, пох. (?), 12:11, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    рупиями. Ишь, макака, бананов хочет. Банан я и сам съесть могу. А так - поработает недельку, заработает на тарелку далбата, может быть.

    Почем они там капчу разгадывают - доллар за сотню, или уже дешевле?

     

  • 1.34, user90 (?), 15:22, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Чо, и никто даже не скажет "А вот в CPAN такого не было"??
    Ну и да, приятная новость, одних петон-скрипт-кидди поимели другие, эх!
     
     
  • 2.36, Anonymoustus (ok), 15:25, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    Оставь, не лезут своими корявками в б-жественный Перл — и хорошо.
     
     
  • 3.37, user90 (?), 15:31, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    Но я реально не помню подобных случаев, может быть кто-то знает больше?
     
  • 2.40, пох. (?), 15:43, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Чо, и никто даже не скажет "А вот в CPAN такого не
    > было"??

    да как-то неинтересно, видимо, тогда было. А может и было - не нашли, потому что никто отродясь и не искал.

    Впрочем, запихнуть свой пакет в cpan несколько сложнее, чем в пипи написать.

     
     
  • 3.49, Anonymoustus (ok), 18:32, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    > Впрочем, запихнуть свой пакет в cpan несколько сложнее, чем в пипи написать.

    Как писал великий мудрец древности Брукс, на каждой вахте должен сидеть специально обученный вахтёр с бейджиком.

     
     
  • 4.57, Michael Shigorin (ok), 19:51, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    И эти люди будут возмущаться судьбой иных какамментов на публичных форумах... :)
     
  • 2.43, Аноним (43), 15:44, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +1 +/
    > Чо, и никто даже не скажет "А вот в CPAN такого не было"??

    Есть, только никто ещё не нашёл из-за особенностей синтаксиса

     

  • 1.48, Аноним (48), 18:16, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    Что и следует ожидать от немодерируемой помойки. Поэтому использую питоновые пакеты только из родного репозитория дистрибуива.
     
     
  • 2.50, Аноним (50), 18:47, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +2 +/
    На родное репо надежды, конечно, побольше.
    Но кто сказал, что там мейнтейнеры прям внимательно погладявают, а не просто бампают циферку?
     
     
  • 3.53, Аноним (55), 19:46, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • –2 +/
    В некоторых проектах просто жопа. Захотел я как-то (больше года назад) собрать OpenWRT. И отложил кучу - часть зависимостей качается по небезопасному каналу - FTP. И не проверяется подпись/хеш.

    Мораль:
    1. не собирайте OpenWRT и не используйте эту поделку. Если кого-то из-за этого заразили малварью, внедрив её в незашифрованный канал, то вина тут в том числе проекта OpenWRT.
    2. нужен строгий запрет всех сайтов без  TLS в браузерах, чтобы добить эту заразу, когда они хостят без TLS, а другие - качают это и выполняют.

     
  • 3.64, Аноним (58), 20:27, 04/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    Никто не сказал, просто там у них есть такая возможность, а тут — нет.
     

  • 1.52, Аноним (55), 19:38, 04/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • –1 +/
    "python3-dateutil" - это в конвенции по именованию дебиана такие имена. Злоумышленник видимо репозиторием ошибся.
     
     
  • 2.74, пох. (?), 12:13, 05/12/2019 [^] [^^] [^^^] [ответить]  
  • +/
    он не ошибся, он как раз надеялся что дебианолюбители по инерции именно такое имя и наберут, или просто найдут поиском и не заметят ничего необычного.

    Спалили, гады :-(

     

  • 1.69, Корец (?), 07:33, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    >"I" (i) вместо "l" (L)

    Тут всё упирается в шрифты. В тексте статьи у меня I и l выглядят одинаково, зато в поле ввода(где я писал этот комментарий) и в терминале эти буквы отличаются(I выглядит как положено). Так что можно сказать, что это "уязвимость" в шрифтах.

     
  • 1.70, Аноним (70), 09:21, 05/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +/
    Привязывайте пакеты не к pip, а г гит-репозиториям.
     
  • 1.75, Аноним (75), 00:22, 06/12/2019 [ответить] [﹢﹢﹢] [ · · · ]  
  • +1 +/
    сам создал, сам разоблачил, и статей настрочил Прям неуловимый Джо непонятные ... большой текст свёрнут, показать
     

     Добавить комментарий
    Имя:
    E-Mail:
    Текст:



    Спонсоры:
    Слёрм
    Inferno Solutions
    Hosting by Ihor
    Хостинг:

    Закладки на сайте
    Проследить за страницей
    Created 1996-2019 by Maxim Chirkov
    Добавить, Поддержать, Вебмастеру