TaxPinTaxPin

ПРОВЕРКА БЕЗОПАСНОСТИ

Создано безопасным — и проверено глазами атакующего

Безопасность TaxPin не заканчивается словами «мы это сделали». Мы снова и снова пытались взломать систему с позиции атакующего и прошли независимую проверку у внешней компании.

Изоляция арендаторовПовышение привилегийОбход MFAПерехват приглашенийЗлоупотребление регистрациейXSS · секретыПоверхность атаки

Два уровня проверки

Мы сочетаем внутренние проверки, в которых атакуем сами себя, с независимой внешней оценкой.

🧪

Внутренняя состязательная проверка

Независимые команды в несколько раундов исследовали код на реальных сценариях атак и закрывали найденное структурно — на уровне базы данных и сервера.

🛰️

Внешняя проверка — AEGISonar

Независимая внешняя оценка нашей поверхности атаки и веб-уязвимостей с помощью AEGISonar от WebEASM.

Внутренняя состязательная проверка — как мы это делали

Не «мы аккуратно писали код» — мы действительно пытались проникнуть внутрь. Независимые команды с разными методиками параллельно проверяли код в несколько раундов, и каждая находка подтверждалась только после независимых попыток опровергнуть её достижимость.

Наш метод

Команды с разных сторонRLS и авторизация (изоляция арендаторов), серверная логика (STRIDE), клиент и веб (OWASP), регрессия данных и хранилища — четыре направления проверяли одновременно с разных точек зрения.
Повторные раундыНе один раз, а несколько раундов: проверка → исправление → повторная проверка. Каждая новая функция (самостоятельная регистрация, биллинг, бесплатный пробный период) запускала новый проход.
Состязательная верификацияКаждую находку независимо оспаривали несколько проверяющих, поэтому подтверждались только реально достижимые проблемы, а преувеличенные отсеивались.
Структурные исправленияНикаких временных заплаток — находки закрывались на структурных уровнях: защита на уровне строк (RLS), триггеры и серверные проверки, с отслеживаемой историей проверок и исправлений.

Сценарии атак, которые мы проверили

Мы действительно пробовали следующие атаки и убедились, что они блокируются на уровне базы данных и серверного кода.

✓Обход изоляции арендаторов

Попытки прочитать или изменить клиентов, документы или запросы другой фирмы. Не только чтение — запись (INSERT/UPDATE) тоже привязана к связи фирма↔клиент и блокируется.

✓Вертикальное повышение привилегий

Попытки подняться от сотрудника→владельца или от клиента→сотрудника фирмы. Определение ролей и принятие приглашений принудительно проверяются на сервере и в базе данных.

✓Перехват ссылки-приглашения

Попытки принять приглашение с несовпадающим адресом email. Email для входа должен совпадать с email, на который отправлено приглашение.

✓Обход MFA

Попытки получить доступ к данным только по паролю. Если второй фактор подключён, база данных требует сессию aal2 (двухфакторную).

✓Злоупотребление ретрансляцией уведомлений/email и внедрение фишинга

Попытки внедрить поддельные ссылки для входа через каналы уведомлений. Отправитель и домены ссылок жёстко заданы доверенными значениями.

✓Злоупотребление процессом регистрации

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

✓Утечка секретов, XSS, открытые перенаправления

Проверяли, не утекают ли серверные секреты в браузер, не выполняется ли пользовательский ввод как скрипт и нельзя ли злоупотребить перенаправлениями.

✓Подделка входящих SMS-вебхуков

Попытки подделать входящие вебхуки, чтобы изменить согласие на SMS. Блокируется обязательной проверкой подписи.

Подтверждённые реальные проблемы были закрыты на уровне политик базы данных и серверного кода — в основном ещё до подключения реальных клиентов.

Честные рамки

Безопасность — это непрерывный процесс, который никогда не бывает «завершён». Наши внутренние проверки основаны на статическом анализе и сценариях и дополнены внешней оценкой AEGISonar. По мере роста числа клиентов мы продолжаем расширять тестирование. Вместо того чтобы заявлять о совершенстве, мы открыто рассказываем, что и как проверили.

Внешняя проверка — WebEASM AEGISonar

Одна лишь внутренняя проверка может оставить слепые зоны, поэтому мы прошли независимую внешнюю оценку. AEGISonar от WebEASM независимо изучил нашу внешнюю поверхность атаки и веб-уязвимости.

5

Результат внешнего аудита · Общая оценка 5 (Safe)

0 находок Critical/High/Medium, SSL/TLS в порядке, 0 угроз во внешних ссылках — смотреть полные результаты

→