v0.0.56: КРИТИЧНО — mapping.csv (ключ расшифровки) убран из выходного ZIP, CSV только отдельно
Deploy drhider / validate (push) Canceled after 0s

This commit is contained in:
“Naeel”
2026-08-20 09:38:28 +03:00
parent dfa325a5c5
commit 670f533f48
4 changed files with 36 additions and 20 deletions
+24
View File
@@ -0,0 +1,24 @@
# 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.