И прилетело это все через зараженную версию PyTorch Lightning - популярного фреймворка для AI-тренировок. Что произошло:
30 апреля злоумышленник получил доступ к PyPI-учетке проекта и залил вредоносные версии lightning - 2.6.2 и 2.6.3. Они прожили там всего около 42 минут, после чего PyPI их отправил в карантин. Но этого хватило. Если в этот момент кто-то сделал:
pip install lightning
или если CI/CD сам подтянул последнюю версию, то проект мог получить бэкдор. После установки малварь добавляла hook в настройки Claude Code внутри проекта. Этот hook указывал на скрипт в .vscode и запускался каждый раз, когда вы стартуете сессию в этой папке. VS Code тоже получал «подарок» - workspace task, которая автоматически запускалась при открытии проекта.
То есть poisoned dependency просто превращала ваши dev-tools в автозапуск атакерского кода. Без какого-то очевидного окна «эй, сейчас будет запускаться малварь», окна с вирусом, криков. Это только начало.
При импорте пакет скачивал Bun с GitHub и через него запускал 11-мегабайтный обфусцированный payload. Он собирал ВСЕ:
- developer credentials;
- переменные окружения;
- cloud secrets;
- криптокошельки;
- npm publishing tokens.
И если находил npm-токен, то начинал заражать уже JavaScript-экосистему: внедрял себя во все пакеты, к которым у токена был доступ, повышал версию и публиковал их заново. То есть один зараженный разработчик мог стать мостиком из Python supply chain атаки в npm supply chain атаку. Очень неприятная механика.
И это просто потому что вы через консоль скачали официальный пакет. Теперь малварь - это не просто «украли ключи и кошельки, и убежали», а попытка встроиться прямо в рабочий процесс разработчика и использовать его доступы для дальнейшего распространения. Умнеют инструменты, умнеют и вредоносы :(
Просто рассказываю, будьте бдительны. Еще 1 причина учиться запускать/деплоить/тестировать все в изолированном пространстве.
Please open Telegram to view this post
VIEW IN TELEGRAM
😭77❤34⚡15✍6😨6🔥1
Сейчас даже обычный pip install, npm install, запуск dev-сервера или тестов - это уже выполнение чужого кода на вашей машине. Раньше такого не было. И проблема не только в том, что можно поставить мутный пакет. Иногда заражают нормальные популярные проекты, которым все доверяют. А дальше этот код может получить доступ к .env, токенам, SSH-ключам, cloud credentials, npm publish tokens и вообще ко всему, что лежит в рабочем окружении.
- не запускать непонятные репозитории сразу на основной системе;
- не хранить реальные токены в проектах, где тестируете чужой код;
- использовать отдельные venv / node_modules / .env;
- для подозрительных проектов - Docker или devcontainer;
- для совсем мутных вещей - отдельная VM через VirtualBox / UTM / VMware, которую не жалко снести.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍58❤36🔥7☃4🤝2👀1
Не надо сразу уходить в паранойю и строить лабораторию как у malware analyst, ofc. Можно начать с нормальной "бытовой гигиены".
1) venv / pyenv / uv для Python
Это минимальный уровень. Чтобы зависимости проекта жили отдельно, а не превращали всю систему в помойку. Для Python сейчас я бы смотрел в сторону uv - быстро, удобно, современно.
2) nvm / pnpm / отдельные node_modules для JavaScript
Тоже база. Не мешать зависимости разных проектов, не ставить все глобально и не хранить токены рядом с рандомными тестовыми репами.
3) Docker
Базовый навык и главный практичный инструмент для изоляции. Можно поднять проект в контейнере, снести контейнер и не трогать основную систему. Не идеальная защита от всего, но для обычной разработки - супер.
4) Dev Containers
Если вы работаете в VS Code / Cursor, это прям должно быть оч удобно. Окружение описывается в проекте, IDE открывает его внутри контейнера, зависимости не лезут в основную систему.
5) Windows Sandbox
Вот очень недооцененная штука для тех, кто сидит на Windows Pro / Enterprise / Education. Это одноразовая изолированная Windows-среда: открыл, проверил файл / установщик / подозрительный софт, закрыл - состояние удалилось. Насколько безопасно? Для бытовой проверки - хорошо. Для запуска рандомного .exe, странного архива или непонятного инсталлятора - намного лучше, чем запускать это на основной системе. Но! У Windows Sandbox по умолчанию может быть сеть, общий буфер обмена, доступ к проброшенным папкам и виртуальный GPU. Чем больше вы ей разрешаете, тем больше мостиков между песочницей и основной системой.
6. VirtualBox / VMware / UTM
Это уже уровень выше. Отдельная виртуальная машина, которую можно снести после экспериментов. Для подозрительных репозиториев, старого софта, странных бинарников и всего, чему вы не доверяете.
7. GitHub Codespaces / Gitpod
Хороший вариант, если не хочется запускать проект локально. Все крутится в облачном окружении, а не на вашем ноутбуке.
Вроде, все, чем когда-то пользовался/пользуюсь - перебрал. Че юзать - зависит от вашего уровня паранои. Получилась серия постов частично о кибер-безопасности, частично о кибер-гигиене. Такое нравится?
Please open Telegram to view this post
VIEW IN TELEGRAM
❤132🔥24👍16👏3👌2💯1
Это относительно редкая инфа и я буду рад, если вам поможет, если возможности тратить по 25$ каждый месяц нет (да и лимиты в этой версии подписки смешные).
Сразу логика: мы ставим OmniRoute, подключаем в него провайдера, получаем локальный API-ключ, а потом запускаем Claude Code так, чтобы он ходил через OmniRoute.
Порядок действий:
1) Ставим Node.js. Лучше ставить Node.js v22, чтобы не ловить лишние ошибки совместимости. Проверяем Node.js версию командой:
node -v
2. Ставим OmniRoute. В том же терминале пишем:
npm install -g omniroute@latest
Потом запускаем командой "omniroute". Должно открыться окно / локальная панель OmniRoute.
3. Подключаем провайдера в OmniRoute
В панели OmniRoute:
1) Открываем раздел Providers;
2) Выбираем нужного провайдера, Kiro AI;
3) Нажимаем Add connection;
4) Логинимся через Google / GitHub / AWS Builder ID;
5) После подключения идем в раздел с API-ключами;
6) Создаем новый ключ;
7) Копируем и сохраняем его.
Важно: ключ может показываться один раз. Сразу сохраните его куда-нибудь в безопасное место.
4) Ставим Claude Code
На Windows можно поставить через терминал:
winget install Anthropic.ClaudeCode
После установки проверяем, в терминале пишем: "claude --version". Если версия появилась - Claude Code установлен.
5) Делаем удобный запуск через bat-файл. Чтобы каждый раз не запускать OmniRoute руками и не прописывать переменные, можно создать файл claudeforfree.bat или что-то такое. Он будет делать все сам:
- проверять, запущен ли OmniRoute;
- если не запущен - запускать;
- ждать, пока откроется порт 20128;
- подставлять нужные переменные;
- запускать Claude Code уже через OmniRoute.
6) Как создать bat-файл
Создайте папку, например, по пути C:\bat. Внутрь ложите файл (можно скачать тут)!. В скрипте внутри файла надо поменять только три вещи:
1) OMNI_BASE_URL - сюда вставляем Base URL из OmniRoute (берем в OmniRoute в разделе API Endpoints)
2) OMNI_API_KEY - сюда вставляем API Key из OmniRoute (созданный разнее для KIRO AI)
3) CLAUDE_MAIN_MODEL - сюда вставляем модель или combo из OmniRoute (на странице Kiro будет доступная модель, сейчас это sonnet 4.5)
Совет: если шарите, можете добавить папку C:\bat в переменные окружения. Тогда сможете вызывать ваш Claude командой, которая аналогична названию bat-файла (если не меняли название - claudeforfree), с любого места в системе. Как сделать:
- нажмите Win;
- найдите “Переменные среды”;
- откройте “Изменение системных переменных среды”;
- нажмите “Переменные среды”;
- в переменных пользователя найдите Path;
- нажмите “Изменить”;
- добавьте C:\bat;
- сохраните.
Теперь можно открыть с любой папки, находясь в терминале, просто написав:
claudeforfree
и Claude Code стартует уже через OmniRoute. В итоге получается удобная схема: один раз настроили OmniRoute, один раз сделали bat-файл, дальше запускаете Claude Code через одну команду
Please open Telegram to view this post
VIEW IN TELEGRAM
❤338🤯40👍31👀12💘8👌6
Меня часто просили сделать мобильную версию — поэтому я собрал всё в Telegram-боте: @DContentbot.
Что он умеет:
— скачивать видео и аудио с разных платформ (буду добавлять еще);
— транскрибировать голосовые сообщения и делать краткую выжимку;
— превращать аудио в задачи, краткое объяснение или другой удобный формат;
— распознавать текст с картинок;
— объяснять изображения и мемы;
— работать с PDF-файлами.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤75👍10🔥9🦄2👎1💯1
Тихий ночной пост 🌙
🤘 Люди, оказывается, платят за то, чтобы получить какие-то базовые навыки по AI. Не нужно покупать курсы у Васянов, которые сотрясают воздух, ребята, лучше купите у меня есть курсы/гайды от топ-тех компаний, абсолютно бесплатные.
ДИСКЛЕЙМЕР: это будет полезно не только программистам, а всем, чья работа предполагает интеллектуальный труд/поиск и структуру информации/работу за ПК.
Начнем. Я хотел собрать короткий и практичный маршрут по бесплатным AI-курсам - от понимания GenAI до применения в работе и создания AI-приложений.
🗣 Моя логика последовательности: сначала понять GenAI → потом научиться хорошо с ним общаться → затем внедрить в повседневную работу → и только после этого идти в разработку AI-приложений.
Пройти ВСЕ можно буквально за неделю, первые три курса длятся +- по 3.5 часа, дальше - 74 урока по 10 минут (12.5 часов) и курс от Microsoft - ну, он индивидуален, так как более комплексный.
Это то, что другие будут продавать Вам под оберткой авторских курсов. Тут же узнаете все то же самое совершенно бесплатно.
Если нужно - пройдем по🎚 AI Boost Bites отдельно, чтобы выявить топ-6 самых практически применимых урока оттуда.
ДИСКЛЕЙМЕР: это будет полезно не только программистам, а всем, чья работа предполагает интеллектуальный труд/поиск и структуру информации/работу за ПК.
Начнем. Я хотел собрать короткий и практичный маршрут по бесплатным AI-курсам - от понимания GenAI до применения в работе и создания AI-приложений.
1. Generative AI for Everyone — DeepLearning.AI / Andrew Ng
Начал бы именно с него: он даёт базовое понимание, что такое генеративный AI, что он может и не может, где его применять в работе и бизнесе. Хороший фундамент для тех, кто не хочет сразу уходить в код, но хочет понимать логику технологии и её ограничения.
2. AI Prompting for Everyone — DeepLearning.AI / Andrew Ng
После базы - практика промптинга. Курс учит использовать AI как помощника для поиска информации, deep research, брейншторма, письма, критики идей, работы с изображениями и даже простых no-code приложений.
3. AI Boost Bites - Google Skills
Дальше я бы перешёл к коротким прикладным кейсам от Google: Gemini, NotebookLM, Google Workspace, автоматизация рутины, анализ данных, работа с письмами и презентациями. Это не фундаментальный курс, а набор 10-минутных “рабочих рецептов”, которые можно сразу тестировать в задачах.
4. Generative AI for Beginners — Microsoft / GitHub ver. 3
И уже после этого - Microsoft Generative AI for Beginners, если хочется перейти от “я пользуюсь AI” к “я понимаю, как строятся AI-приложения”. Там 21 урок: LLMs, responsible AI, prompt engineering, text/chat/image apps, RAG, vector databases, agents, fine-tuning, security и lifecycle AI-приложений.
Пройти ВСЕ можно буквально за неделю, первые три курса длятся +- по 3.5 часа, дальше - 74 урока по 10 минут (12.5 часов) и курс от Microsoft - ну, он индивидуален, так как более комплексный.
Это то, что другие будут продавать Вам под оберткой авторских курсов. Тут же узнаете все то же самое совершенно бесплатно.
Если нужно - пройдем по
Please open Telegram to view this post
VIEW IN TELEGRAM
👍119❤62🔥24❤🔥7💯3💅3
Идея простая: не отдельный «чат-бот ради чат-бота», а помощник, который работает с твоим Telegram-аккаунтом.
Что умеет:
— помнить переписки и искать по ним;
— делать выжимки из чатов;
— доставать задачи и обещания из сообщений;
— понимать голосовые и текст в произвольной форме;
— создавать напоминания, фиксировать дедлайны, пинговать до/после дедлайна;
— авто-ответчик;
— собирать дайджесты по чатам и каналам - что главного написали/произошло за ночь, что нужно сделать, какие обещания были даны как опция;
— сбор новостей из ваших каналов за период/поиск в них разбежностей/регулярная рассылка с новостями как опция;
— писать сообщения в чаты по обычной фразе: «Напиши Олегу, что созвон в 8».
Всё хранится локально, ключи шифруются, а отправка сообщений всегда идёт через подтверждение.
Ссылка на код:
Please open Telegram to view this post
VIEW IN TELEGRAM
❤133👍22👀12💯5🍓2😎2
1. База для входа на сервер:
- SSH / OpenSSH - главный способ подключаться к серверу;
- PuTTY - просто удобный клиент, еще один способ подключаться к серверу, кто сидит на Windows - советую;
- SSH-ключи - чтобы не заходить по паролю и не ловить брутфорс, безопаснее;
- WinSCP / SFTP - закинуть файлы на сервер, посмотреть папки, быстро что-то поправить.
2. Для запуска проектов:
- Git - стянуть проект с GitHub/GitLab;
- Docker + Docker Compose - запускать проект “в контейнере”, чтобы не превращать сервер в помойку из зависимостей;
- systemd - сделать так, чтобы приложение само запускалось после перезагрузки;
- PM2 / Supervisor - если у вас Node.js/Python-проекты и нужно держать процесс живым.
3. Для веба:
- nginx - принимает запросы из интернета и прокидывает их в приложение;
- Certbot / Let’s Encrypt - бесплатный HTTPS-сертификат;
- WireGuard / Outline / 3x-ui - если хотите поднять личный VPN/прокси на VPS;
- Cloudflare DNS - привязать домен, спрятать IP, получить базовую защиту и удобное управление DNS.
4. Для безопасности:
- ufw - простой firewall: нужен, чтобы открыть только используемые порты;
- fail2ban - банит тех, кто пытается перебирать SSH-пароли, как раз к пункту 1;
- обновления системы - apt update && apt upgrade, обновления = база для безопасности.
5. И маленькая база для диагностики:
- journalctl - смотреть логи сервисов;
- htop - понять, что жрёт CPU/RAM;
- df / du / ncdu - проверить место на диске;
- ss / netstat - посмотреть, какие порты слушаются;
- curl - проверить, отвечает ли сайт/API;
- tmux - оставить процесс или сессию живой даже после отключения от сервера.
Не так и много. Изучив/научившись пользоваться каждым из этих инструментов, по сути, сможете развернуть/задеплоить что угодно/сделать из своего сервера VPN.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥70👍17❤13🥰7👎1💯1
📂 Что доступно:💻 Windows RDP / VPS💻 Linux VPS💻 Ubuntu💻 Debian💻 кастомные ОС
📍 Локации серверов:🇸🇪 Швеция🇫🇮 Финляндия🇩🇪 Германия🇳🇱 Нидерланды
🚀 Почему выбирают TrendRDP:⚡️ мгновенная выдача после оплаты💵 оплата картой и crypto😈 без документов🤎 гарантия замены⏱ высокий uptime⚡️ поддержка 24/7💵 низкие цены
@trendrdp_bot
@trendrdp_bot
@trendrdp_bot
_______________________________
Please open Telegram to view this post
VIEW IN TELEGRAM
😁50❤16👍7👎7❤🔥5💯1
1. После подключения - сразу
apt update && apt upgrade -y. Это обновит список пакетов и установит свежие версии. Сервер из коробки может быть не совсем актуальным или совсем не актуальным. Самая первая причина для обновления - безопасность. 2. Постоянно работать под root может быть плохой идеей, потому что у него есть вся власть над сервером. root не спрашивает “а ты точно уверен?”, а просто делает, что для новичка - чревато. Лучше создать отдельного пользователя:
adduser username
usermod -aG sudo username
Еще у вас спросит пароль. Теперь у вас есть пользователь, который может выполнять команды администратора через
sudo.3. Настроить firewall. Самый простой вариант - ufw. Устанавливаем:
# Устанавливаем ufw — простой firewall для Linux
sudo apt install ufw -y
# Разрешаем SSH, чтобы не потерять доступ к серверу
# Важно сделать это ДО включения firewall
sudo ufw allow OpenSSH
# Если на сервере будет сайт или API — открываем HTTP
sudo ufw allow 80
# Открываем HTTPS для защищённого соединения
sudo ufw allow 443
# Включаем firewall
sudo ufw enable
# Проверяем статус и список открытых портов
sudo ufw status
4. Установить fail2ban чтобы избежать брутфорса.
sudo apt install fail2ban -y
sudo systemctl enable fail2ban
sudo systemctl start fail2ban
Он будет банить тех, кто слишком активно пытается подобрать пароль.
5. Можно поставить базовые утилиты:
sudo apt install git curl wget htop ncdu unzip zip tmux -y
6. Дальше уже ставим стек под проект:
- nginx - если будет сайт/API;
- Docker + Docker Compose - если хотите деплоить проекты в контейнерах;
- Certbot - если нужен HTTPS;
- PostgreSQL / MySQL / Redis - если проекту нужна база;
- WireGuard / Outline / 3x-ui - если VPS нужен под VPN/прокси.
Опционально еще можно Настроить SSH-ключи и отключить root-login и парольный вход, но это уже вопрос удобства.
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥76❤48👍22🥴5💯2👌1
Именно это число важное. Именно на этой отметке у меня украли прошлый канал, после чего хотелось опустить руки.
Спасибо, что читаете и не отписываетесь, даже когда я на месяц-два пропадаю из соц-сетей
Please open Telegram to view this post
VIEW IN TELEGRAM
❤625🔥107🥰42🤗13😢5👨💻4
Проект, естественно, немного изменён, чтобы у человека не было лишних проблем, если кто-то из преподавателей случайно наткнётся на него здесь или где-то ещё. Всякое бывает.
Как по мне, получился отличный референс для портфолио уровня "уверенный Junior+ / Pre-Middle". Я постарался максимально подробно расписать всё в README, чтобы проект можно было использовать как пример: структура, запуск, API, безопасность, Docker, тесты, миграции и общая логика.
Отдельно заморочился над инженерной частью:
- авторизация и роли пользователей;
- CSRF-защита;
- rate limiting;
- security headers;
- audit log;
- тесты;
- GitHub Actions CI;
- Docker dev/prod split;
- миграции БД;
- нормальная мобильная версия.
Стек: Python / Flask, SQLAlchemy, MySQL, Vanilla JS, HTML/CSS, Docker Compose, pytest, GitHub Actions. Да, стек слегка консервативный: проект студенческий, и у ВУЗа/преподавателя были свои требования. Но из доступного инструментария мы выжали максимум.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤170🔥38👍19😇4❤🔥3🥰1
Это может быть лендинг, сайт-портфолио, MVP, админка, каталог, бот-панель или другой небольшой проект.
Чтобы участвовать - нужно заполнить форму:
🌐 ссылка
Выбирать буду не по принципу “самая большая хотелка”, а по тому, насколько проект понятный, полезный, реализуемый и интересный.
Скам, казино, серые схемы, вредоносный софт и прочую дичь не беру.
Please open Telegram to view this post
VIEW IN TELEGRAM
❤189👍35🔥23👀8👾4⚡2
1. GitLab - если его не заблокируют у Вас, будет лучший вариант. Самый полноценный аналог GitHub: репозитории, Issues, Merge Requests, CI/CD, registry, wiki, роли. Плюс его можно поднять самому как GitLab Self-Managed.
Но он тяжёлый (если есть план развернуть на своем VPS): для базовой установки GitLab рекомендует планировать около 40 GB диска без учёта самих репозиториев.
Правда, шанс что доступ к нему тоже будут резать - огромен. GitLab - продукт с украинскими корнями, созданный украинским разработчиком.
2. Bitbucket - хуже, но нормально, если команда сидит в Jira/Trello/Atlassian. Есть Git-хостинг, код-ревью, CI/CD через Bitbucket Pipelines, права доступа.
3. GitFlic / GitVerse - это все ваше, в вашей стране, вряд ли заблочат. Если задача - доступность именно внутри РФ, на них можно смотреть.
1) Gitea - лёгкий self-hosted GitHub-подобный сервис: Git-хостинг, code review, команды, package registry, CI/CD.
2) Forgejo - форк Gitea, ближе к идеологии free/open-source, тоже поддерживает issues, pull requests, wiki, package registry, Actions, webhooks и т.д.
У самого на сервере стоит Gitea как бэкап, полет нормальный. Cтавишь Nginx, домен
git.example.com, SSL через Certbot - и у тебя свой мини-GitHub.Кстати, можно и без Gitea/Forgejo, в пару команд любой VPS делается бюджетным GitHub, правда, без Issues, Pull Requests, web-интерфейса, CI/CD и нормального управления командами:
# На VPS
sudo adduser git
sudo -u git mkdir -p /home/git/repos/myproject.git
sudo -u git git init --bare /home/git/repos/myproject.git
и на локальной тачке:
git remote add origin git@your-server-ip:/home/git/repos/myproject.git
git push -u origin main
Еще есть такая тема как зеркала. Это если вы все еще сидите на GitHub, но ваше
git clone --mirror https://github.com/user/repo.git # Клонируем репозиторий как полное зеркало: все ветки, теги и refs
cd repo.git # Переходим в папку bare-репозитория, созданную после clone --mirror
git remote set-url --push origin ssh://git@git.example.com/user/repo.git # Меняем адрес для push: теперь отправка будет идти на твой Git-сервер
git push --mirror # Отправляем полную копию репозитория на новый сервер
Надеюсь, кому-то помог.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍55❤29🔥17👀3💯1👾1
Сразу маленькое уточнение: вы много там предлагаете очень амбициозные, масштабные и коммерческие идеи. Это круто, но важно понимать - проект, который потенциально может приносить деньги и требует месяцев работы, невозможно нормально сделать за неделю бесплатно. Увы, я не дошел до уровня, когда могу программировать столько в кайф, так бы с радостью был меценатом.
- Astro;
- React integration для клиентских интерактивных частей;
- Tailwind CSS;
- TypeScript.
Сайт решает проблему подписчика, а точнее - его жены. Суть - люди часто пишут много сообщений в директ, чтобы записаться, просто узнать цену/список процедур.
Уже поднят, развернут и функционирует по адресу: https://snezhabrowstudio.com.ua/.
Если вам интересно посмотреть на код, то с разрешение подписчика я выложил его в публичный репозиторий, естественно, убрав личную информацию/фото.
Второй проект - интереснее. Это Telegram-бот уведомлений о новых Twitch Drops для выбранных пользователем игр с MiniApp, который позволит следить за всеми актуальными кампаниями, получать уведомления и т.д., с системой взаимного промоушена между стримерами и ботом.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍70🔥33❤16⚡2🍓1👀1