← Все комнаты Путь «Первые шаги» →Путь «Защита (код)» →
НовичокЗащита (код) Код Осенний CTF

Скрыть почту

Прогресс комнаты 0 / 4
Задание 1Введение

Цель: Удалять персональные данные из текста.

Напишите redact_emails(text): каждый адрес вида [email protected] замените на первую букву local-части, * и домен: [email protected] → i*@mail.ru. Local — символы A-Za-z0-9._%+-, домен — A-Za-z0-9.- и зона из 2+ букв.

Задание 2Теория и инструменты

Логи и выгрузки часто содержат e-mail. По закону о персональных данных их нужно минимизировать.

Частичное маскирование оставляет возможность отладки, не раскрывая адрес целиком.

Инструменты

  • Python 3 или Node.js
  • Встроенные тесты в редакторе

Больше теории — в разделе «Обучение: Защита (код)».

Задание 3Практика: напишите код

Примеры

Пример 1
redact_emails("write to [email protected]")
→ "write to i***@mail.ru"
Пример 2
redact_emails("[email protected] and [email protected]")
→ "a***@b.co and b***@corp.example.com"

Ещё 3 скрытых тестов.

solution
Ctrl+Enter — отправить Войдите, чтобы отправить

Пошаговый план — открывайте по одному шагу

  1. 1
    Напишите регулярное выражение с группой для первой буквы и домена.

Подсказки — каждая до решения стоит −10 очков

Задание 4Как защититься

Маскируйте ПДн до записи в лог и ограничьте доступ к сырым данным.

Разборы участников

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