🛞 CrossHair — необычный инструмент для анализа Python-кода, который использует символьное выполнение для поиска ошибок. Вместо традиционных тестов он проверяет корректность функций, анализируя их поведение на основе аннотаций типов и контрактов.
Под капотом работает SMT-решатель, который ищет входные данные, нарушающие условия. Например, может автоматически обнаружить, что ваша функция падает на отрицательных числах, хотя в контракте указано x: PositiveInt. Интегрируется с Hypothesis и популярными IDE.
🤖 GitHub (https://github.com/pschanely/CrossHair)
@Python_Community_ru
Под капотом работает SMT-решатель, который ищет входные данные, нарушающие условия. Например, может автоматически обнаружить, что ваша функция падает на отрицательных числах, хотя в контракте указано x: PositiveInt. Интегрируется с Hypothesis и популярными IDE.
🤖 GitHub (https://github.com/pschanely/CrossHair)
@Python_Community_ru
⚠️ Внимание: фишинг-атака на разработчиков Python. Злоумышленники рассылают поддельные письма от имени PyPI с домена pypj.org, требуя "подтвердить email".
Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.
🔗 Ссылка - *клик* (https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/)
@Python_Community_ru
Уже пострадал популярный пакет num2words (3M+ загрузок/месяц) — через захваченные аккаунты были выпущены вредоносные обновления. Атака повторяет недавний инцидент с NPM, где скомпрометировали пакеты с 100M+ загрузок в неделю.
🔗 Ссылка - *клик* (https://blog.pypi.org/posts/2025-07-31-incident-report-phishing-attack/)
@Python_Community_ru