Два уровня проверки
Мы сочетаем внутренние проверки, в которых атакуем сами себя, с независимой внешней оценкой.
Внутренняя состязательная проверка
Независимые команды в несколько раундов исследовали код на реальных сценариях атак и закрывали найденное структурно — на уровне базы данных и сервера.
Внешняя проверка — AEGISonar
Независимая внешняя оценка нашей поверхности атаки и веб-уязвимостей с помощью AEGISonar от WebEASM.
Внутренняя состязательная проверка — как мы это делали
Не «мы аккуратно писали код» — мы действительно пытались проникнуть внутрь. Независимые команды с разными методиками параллельно проверяли код в несколько раундов, и каждая находка подтверждалась только после независимых попыток опровергнуть её достижимость.
Наш метод
Сценарии атак, которые мы проверили
Мы действительно пробовали следующие атаки и убедились, что они блокируются на уровне базы данных и серверного кода.
✓Обход изоляции арендаторов
Попытки прочитать или изменить клиентов, документы или запросы другой фирмы. Не только чтение — запись (INSERT/UPDATE) тоже привязана к связи фирма↔клиент и блокируется.
✓Вертикальное повышение привилегий
Попытки подняться от сотрудника→владельца или от клиента→сотрудника фирмы. Определение ролей и принятие приглашений принудительно проверяются на сервере и в базе данных.
✓Перехват ссылки-приглашения
Попытки принять приглашение с несовпадающим адресом email. Email для входа должен совпадать с email, на который отправлено приглашение.
✓Обход MFA
Попытки получить доступ к данным только по паролю. Если второй фактор подключён, база данных требует сессию aal2 (двухфакторную).
✓Злоупотребление ретрансляцией уведомлений/email и внедрение фишинга
Попытки внедрить поддельные ссылки для входа через каналы уведомлений. Отправитель и домены ссылок жёстко заданы доверенными значениями.
✓Злоупотребление процессом регистрации
Анонимные массовые вызовы API регистрации, чтобы вывести сервис из строя или занять адреса фирм. Блокируется маршрутизацией через сервер, ограничением частоты запросов и привязкой к платёжной сессии.
✓Утечка секретов, XSS, открытые перенаправления
Проверяли, не утекают ли серверные секреты в браузер, не выполняется ли пользовательский ввод как скрипт и нельзя ли злоупотребить перенаправлениями.
✓Подделка входящих SMS-вебхуков
Попытки подделать входящие вебхуки, чтобы изменить согласие на SMS. Блокируется обязательной проверкой подписи.
Подтверждённые реальные проблемы были закрыты на уровне политик базы данных и серверного кода — в основном ещё до подключения реальных клиентов.
Честные рамки
Безопасность — это непрерывный процесс, который никогда не бывает «завершён». Наши внутренние проверки основаны на статическом анализе и сценариях и дополнены внешней оценкой AEGISonar. По мере роста числа клиентов мы продолжаем расширять тестирование. Вместо того чтобы заявлять о совершенстве, мы открыто рассказываем, что и как проверили.