March 12

Безопасность при работе с софтами

Привет! А ты доверяешь чужим софтам? Нет ли у тебя параноидальной мысли, что твои приватники сдрейнят?

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

Всего лишь один вредоносный софт может лишить тебя всего.
Самое страшное - увидеть как с твоего кошелька уходит баланс на скамерский кошелек.
Софты очень удобная вещь, но с ними надо быть предельно аккуратным.

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

Гайд рассчитан на тех, кто знаком с софтами и умеет с ними работать.
Если у тебя еще нет такого навыка, то у меня есть отличный гайд Ультимативный гайд по работе с софтами

Самая лучшая поддержка - подписка на мой канал Бульдозер у клавиатуры

План:

Правильная гигиена

  1. База
  2. Приватники
  3. Сервера или VM
  4. Правильная установка

Методы скама и борьба с ними

  1. Requests Scam
  2. Фейковые библиотеки
  3. Динамический импорт
  4. Скам-контракты
  5. Exec functions
  6. Проверка новых обновлений

Нейронки

Аудиторы - лучший способ

Итог

Donate

My links


Правильная гигиена

База

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

Приватники

Есть так называемые мейн кошельки, то есть те с которыми ты работаешь в 99% проектах.
Крайне не рекомендую пихать их в какой-либо софт. По мимо того, что есть шанс утечки, так еще есть шанс попасть под кластер бритвы.
Программисты тоже люди и могут ошибаться, не заметить какую-то маленькую деталь и проект вполне может сбривать такие аккаунты.

По хорошему иметь:

  • Мейн кошельки только для ручной работы
  • Средние кошельки, которые пихаются в большинство проверенных софтов
  • Бомж акки, которые не жалко потерять совсем

Сервера или VM

Ты же понимаешь, что софты вполне могут полностью взаимодействовать с твоим компом?

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

5$ на сервер или бесплатная виртуальная машина - небольшая плата за твою безопасность.
Так софт не будет иметь возможность просканировать твой компуктер.

В моем гайде есть подробная инфа, как ставить софты на сервера Ультимативный гайд по работе с софтами
Рандомный видос по установке виртуальной машины на Windows
Aeza - хостинг серверов

Правильная установка

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

Методы скама и борьба с ними

Уже есть огромная статья, которая покажет тебе большинство возможных методов скама и методы как с ними бороться.
Я не хочу копипастить чужой труд.
Ниже мы пробежимся по этой статье и я на примере своего софта Crypto Helper Bot покажу его разбор.
Лучше всего открыть две статьи в split режиме, чтобы не запутаться

Скажи "НЕТ" скаму в софтах! автор E-BEGGAR


Requests Scam

Контрмеры:

Поиск по всей директории проекта (Ctrl+Shift+F), затем аудит на предмет того, где, когда и куда передаются ключи/файлы с ними. В случае вопросов — подозрительные фрагменты следует обсудить с GPT-4. Что искать? Вот тебе чеклист:

  • Название .txt, .xlsx файла/файлов с ключами
  • Название переменной которая присваивается ключам (как пример p_key)
  • Фрагменты URL а конкретно этот "://"
  • Названия методов "join", "with open", "decode", "requests"

Открываем нашу IDE и погнали.

Ищем .txt файлы с ключами, видим, что они используются в config и README. Запоминаем, что в config у нас присваиваются пути к файлам с приватниками

Теперь идем по названиям переменных в конфиге, я разберу на примере DISPERSE_PRIVATE_FILE, он использует приватники для работы с транзакциями.

По поиску мы видим:

  • Тот же config
  • Использования файла в create_files.py, проанализировав код понимаем, что он просто создает пустой файл
  • Использование в файле disperse.py.
    Импорт, а после присваивание в переменную private_file.

    Где разбирается текстовый файл и разбивает на строчки его в переменной disperse_private.

    Теперь отталкиваемся от disperse_private.

Анализируем каждую строчку с disperse_private и ищем странные строчки кода.
В целом на что можно обратить внимание это перебор приватников в цикле for для отправки транзакций.
В остальных случаях в поиске используется disperse_private_key - ключ который указан в настройках.
Проанализировав его использование мы видим создание client для взаимодействия с блокчейном
Страшных запросов на скамерский сервак мы не нашли.

Далее пробегаемся по фрагментам URL ://
Тут главное не увидеть какой нибудь ссылки по типу https://yaukralprivatniki.com
Видим, что в коде такого нет и двигаемся дальше

Фейковые библиотеки

Если вы выполняете команду pip install -r requirements.txt, что работает в 99% случаях, то устанавливаются библиотеки с этого файла.
Наша задача скопировать содержимое этого файл и пойти в нейронку с ним

Отправляю вот такой запрос:

