Files
logpile/releases/v1.35/RELEASE_NOTES.md
T

58 lines
4.1 KiB
Markdown

# logpile v1.35
Дата релиза: 2026-09-03
Тег: `v1.35`
Накопительный список изменений с версии v1.34.
## Обезличивание логов на месте (ADL-067)
Кнопка **«Обезличить и скачать копию»** в панели Customer data и режим
`logpile -sanitize <file> [-sanitize-out <file>]`. Строит де-идентифицированную
копию загруженного файла: замены той же длины, формат не меняется.
- Замены сохраняют длину байт-в-байт: `sigma.sbrf.ru``xxxxx.xxxx.xx`
(точки на местах), e-mail → `xxxxx@xxxx.xxxx.xx`, публичный IP
`93.184.216.34``00.000.000.00` (`net.ParseIP` → nil, не перематчится),
`TimeZone=Europe/Moscow``TimeZone=Etc/Universal` — валидная нейтральная
IANA-зона той же длины из таблицы `len → zone`, `SELTimeUTCOffset=180`
`000`. Таймстемпы событий не пересчитываются.
- Архивы (`.tar` / `.sds` / `.gz` / `.tgz` / `.zip`) разбираются рекурсивно
без потерь: имена записей, права и все встроенные даты (tar mtime/atime/
ctime, gzip Name/ModTime, zip Modified) сохраняются; нетронутые zip-записи
копируются сырыми; длина содержимого не меняется → tar-заголовки и
контрольные суммы байт-идентичны, пересобирается только слой сжатия.
Если чистить нечего — выход байт-в-байт равен входу.
- Не редактируется (в отчёте, чистить вручную): бинарные члены (`FRU.bin`,
`localtime`, `redis-dump.rdb`, SOL-логи), битые вложенные архивы, HPE `.ahs`.
- Приватные IP, `pool.ntp.org` и остальной allowlist не трогаются;
вендорские шаблоны (`*_tianyiyun`, `*.conf_bak`, `raw_export.json`, …)
пропускаются целиком.
- Проверено: повторный разбор обезличенного Dell TSR / xFusion / Inspur
onekeylog / H3C `.sds` даёт идентичный инвентарь; повторный скан — чисто.
Точки входа: `POST /api/sanitize` + `GET /api/sanitize/download`. Детали —
`bible-local/docs/log-sanitization.md`.
## Детектор уже обезличенного файла
`privacy.Scan` сообщает `PrivacyScan.Sanitized {detected, markers, strong,
files, evidence}`. Распознаёт *форму* заглушки (слот значения, заполненный
одним повторяющимся символом и разделителями), а не буквальный `x`, поэтому
смена символа-заглушки в будущем не сломает детект. `detected` требует
подтверждения (`strong ≥ 2`, либо `strong ≥ 1 && markers ≥ 3`, либо
`markers ≥ 4`) — одно вхождение выдаётся в отчёте, но не считается за
«уже обезличено». UI прячет кнопку обезличивания и показывает пометку.
## Калибровка privacy-скана
Починены ложные срабатывания, найденные на корпусе RMA и nvidia-bug-report:
syslog-селекторы (`local7.info`), firmware-квады `MEVersion`, `*.conf_bak`
вендорские шаблоны, домены bundled-вьюеров (github.com, typoland.com,
schemas.dell.com и т.п.).
## Запуск на macOS
Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64`
После этого бинарник запустится без предупреждения Gatekeeper.