@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥9❤5👍4
@python_job_interview
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥12👍7❤4
Теперь вы можете использовать последние стабильные версии Python и Django вместе.
Скачать:
python -m pip install Django==5.1.3
#Python #Python313 #Django #Release
https://docs.djangoproject.com/en/5.1/releases/5.1.3/
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤8🔥6🎉4😱1
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍87❤21🔥8😱1
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥6❤5😱1🤩1
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21❤11🔥5😱2😁1
Организуйте краудфандинг для решения ваших проблем на GitHub
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
❤18🔥9👍8😁1
Репозиторий на Github c микрореализацией фундаментальных языков программирования, по мотивам серии статей "Tiny Great Languages"
Все написано на Python, код намеренно краток, чтобы не превышать ~50 строк кода для каждого языка.
Используется только стандартная библиотека Python, да и то в очень скромных пределах (
sys
, иногда re
, редко itertool
и т.д.).asm.py
- ассемблер. Компилирует "Python-ассемблер" в байткод и выполняет его;basic.py
- бейсик. Подмножество TinyBASIC, но с настоящим редактором строк BASIC!lisp.py
- Lisp 1.5. Классика, автор - Джон Маккарти, достаточен, чтобы интерпретировать самого себя (мета-циклический интерпретатор);apl.py
- интерпретатор k/simple, написанный Артуром Уитни, представляет собой диалект языка программирования K (array processing language), который является вариантом APL.mouse.py
- язык конкатенативного программирования MOUSE, опубликованный в журнале BYTE в 1979 году.pl0.py
- переводчик с языка PL/0, автор Никлаус Вирт.tcl.py
- крошечный интерпретатор командного языка (TCL).#Python #TinyLanguage
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍38❤7🔥6😁2😱1
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤7🔥3
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤7🔥4
This media is not supported in your browser
VIEW IN TELEGRAM
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥7❤6
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33❤11🔥7
Разработчики репозитория Python-пакетов PyPI (Python Package Index) сообщили о введении нового механизма цифровой аттестации для проверки подлинности загружаемых пакетов.
Этот механизм заменил прежнюю систему верификации с помощью PGP-подписей. Основное отличие заключается в том, что теперь публикацию пакета подтверждает не сам разработчик, а третья сторона (каталог пакетов), основываясь на проверке через внешнего провайдера OpenID Connect. Это может включать проверку соответствия публикуемого пакета с исходным репозиторием на платформах вроде GitHub или GitLab.
Новая система решает проблемы, присущие старому методу верификации через PGP-подпись, который уже считался устаревшим. Основная трудность заключалась в проверке принадлежности открытых PGP-ключей их владельцам. Из 1069 PGP-ключей, использовавшихся с 2020 года для подписания пакетов в PyPI, 29% ключей вообще не были найдены на крупных публичных серверах ключей, а 35% оказались невозможными для подтверждения в процессе аудита. При этом подтвержденные 36% ключей покрывали всего 0.3% от общего числа подписанных файлов.
В рамках новой системы цифровые подписи формируются с использованием временных эфемерных ключей, создаваемых на основании полномочий, подтвержденных провайдером OpenID Connect.
Когда разработчик создает ключ для подписи, он проходит идентификацию через провайдера, который удостоверяет его связь с основным проектом. Эта инфраструктура основана на системах
Sigstore и in-toto Attestation Framework.
Одним из преимуществ аттестации является отсутствие зависимости от постоянных PGP-ключей.
Если закрытый ключ теряется или подвергается атаке, все созданные с его помощью подписи становятся ненадежными. Аттестация же связывает подпись с временным токеном, который подтверждает права разработчика в момент загрузки пакета и его соответствие основному репозиторию кода.
Например, при загрузке пакета, подготовленного через GitHub Actions, аттестация гарантирует наличие связи между пакетом в PyPI и исходным хранилищем, рабочим процессом и хешем коммита, на базе которого был собран пакет.
Для мониторинга подлинности ключей и обнаружения потенциальных угроз в проектах, создающих пакеты, и самом PyPI используется централизованный публичный журнал. Чтобы обеспечить целостность данных и предотвратить изменение информации задним числом, в нем применяется структура «дерева Меркла» (Merkle Tree), где каждая ветвь проверяет все подчиненные ветви и узлы посредством древовидной схемы хеширования.
Кроме того, стоит упомянуть обнаруженный в каталоге PyPI вредоносный пакет под названием «fabrice», который использовал технику тайпсквоттинга – назначение схожего имени, различающегося несколькими символами (например, exampl вместо example, djangoo вместо django, pyhton вместо python и так далее), чтобы замаскироваться под популярную библиотеку «fabric».
Эта библиотека насчитывает около 201 миллиона загрузок (около 7 миллионов за последний месяц). Вредоносный пакет оставался незамеченным с 2021 года и успел набрать более 37 тысяч загрузок.
Пакет «fabrice» имитировал основную функциональность оригинальной библиотеки, но также содержал код для поиска и передачи ключей доступа к AWS (Amazon Web Services), установки бэкдоров и выполнения определенных скриптов.
Активизация вредоносных компонентов происходила как в операционной системе Linux, так и в Windows. В случае с Linux, файлы, связанные с вредоносной активностью, загружались в каталог ~/.local/bin/vscode.
@pythonl
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤11🔥4😱4