Full Stack · Security · Linux

Обменники, биржи, кошельки — без дыр, без простоев, без сюрпризов

Full Stack разработчик, 20+ лет в IT. Строю и защищаю продукты, где ходят чужие деньги.

Табло угроз

Мониторинг
Табло угроз: типовые атаки на обменный пункт и их статус
ВремяУгрозаУзелСтатус
--:--SQL-инъекцияAPI заявокОтражено
--:--Подмена адреса кошелькаФронтендОтражено
--:--Гонка при выводеОчередь выплатОбнаружено
--:--Перебор паролейАдминкаОтражено
--:--DDoS L7nginx / WAFОтражено
--:--Утечка ключейГорячий кошелёкОтражено
--:--Фишинг оператора2FA / сессииОтражено

Демонстрация типовых атак на обменные пункты. Статусы иллюстративные.

Оператор

Кто за табло
Павел Попов — Full Stack разработчик, специалист по безопасности финтех-продуктов
Павел · Full Stack / Security

Меня зовут Павел. Мне 33 года, программирую с двенадцати — больше двадцати лет в разработке.

Специализируюсь на продуктах, где ходят деньги: обменные пункты цифровых валют, биржи, кошельки, платёжные сервисы. Здесь ошибка в коде — это не кривая кнопка, а потерянные средства клиентов и репутация, которую не вернуть.

Поэтому я совмещаю три роли, которые обычно делят между разными подрядчиками: разработку, безопасность и инфраструктуру. Когда код, защита и серверы в одних руках, между ними не остаётся щелей, через которые уходят деньги. Делаю и мобильные приложения — iPhone, Android и PWA; например, ERRA Messenger ставится как PWA прямо из браузера.

Больше всего люблю нестандартные, узкоспециализированные и масштабные задачи — то, чего ещё нет на рынке. Я — автор open-source библиотек для Laravel (Bitcoin, TRON, EVM, Monero, Telegram-боты) — их можно посмотреть в разделе «Открытый код». Собственные продукты — экосистема ERRA: защищённый мессенджер, криптокошелёк с платёжным шлюзом и SaaS для соцсетей.

Говорю с владельцем бизнеса на языке рисков и денег: что может сломаться, во что это обойдётся и как это закрыть.

Живу в Анталье, Турция, работаю удалённо с клиентами из любых часовых поясов; в Анталье можно встретиться лично.

  • 33 года
  • В IT с 12 лет
  • 3 роли в одном

Резюме PDF · RUРезюме PDF · EN

Станция · Анталья, Турция · UTC+3

Пляж Коньяалты в Анталье на закате, горы Бейдаглары
Фото: Roy Egloff, CC BY-SA 4.0

Направления

Ведомость услуг

Беру продукт целиком или закрываю один участок. Нажмите на строку — откроются подробности.

Направления работы: что входит, стек и статус приёма заказов
НаправлениеЧто входитСтекСтатусПодробнее
Обменный пункт под ключЗаявки, курсы и резервы, интеграции с биржами и платёжками, AML-проверки, админка оператораLaravel · Nuxt · PostgreSQLПринимаю
КриптобиржаМатчинг-движок, стакан, кастоди горячих и холодных кошельков, KYCNest.js · Laravel · RedisПринимаю
КриптокошелькиHD-кошельки, мультисиг, холодное хранение, подпись офлайнNode.js · биткоин- и EVM-нодыПринимаю
Мобильные приложенияiPhone и Android: приложения обменников, кошельков и личных кабинетов; PWA без App Store и Google Play; биометрия, push-уведомления, защищённое хранение ключей на устройствеCapacitor · React Native · Swift / Kotlin · PWAПринимаю
Аудит и пентестРазбор существующего продукта, поиск дыр, отчёт с приоритетами, исправлениеКод · сервер · процессыПринимаю
Защита серверовHardening Linux, WAF, fail2ban, бэкапы, мониторинг, реагированиеDebian/Ubuntu · nginxПринимаю
Ноды и инфраструктураРазвёртывание и обслуживание нод, индексаторы, RPCLinux · DockerПринимаю
Нестандартные задачиТо, чего ещё нет: узкие интеграции, уникальная логика, масштабПо задачеОбсуждаем

Система безопасности

6 уровней защиты

Безопасность — не одна галочка, а шесть уровней, и дыра в любом из них сводит на нет остальные. Выберите уровень, чтобы увидеть, что именно я на нём делаю.

Код

  • Параметризованные запросы — никаких строк SQL, собранных из ввода пользователя.
  • Валидация данных на входе и экранирование на выходе.
  • Идемпотентные операции с деньгами: повторный запрос не спишет средства дважды.
  • Транзакции и блокировки при выводе — гонка запросов не удвоит выплату.
  • Статический анализ и ревью зависимостей перед каждым релизом.
Сравнение: типовой обменник и моя сборка на этом уровне
ОбъектУровень
Типовой обменникОткрыто
Моя сборкаЗакрыто

Маршрут

Как проходит работа

