#pypi — Public Fediverse posts
Live and recent posts from across the Fediverse tagged #pypi, aggregated by home.social.
-
WTF is https://pypi.org/project/backports.lzma-defi-corrected/ - seems to be a copy of my archived https://pypi.org/project/backports.lzma but why... made by https://pypi.org/user/moinonin/ who seems to have a bunch of possible typo-swatting packages all described as packages for predicting buy and sell signals going back years. Something fishy here! #PyPI #Python
-
WTF is https://pypi.org/project/backports.lzma-defi-corrected/ - seems to be a copy of my archived https://pypi.org/project/backports.lzma but why... made by https://pypi.org/user/moinonin/ who seems to have a bunch of possible typo-swatting packages all described as packages for predicting buy and sell signals going back years. Something fishy here! #PyPI #Python
-
WTF is https://pypi.org/project/backports.lzma-defi-corrected/ - seems to be a copy of my archived https://pypi.org/project/backports.lzma but why... made by https://pypi.org/user/moinonin/ who seems to have a bunch of possible typo-swatting packages all described as packages for predicting buy and sell signals going back years. Something fishy here! #PyPI #Python
-
WTF is https://pypi.org/project/backports.lzma-defi-corrected/ - seems to be a copy of my archived https://pypi.org/project/backports.lzma but why... made by https://pypi.org/user/moinonin/ who seems to have a bunch of possible typo-swatting packages all described as packages for predicting buy and sell signals going back years. Something fishy here! #PyPI #Python
-
WTF is https://pypi.org/project/backports.lzma-defi-corrected/ - seems to be a copy of my archived https://pypi.org/project/backports.lzma but why... made by https://pypi.org/user/moinonin/ who seems to have a bunch of possible typo-swatting packages all described as packages for predicting buy and sell signals going back years. Something fishy here! #PyPI #Python
-
Восемь аниме-плееров рунета изнутри: шифр Цезаря, пустой параметр и домен, который увели
Я взял за основу популярную опенсорсную библиотеку парсеров аниме-плееров, запустил её — и получил от Kodik 500 Internal Server Error . Не «токен протух», не «IP заблокирован», а именно 500 на каждый запрос. Разбор занял вечер, а причина оказалась в одном символе: библиотека отправляла параметр ref пустым, а сервер требует его заполненным и раскодированным . Дальше выяснилось, что это не единичная поломка, а норма жанра. Один плеер полгода назад переехал на другой формат страницы. Другой отвечает бесконечным редиректом на самого себя. У третьего домен просто увели — сейчас там индонезийский интернет-магазин, а не аниме. Четвёртый прячет ссылки в WebSocket из обфусцированного бандла на 600 КБ, и его я честно не осилил. Под катом — разбор восьми плееров: как каждый отдаёт видео, где именно ломаются существующие парсеры и что из этого следует, если вы пишете что-то похожее. Библиотека получилась побочным продуктом и лежит в открытом доступе.
https://habr.com/ru/articles/1079156/
#python #парсинг #реверсинжиниринг #hls #m3u8 #аниме #pypi #github_actions #websocket
-
Восемь аниме-плееров рунета изнутри: шифр Цезаря, пустой параметр и домен, который увели
Я взял за основу популярную опенсорсную библиотеку парсеров аниме-плееров, запустил её — и получил от Kodik 500 Internal Server Error . Не «токен протух», не «IP заблокирован», а именно 500 на каждый запрос. Разбор занял вечер, а причина оказалась в одном символе: библиотека отправляла параметр ref пустым, а сервер требует его заполненным и раскодированным . Дальше выяснилось, что это не единичная поломка, а норма жанра. Один плеер полгода назад переехал на другой формат страницы. Другой отвечает бесконечным редиректом на самого себя. У третьего домен просто увели — сейчас там индонезийский интернет-магазин, а не аниме. Четвёртый прячет ссылки в WebSocket из обфусцированного бандла на 600 КБ, и его я честно не осилил. Под катом — разбор восьми плееров: как каждый отдаёт видео, где именно ломаются существующие парсеры и что из этого следует, если вы пишете что-то похожее. Библиотека получилась побочным продуктом и лежит в открытом доступе.
https://habr.com/ru/articles/1079156/
#python #парсинг #реверсинжиниринг #hls #m3u8 #аниме #pypi #github_actions #websocket
-
Восемь аниме-плееров рунета изнутри: шифр Цезаря, пустой параметр и домен, который увели
Я взял за основу популярную опенсорсную библиотеку парсеров аниме-плееров, запустил её — и получил от Kodik 500 Internal Server Error . Не «токен протух», не «IP заблокирован», а именно 500 на каждый запрос. Разбор занял вечер, а причина оказалась в одном символе: библиотека отправляла параметр ref пустым, а сервер требует его заполненным и раскодированным . Дальше выяснилось, что это не единичная поломка, а норма жанра. Один плеер полгода назад переехал на другой формат страницы. Другой отвечает бесконечным редиректом на самого себя. У третьего домен просто увели — сейчас там индонезийский интернет-магазин, а не аниме. Четвёртый прячет ссылки в WebSocket из обфусцированного бандла на 600 КБ, и его я честно не осилил. Под катом — разбор восьми плееров: как каждый отдаёт видео, где именно ломаются существующие парсеры и что из этого следует, если вы пишете что-то похожее. Библиотека получилась побочным продуктом и лежит в открытом доступе.
https://habr.com/ru/articles/1079156/
#python #парсинг #реверсинжиниринг #hls #m3u8 #аниме #pypi #github_actions #websocket
-
Чужой код у вас в Production. Как устроены Supply Chain Attacks и что с ними делать
Что может быть привычнее для разработчика, чем ежедневный ввод команд установки или обновления зависимостей: npm install , pip install , uv add , bundle add , cargo add ? Пакетный менеджер находит нужную библиотеку, скачивает её вместе с транзитивными зависимостями и за несколько секунд устанавливает в проект сотни тысяч строк чужого кода. В этот самый момент мы не задумываемся о том, что совершаем серьёзный акт доверия. Мы доверяем автору пакета, его аккаунту, системе публикации, сборочному конвейеру и всем зависимостям, которые пакет подтянет вместе с собой. Бесспорно, большую часть этого кода мы не читали и, скорее всего, не прочитаем никогда. Пока всё работает как задумано, этот процесс остаётся незаметным. Но стоит злоумышленнику скомпроментировать хотя бы одно звено этой цепочки, и обычное добавление или обновление библиотеки превращается в установку вредоносного кода в сотни или даже тысячи проектов. Именно на этой идее и строится атака на цепочку поставок — supply-chain attacks. Зачастую злоумышленнику не обязательно искать уязвимости непосредственно в вашем приложении, планировать дорогостоящие многовекторные атаки и применять социальную инженерию. Ему достаточно увести учётку разработчика даже не особо известного пакета, добавить бэкдор в новую версию, опубликовать её в тот же npm или PyPi — и вуаля: вот уже вредоносный код отправляет персональные данные ваших клиентов прямиком на серверы хакеров.
-
Зачем PyPI закреплять префиксы пакетов за организациями
Имя пакета в реестре часто оказывается первым сигналом того, что компоненту можно доверять. Разработчик видит название вроде google-cloud-storage , opentelemetry-sdk или apache-airflow-providers-slack раньше, чем открывает исходный код, и ожидает, что знакомый префикс указывает на известный проект. В PyPI это ожидание пока ничем не подтверждено: реестр формально не связывает общее начало имени с его владельцем, поэтому любой свободный вариант может зарегистрировать посторонний пользователь. В конце июня 2026 года в Python-сообществе приняли PEP 752 (мы писали об этом здесь ). Он предлагает закреплять за организацией не отдельные имена, а префикс и все будущие проекты, которые ему соответствуют. Если PyPI реализует этот механизм, то пакет с именем вроде “google-cloud-new-service” сможет опубликовать только та организация, которой принадлежит право на этот префикс или которой разрешили пользоваться этим правом. На первый взгляд, решение очевидное. Однако общий префикс не всегда означает, что все пакеты принадлежат одному издателю. Иногда он обозначает семейство официальных библиотек, а иногда экосистему сторонних дополнений. Меня зовут Артем Максимов, я отвечаю за аналитику продуктов в CodeScoring. Вместе с дата-инженером Артемом Ивановым в этой статье мы разбираемся, какую проблему решает PEP 752, где проходит его граница и что нам показывает база данных CodeScoring.
https://habr.com/ru/companies/codescoring/articles/1072070/
#pypi #python #pep_752 #пакетные_репозитории #безопасность_зависимостей #неймсквоттинг #пространства_имен #цепочка_поставки_по #пакеты_python #open_source
-
This Week in Security: Claude Gets Hacking, Hotel WiFi, and NPM Compromised Again
-
У нас есть для вас пакет! Как LLM придумывают несуществующие зависимости
Что произойдет, если большая языковая модель (LLM) добавит в код пакет, которого никогда не существовало? Разработчик может принять рекомендацию за корректную, а злоумышленник – опубликовать под придуманным именем вредоносный пакет. Тогда ошибка модели превращается в возможность атаки на цепочку поставки. Перед вами обзор исследования We Have a Package for You! A Comprehensive Analysis of Package Hallucinations by Code Generating LLMs . Авторы проверили 16 моделей, сгенерировали 576 000 образцов кода на Python и JavaScript и изучили, как часто в ответах появляются несуществующие пакеты. Их работу отметили наградой “Distinguished Paper Award” на конференции USENIX Security 2025.
https://habr.com/ru/companies/codescoring/articles/1068000/
#галлюцинации_пакетов #llm #генерация_кода #цепочка_поставки_по #подмена_пакетов #package_confusion #pypi #npm #безопасность_зависимостей #usenix_security
-
Vibe-coding и зависимости: как не дать Claude и Cursor затащить дырявый пакет
На прошлой неделе я попросил Claude Code добавить рендеринг markdown в проект. Через секунду в зависимостях появился flutter_markdown — нормальный пакет от flutter.dev, паблишер проверенный. Я нажал accept. А потом случайно открыл его карточку, а там прямо в шапке: «This project has been discontinued, and will not receive further updates.» Пакет уже больше года как мёртв. Другой пример: Cursor добавляет minio/minio:latest в docker-compose для S3-совместимого хранилища. Только репозиторий архивирован 25 апреля 2026 года, и MinIO Inc. толкает всех в коммерческий AIStor. В статье разбираю: — что такое slopsquatting и почему эта атака работает только из-за ИИ-агентов; — что показала USENIX Security 2025 на 576 000 примерах кода (спойлер: 19,7% рекомендованных LLM пакетов вообще не существуют); — что реально творилось с npm и PyPI в 2024–2025 — от ultralytics до Shai-Hulud-червя и атаки на chalk с 2 млрд weekly downloads; — готовый skill для Claude Code, который заставит агента проверять пакет до установки.
https://habr.com/ru/articles/1051000/
#slopsquatting #supply_chain #Claude_Code #Cursor #vibe_coding #npm #pypi #безопасность_зависимостей
-
Mini Shai-Hulud Worm Compromises TanStack, Mistral AI, Guardrails AI & 169 Packages
A large-scale supply chain attack targeted npm and PyPI packages from major projects like TanStack, Mistral AI, UiPath, and OpenSearch, exploiting GitHub Actions vulnerabilities to steal credentials and publish malici...
🔗 https://salehgnutux.github.io/GT-NEWSTECH/en/ai/mini-shai-hulud-supply-chain-attack/
#Mini_Shai-Hulud #Cybersecurity #Supply_Chain #npm #PyPI #TanStack #Mistral_AI #GitHub_Actions
-
🚨 UPDATE: Mini Shai-Hulud has crossed from #NPM into #ComposerPHP/#Packagist and now #PyPI… and is still spreading.
[email protected]
[email protected]https://socket.dev/blog/tanstack-npm-packages-compromised-mini-shai-hulud-supply-chain-attack
-
#Python : Malicious #PyPI Package called 'sympy-dev' Impersonates #SymPy, Deploys XMRig Miner on Linux Hosts:
#SoftwareSupplyChainSecurity
👇
https://thehackernews.com/2026/01/malicious-pypi-package-impersonates.html -
I feel like this is a very common problem amongst #Python libraries. Most use #ReadTheDocs to host documentation, and the default template has no obvious way to include a link back to GitHub that is visible on every page. One can show the source code of a function/class in the API docs /
autodoc, but it's not the full repo. I'd prefer everyone to add an externaltoctreelink to the source code, but I haven't seen anybody doing this.As a result, when I search for a Python library on the web, the first search result is the RTD page, the second one, if I'm lucky, is the #PyPI page, but the source code is nowhere to be found, and I have to go look for it (often by clicking "Edit this page" in the docs, then manually trimming the URL) :/
-
#TreeTime #Trees #MindMap #Editor #OpenSource #FreeSoftware
In reaction to several turns of recent events, TreeTime is starting to move away from #GitHub to #Codeberg: https://codeberg.org/jkanev/treetime#readme
There will be a transition period in which both repositories will receive updates in parallel.
The installable packages in #Pypi, the webpage on https://tree-time.info, and the documentation in #readthedocs will stay unaffected.
-
AWS Glue for Spark のジョブから、AWS CodeArtifact を経由して PyPI のライブラリをインストールする
https://dev.classmethod.jp/articles/aws-glue-for-spark-aws-codeartifact-pypi/#dev_classmethod #AWS_Glue #AWS_CodeArtifact #PyPI #Spark #PySpark