fix: Opus review — all 5 critical bugs fixed
Deploy contracts-flask / validate (push) Successful in 0s

This commit is contained in:
2026-06-29 15:25:27 +04:00
parent 12416115ad
commit d8713561a4
3 changed files with 105 additions and 82 deletions
@@ -0,0 +1,21 @@
# Результаты ревью Опуса — DrHider v0.1
29.06.2026
## Критичные баги
| # | Баг | Серьёзность |
|---|-----|-------------|
| 1 | `inn_ul` (10 цифр) перед `inn_fl` (12) — 12-значный матчится как 10 | 🔴 |
| 2 | Префиксы (ИНН/ОГРН/КПП/БИК/р/с/к/с) теряются при замене | 🔴 |
| 3 | `passport` матчит любые 10-11 цифр (куски р/с, ОГРН, ИНН) | 🔴 |
| 4 | `.doc` не обрабатывается — текст пустой, файл уходит битым | 🔴 |
| 5 | PDF возвращается как `.pdf` но содержит UTF-8 текст → битый PDF | 🔴 |
| 6 | `_workdir` создаётся и удаляется, но не используется | 🟡 |
| 7 | `_apply_replacements` без границ слов — подстроки чисел могут зацепиться | 🟡 |
| 8 | CSV-тип для `inn_fl` ошибочно помечается как `inn_ul` | 🟡 |
| 9 | `.doc` в accept шаблона, но конвертация не реализована | 🟡 |
## Безопасность — ОК
`_mapping.clear()` в finally, нет логов с реальными данными, path traversal закрыт, лимиты 500/500MB есть, `esc()` в HTML.