Привет, я устанавливаю софт на python с гитхаба и боюсь, что мне подсунут фейковую библиотеку, проверь пожалуйста эти библиотеки, можно ли им доверять?

Получаем вот такой ответ:

Рэфлагов нет, значит двигаемся дальше

Динамический импорт

Контрмеры:

Поиск (Ctrl+Shift+F) двух ключевых слов: "install", "importlib". Не смотря на хитровыебаность это легко ищется, такой мув не заметить трудно.

Ищем слово install. Видим, что используется только в README, все гуд

importlib не дает никаких результатов

Скам-контракты

Контрмеры:

Тестовый запуск всех функций скрипта на одном кошельке > проверка каждой транзакции в эксплорере > ручная проверка каждого из контрактов.

Первое на что стоит обратить внимание это суммарное количество транзакций, ни один скамер не станет накручивать на контракте 50к nonсe для чего бы там ни было, это просто не выгодно.

Подозрительные контракты стоит проверить через solidityscan.

Так же не забудь подключить адрес и проверить все апрувы на https://revoke.cash

Ps. Бесконечные апрувы легитным адресам вроде opensea, uniswap это не признак скама, это повод дать автору леща. Всегда есть вероятность что даже самые крупные компании падут жертвами тир-3 эксплойта. Последнее что тебе нужно это апрув на 59438510341299432308417248528374 ETH

Можно поискать заранее контракты, для этого в поиске ищем 0x, скорее всего выдаст все контракты, которые используется в коде. Идем в сканер и ищем их. Но контрмера выше будет проще в использовании. В моем коде не используются контракты

Exec functions

Контрится, как всегда, поиском по ключевому слову (exec) в данном случае. Всегда ищи по всей директории проекта c помощью (Ctrl+Shift+F), чтобы не кликать каждый файл как долбоёб. Функции exec() не должно быть в принципе. Запомни, она используется только для динамических алгоритмов, и её просто не должно быть в скрипте под StarGate с 6 модулями.

По поиску видим, что совпадает начало названий текста, но функции самой нет, можно выдохнуть

Проверка новых обновлений

Каждый раз вводя команду git pull вы обновляете софт. Git - супер удобный инструмент, который покажет все изменения с прошлой версии.

Если вы прошлись по пунктам выше, имеет смысл проверять каждое обновление.
Все таки, что мешает скамеру залить обнову с одним из способов скама?

Заходим в репозиторий и жмем справа вверху commits.

Тут мы видим все изменения кода с начала его создания, заходим в commit, который мы хотим установить (если собралось несколько коммитов, то анализировать придется все новые)

Зайдя в commit, слева мы видим все файлы, которые были изменены. По центру, что было изменено.
Наша задача не увидеть ред флаги которые мы разбирали выше.


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

Нейронки

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

Если у вас приватный репозиторий, то кидайте нейронке либо архив с файлами, либо файлы по очереди для анализа.

Мой запрос нейронке:

Привет, проанализируй пожалуйста данный репозиторий, проверь все файлы в нем и найди места, где меня могут обмануть и украсть мои приватники.
https://github.com/Buldozerch/cryptohelper

Основной ответ:

Итоговые рекомендации

  1. Проверьте RPC-сервер в config.py — он должен быть от доверенного провайдера.
  2. Обновите зависимости и используйте актуальные версии библиотек.
  3. Не запускайте код с реальными ключами в ненадежном окружении.
  4. Избегайте хранения приватных ключей в открытом виде даже временно (например, в переменных окружения).
  5. Добавьте статический анализ кода (например, Bandit) для поиска уязвимостей.

Тут ничего страшного нет, их задача найти любые недочеты и максимально обезопасить пользователя.
Ред флагов не увидели, все окей!

Аудиторы

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

Суть такова, что вы даете ссылку на репозиторий человеку, который проанализирует каждую строчку кода и точно даст понять безопасно ли использовать данный софт.

От себя я могу рекомендовать Alex | maked0n1an

Он проверял каждый мой софт при работе с криптопиражком. Был модератором потоков по обучению кодинга у Ahillary с cryppi.
Профессионал и очень крутой программист!

Прайс на проверку софта: 50 - 100$, все зависит от объема работы.

Думаю 50-100$ небольшая плата за свою безопасность и спокойствие

Итог:

Вот и подошла данная статья к концу.
Не давай возможности скамерам забрать твои приватные ключи, BE SAFE
Ну и конечно же DYOR
Самая лучшая поддержка - подписка на мой канал Бульдозер у клавиатуры

Donate EVM:
0x7AE96311BEd9Fc1a32Eb99f1d62E9C2aA088bb38

Donate TRX:
TD6JnRN94C4sm313t7xDS9JKQkCypLhcJo

Donate SOL:
HgoYUmW6T6JFPCJjUvA21F5UmJ64dmWozVvcYGaxhENu

My links:

Github

TG Channel