Шесть станций от первого разговора до сопровождения. Безопасность закладывается на второй, а не вспоминается на пятой.

  1. Бриф

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

  2. Модель угроз и архитектура

    До первой строки кода описываю, кто и как может атаковать продукт, и строю архитектуру с учётом этого.

  3. Разработка

    Backend, frontend и интеграции. Операции с деньгами — идемпотентные, в транзакциях, с журналом.

  4. Аудит и тесты

    Проверяю свой код как атакующий: инъекции, гонки, обход прав. Тестовая среда повторяет боевую.

  5. Запуск

    Пошаговый деплой на защищённые серверы. Мониторинг и алерты работают с первого дня.

  6. Сопровождение

    Обновления, бэкапы с проверкой восстановления, реагирование на инциденты.

Рейсы

Ведомость проектов
Проекты: собственные продукты и работы под NDA — задача, решение и результат
Тип проектаЗадачаРешениеРезультатПодробнее
Собственные продукты — экосистема ERRA
Мессенджер E2EЗащищённый мессенджер, переписку в котором не может прочитать никто, кроме собеседников.Спроектировал и разработал: сквозное шифрование, вход по секретной фразе, звонки через WebRTC, установка как PWA.Открыть Мессенджер E2E
Криптокошелёк + шлюзМультивалютный криптокошелёк и приём криптоплатежей для сайтов — в одном продукте.Одна seed-фраза для Bitcoin, Ethereum, Tron, Monero и EVM-сетей; Merchant API с вебхуками; вход с 2FA.Открыть Криптокошелёк + шлюз
SaaS-автоматизацияВести соцсети без рутины: из нового ролика на YouTube или TikTok — готовые посты на более чем десяти площадках.Расширение Chrome работает через браузер пользователя и его вкладку Claude или Gemini — без API-ключей, ферм и прокси.Открыть SaaS-автоматизация
Проекты под NDA
Обменный пунктЗапуск обменника цифровых валют: заявки, курсы, резервы, работа операторов.Backend с очередью заявок, AML-проверкой адресов и админкой с ролями.Заполнить: результат будет добавлен
КриптобиржаЯдро торговли: матчинг, стакан, учёт балансов, ввод и вывод средств.Отдельный матчинг-движок, учёт балансов в транзакциях, лимиты на вывод.Заполнить: результат будет добавлен
Кастодиальный кошелёкХранение клиентских средств с разделением на горячую и холодную части.HD-кошельки, холодное хранение основной массы, мультисиг, подпись офлайн.Заполнить: результат будет добавлен
Мобильное приложениеКошелёк или обменник для клиентов на iOS и Android.Приложение с биометрическим входом и защищённым хранением ключей на устройстве.Заполнить: результат будет добавлен
Аудит и спасениеРазбор взломанного проекта: найти, как зашли, закрыть и восстановить работу.Аудит кода и серверов, закрытие точки входа, ротация ключей, hardening.Заполнить: результат будет добавлен
Инфраструктура нодСобственные ноды и RPC вместо сторонних провайдеров.Ноды в Docker на защищённых серверах, мониторинг синхронизации и алерты.Заполнить: результат будет добавлен

Проекты под NDA. Описания обезличены.

Открытый код

Packagist · MIT

Часть инструментов, на которых строю обменники и кошельки, выложена в открытый доступ под MIT. Их можно поставить за минуту и посмотреть, как я пишу код.

Open-source пакеты для Laravel: назначение, версия и число установок с Packagist
ПакетНазначениеВерсияУстановокПодробнее
Боты — интерфейс для клиентов и операторов прямо в Telegram.
Telegram-botИнтерактивные Telegram-боты на маршрутах Laravel и Blade-шаблонах1.3.3961
Криптовалюты — строительные блоки обменников и кошельков: HD-кошельки, депозиты с вебхуками, отправка, балансы.
TronTRX и TRC-20: HD-кошельки, приём депозитов, выплаты1.9.2557
EVMЛюбые EVM-сети: Ethereum, BSC, Polygon, Arbitrum, Base1.11.0405
EthereumETH и ERC-20: HD-кошельки, приём и вывод средств1.9.0433
BitcoinBTC: кошельки на своей ноде или лёгкий режим без ноды2.5.0538
LitecoinLTC: приём платежей и автоматические выплаты1.0.00
MoneroXMR: приём платежей и выплаты через Monero Wallet RPC1.1.1483

≈ 3 377 установок с Packagist · данные на 30 октября 2026 г. · все пакеты it-healer

Сводки

Бюллетень безопасности

Короткие разборы для владельцев обменников и финтеха: что происходит с безопасностью и что с этим делать — без кода атак и без паники.

Все сводки

Оборудование

Рабочий стек
Backend
  • PHP
  • Laravel
  • Node.js
  • Nest.js
  • Express
Frontend
  • Vue
  • Nuxt
  • TypeScript
Данные
  • PostgreSQL
  • MySQL
  • Redis
Mobile
  • Capacitor
  • React Native
  • Swift
  • Kotlin
  • PWA
Инфра
  • Linux
  • nginx
  • Docker
  • Ноды BTC/EVM

Контакт

Посадка открыта