В PyPi обнаружили вредоносные библиотеки
Библиотеки имитировали популярные пакеты и носили очень похожие на них имена, чтобы пользователь мог не заметить разницы. К примеру, под фреймфорк Django маскировались diango, djago, dajngo и djanga.
Авторы подделок внедряли в свои проекты вредоносный код, который собирал информацию о зараженной машине и окружении, некоторые библиотеки открывали реверс шелл для удаленного управления. В настоящее время все проблемные библиотеки уже исключены из репозитория.
В пакете colourama(имитация colorama) нашли код, который следит за буфером обмена, и меняет криптовалютные кошельки на собственные. По информации сервиса PyPI Stats, библиотеку colourama успели скачать всего 54 пользователя. Другими словами, colourama явно не принесла своим разработчикам финансового успеха.
Не все так безопасно как казалось, поэтому прежде чем устанавливать рандомную библиотеку, стоит хотя бы один раз пробежаться по коду.
Библиотеки имитировали популярные пакеты и носили очень похожие на них имена, чтобы пользователь мог не заметить разницы. К примеру, под фреймфорк Django маскировались diango, djago, dajngo и djanga.
Авторы подделок внедряли в свои проекты вредоносный код, который собирал информацию о зараженной машине и окружении, некоторые библиотеки открывали реверс шелл для удаленного управления. В настоящее время все проблемные библиотеки уже исключены из репозитория.
В пакете colourama(имитация colorama) нашли код, который следит за буфером обмена, и меняет криптовалютные кошельки на собственные. По информации сервиса PyPI Stats, библиотеку colourama успели скачать всего 54 пользователя. Другими словами, colourama явно не принесла своим разработчикам финансового успеха.
Не все так безопасно как казалось, поэтому прежде чем устанавливать рандомную библиотеку, стоит хотя бы один раз пробежаться по коду.
👍21🤯9🤔2🔥1
😈 Как обнаружить вредоносный пакет PyPi
Способы заразить машину:
1. Скачать и запустить файл (DLL в том числе)
2. Выполнить системную команду
3. Выполнить вредоносный код на текущем языке
Какие моменты должны вызывать подозрение:
1. Любые системные команды для связи с удаленным пк или данными текущего пк
2. Попытки скачать любой файл системными командами или через код
3. Если либа практически пустая, но вся логика лежит в DLL
4. Если код обфусцирован, зашифрован или даже закодирован в base64. Та хоть это шифр Цезаря, это не имеет значения. Скрывают данные не прикола ради
Так нашли инфостиллеры, ворующие пароли и системную информацию. Атака начинается с копирования существующих популярных библиотек и внедрения вредоносного оператора «
В итоге либа выглядит 1в1 как оригинал, но во время взаимодействия, запускает вредоносный код. Пример таких "библиотек" вы можете наблюдать на изображении поста, я думаю тут и не надо объяснять что запускать такое это смерти подобно 💀
Способы заразить машину:
1. Скачать и запустить файл (DLL в том числе)
2. Выполнить системную команду
3. Выполнить вредоносный код на текущем языке
Какие моменты должны вызывать подозрение:
1. Любые системные команды для связи с удаленным пк или данными текущего пк
2. Попытки скачать любой файл системными командами или через код
3. Если либа практически пустая, но вся логика лежит в DLL
4. Если код обфусцирован, зашифрован или даже закодирован в base64. Та хоть это шифр Цезаря, это не имеет значения. Скрывают данные не прикола ради
Так нашли инфостиллеры, ворующие пароли и системную информацию. Атака начинается с копирования существующих популярных библиотек и внедрения вредоносного оператора «
__import__» в кодовую базу пакетаВ итоге либа выглядит 1в1 как оригинал, но во время взаимодействия, запускает вредоносный код. Пример таких "библиотек" вы можете наблюдать на изображении поста, я думаю тут и не надо объяснять что запускать такое это смерти подобно 💀
👍24🔥1🤯1
☝️Небольшое дополнение к посту выше
Также стоит понимать, что подобные проекты делают для какой-то выгоды
Это либо кража ваших данных, либо шифрование, либо их перехват. Иногда даже в обфусцированных проектах и даже в готовых DLL можно найти импорты библиотек, которые позволяют это сделать
К примеру, как понять что обфусцированный код будет воровать пароли?
Если вы нашли в коде импорты библиотек для работы с FTP, SMTP, для работы с базами SQLite или для дешифровки локальных баз данных. И чаще всего, если посмотреть на то, какие библиотеки импортирует проект, то даже по самим библиотекам уже можно понять, что этот проект собрался делать
Если вы открыли обфусцированный проект, и видите:
👍 - Да
😁 - Нет
Также стоит понимать, что подобные проекты делают для какой-то выгоды
Это либо кража ваших данных, либо шифрование, либо их перехват. Иногда даже в обфусцированных проектах и даже в готовых DLL можно найти импорты библиотек, которые позволяют это сделать
К примеру, как понять что обфусцированный код будет воровать пароли?
Если вы нашли в коде импорты библиотек для работы с FTP, SMTP, для работы с базами SQLite или для дешифровки локальных баз данных. И чаще всего, если посмотреть на то, какие библиотеки импортирует проект, то даже по самим библиотекам уже можно понять, что этот проект собрался делать
Если вы открыли обфусцированный проект, и видите:
import smtplibЭто хорошо?
import pynput
from win32crypt import CryptUnprotectData
👍 - Да
😁 - Нет
😁82👍13🔥2🤯2
🐧 Президент Microsoft Брэд Смит заявил, что компания намерена полностью сократить свой бизнес в России
По словам предпринимателя, корпорация будет сворачивать деятельность до тех пор, «пока ничего не останется»
Возможно вы спросите, к чему я это пишу?
Я не смог удержаться и еще раз не пошутить про линукс.
На это заявление я смотрю со стороны пользователя, и четко вижу минусы централизованных систем. Если компания захочет, они смогут сделать что угодно с любыми вашими данными, и это касается всех пользователей, которые используют эту систему
Я не призываю никого переходить на Linux, это ваше решение,
но просто сравните подходы этих систем, и подумайте, где больше свободы?
По словам предпринимателя, корпорация будет сворачивать деятельность до тех пор, «пока ничего не останется»
Возможно вы спросите, к чему я это пишу?
Я не смог удержаться и еще раз не пошутить про линукс.
На это заявление я смотрю со стороны пользователя, и четко вижу минусы централизованных систем. Если компания захочет, они смогут сделать что угодно с любыми вашими данными, и это касается всех пользователей, которые используют эту систему
Я не призываю никого переходить на Linux, это ваше решение,
но просто сравните подходы этих систем, и подумайте, где больше свободы?
👍61😁8🤯6🤔1
crypto_tracker.zip
192.1 KB
Исходный код как и обещал. Тут есть моменты по которым нужно пройтись напильником, поэтому все в ваших руках 😎😉
👍21🔥4🤔4
Сообщество Программистов
habr_parser.zip
Сейчас посмотрел, и понял, что обновлений этого софта
не было с прошлого года 😱
Поэтому хочу поздравить всех с наступающим или уже наступившим новым годом, желаю чтобы в этом году вы добились всех своих целей, прокачались во всех нужных вам направлениях, и чтобы 2023 год, был именно тем годом, который всё изменит.
Желаю вам приятно провести праздники, всех обнял ☺️
не было с прошлого года 😱
Поэтому хочу поздравить всех с наступающим или уже наступившим новым годом, желаю чтобы в этом году вы добились всех своих целей, прокачались во всех нужных вам направлениях, и чтобы 2023 год, был именно тем годом, который всё изменит.
Желаю вам приятно провести праздники, всех обнял ☺️
👍21🔥5🤯2
Сообщество Программистов
https://youtu.be/_pw136PPTKA
❗️В видео было странное поведение lru_cache,
поэтому я продолжил тесты, и нашел ответ.
Написал небольшую статью, где показал все мои тесты
с этой технологией, поэтому советую прочитать.
P.S Спасибо всем, кто оставлял комментарии, это стало мотивацией для продолжения тестов 🐍
поэтому я продолжил тесты, и нашел ответ.
Написал небольшую статью, где показал все мои тесты
с этой технологией, поэтому советую прочитать.
P.S Спасибо всем, кто оставлял комментарии, это стало мотивацией для продолжения тестов 🐍
👍23🔥4😁1
В комментариях подсказали еще 1 вариант для 1го примера из видео.
В итоге:
- cycle_example 0.76s
- sum_example 0.43s
- summary 0.01s
Ускорение вышло примерно x70.
Поэтому на этапе оптимизации кода, можно поиграться с подобными комбинациями, и получить максимальную производительность.
В итоге:
- cycle_example 0.76s
- sum_example 0.43s
- summary 0.01s
Ускорение вышло примерно x70.
Поэтому на этапе оптимизации кода, можно поиграться с подобными комбинациями, и получить максимальную производительность.
🔥17👍6🤔2
1. pip install line_profiler
2. добавляем декоратор @profile
Также можно пробежаться через cProfile, чтобы получить затраченные ресурсы на каждую операцию, но об этом в отдельном видео 😉
2. добавляем декоратор @profile
@profile
def summary():
res = sum(range(1_000_000))
print(res)
if __name__ == "__main__":
summary()
3. kernprof -l -v your_file.pyТакже можно пробежаться через cProfile, чтобы получить затраченные ресурсы на каждую операцию, но об этом в отдельном видео 😉
🔥10🤔4
А кто-то еще жалуется на ускорение циклов в 70 раз 😁😁
В то время как разработчики Python издеваются над людьми, и заставляют везде ставить эти ужасные пробелы.
А ведь скорость разработки от этого падает в целых 4 раза, как говорит автор доклада 😁. А если бы пробелов было 10, то в целых 10 раз!
В то время как разработчики Python издеваются над людьми, и заставляют везде ставить эти ужасные пробелы.
А ведь скорость разработки от этого падает в целых 4 раза, как говорит автор доклада 😁. А если бы пробелов было 10, то в целых 10 раз!
😁40🤯7👍1
Несколько принципов для защиты системы и приложений
1. Систему можно "защитить" до такой степени, что с ней будет невозможно работать. Необходимо найти баланс между защищённостью и удобством.
2. Существует множество атак и угроз, но следует понимать, что наибольшей уязвимостью всегда был — и будет — сам пользователь.
3. Каждый элемент системы должен иметь доступ только к тому, что необходимо ему для работы, и ни к чему более.
4. Безопасность должна быть организована в виде многослойной системы. Когда один из слоёв защиты прорван, следующий остановит атаку.
5. Будьте немного параноиком. Будьте подозрительны. Если что-то выглядит слишком хорошо, чтобы быть правдой, то скорее всего, так оно и есть.
📕 Но также учитывайте, что 100% защиты не существует, поэтому у вас должен быть план на тот случай, если эта защита будет разрушена.
1. Систему можно "защитить" до такой степени, что с ней будет невозможно работать. Необходимо найти баланс между защищённостью и удобством.
2. Существует множество атак и угроз, но следует понимать, что наибольшей уязвимостью всегда был — и будет — сам пользователь.
3. Каждый элемент системы должен иметь доступ только к тому, что необходимо ему для работы, и ни к чему более.
4. Безопасность должна быть организована в виде многослойной системы. Когда один из слоёв защиты прорван, следующий остановит атаку.
5. Будьте немного параноиком. Будьте подозрительны. Если что-то выглядит слишком хорошо, чтобы быть правдой, то скорее всего, так оно и есть.
📕 Но также учитывайте, что 100% защиты не существует, поэтому у вас должен быть план на тот случай, если эта защита будет разрушена.
🔥16👍7🤔4