Files
drhider/History/code-fixes/2026-08-20-csv-out-of-zip.md
T

1.9 KiB
Raw Blame History

2026-08-20 — КРИТИЧНО: mapping.csv (ключ расшифровки) убран из выходного ZIP (v0.0.56)

Проблема (утечка секретных данных)

Выходной ZIP содержал mapping.csv — таблицу соответствия «оригинал → замена», т.е. ключ расшифровки (реальные ФИО/телефоны/ИНН ↔ токены). Если ZIP передать третьему лицу — тот получал и обфусцированные файлы, и таблицу расшифровки. CSV должен храниться/скачиваться ОТДЕЛЬНО от обфусцированных файлов.

Фикс (drhider/builder.py build_zip)

  • Убрана запись mapping.csv в архив. Теперь в ZIP — ТОЛЬКО обфусцированные файлы.
  • Параметр mapping_csv сохранён в сигнатуре (для совместимости вызовов), но в архив не пишется.
  • CSV продолжает генерироваться (build_mapping_csv) и отдаваться отдельно через /api/csv/<sid> (кнопка «Скачать CSV»), как написано на странице.

Тесты (tests/test_builder.py)

  • Блок «ZIP с mapping.csv» переписан: теперь проверяет, что mapping.csv НЕ в архиве.
  • Интеграционный блок: ZIP содержит только doc.md, CSV проверяется отдельной строкой.
  • Все 106 тестов OK.

Проверка

  • python3 tests/test_builder.py — 20/20 OK (включая новый сценарий «mapping не в zip»).
  • Остальные тесты — без изменений поведения, OK.
  • VERSION 0.0.56.