Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
80 lines
5.4 KiB
Markdown
80 lines
5.4 KiB
Markdown
# logpile v1.34
|
||
|
||
Дата релиза: 2026-09-02
|
||
Тег: `v1.34`
|
||
|
||
Накопительный список изменений с версии v1.31 (включает v1.32 и v1.33).
|
||
|
||
## Сканирование данных заказчика (ADL-066)
|
||
|
||
Каждый загруженный датасет теперь проверяется пакетом `internal/privacy` на
|
||
сведения, раскрывающие заказчика и место установки: DNS-суффикс, домен AD,
|
||
имена NTP/DNS/syslog-хостов, часовой пояс, e-mail, публичные IP, CN/SAN в
|
||
TLS-сертификатах, поля площадки в FRU. Только детект — исходники не изменяются.
|
||
|
||
- **Догадка о заказчике**: находки сворачиваются в регистрируемый домен
|
||
(`eTLD+1`) с уровнем уверенности, числом совпадений и до трёх строк-улик.
|
||
- **Список находок**: категория, файл, строка, совпавший токен, подсказка по
|
||
зачистке. Каталог правил — порт grep-плейбука из KB.
|
||
- **Политика по IP**: приватные (RFC1918/ULA), loopback, link-local, multicast
|
||
и документационные диапазоны (RFC 5737/2544/6598), а также публичные
|
||
резолверы (`8.8.8.8`, `1.1.1.1`, …) в находки не попадают — только
|
||
маршрутизируемые адреса.
|
||
- **Allowlist**: справочные данные — имена RFC 2606/5737, NTP-пулы, домены
|
||
органов стандартизации и инфраструктуры BMC-стека/вендоров (в т.ч.
|
||
`inspur.com`, `ieisystem.com`, `kaytus.com`, `inservice-iq.com`), заводские
|
||
значения по умолчанию. Реальные домены заказчиков в репозитории отсутствуют.
|
||
- Работает на архивных загрузках и на сериализованном Redfish-дереве
|
||
(live-сбор / реплей). Отключается `LOGPILE_PRIVACY_SCAN=0`.
|
||
- Правила откалиброваны против батч-скана RMA-архива (~130k файлов): реальный
|
||
список TLD, отсев Go-стектрейсов / shell-имён / D-Bus-интерфейсов / systemd-
|
||
юнитов / firmware-версий вида dotted-quad / dmidecode Asset Tag / строк
|
||
лицензий (smartmontools.org, openib.org, apache.org, ...). Категория `domain`
|
||
понижена до low (medium при 3+ метках); идентификация заказчика опирается на
|
||
`resolv` / `nsupdate` / AD-конфиг.
|
||
|
||
Вывод:
|
||
- `GET /api/privacy-scan` — объект `PrivacyScan`.
|
||
- Панель «Customer data» вверху раздела данных, над отчётом chart: заголовок и
|
||
догадка о заказчике видны всегда, таблица находок свёрнута по умолчанию и
|
||
разворачивается по клику.
|
||
- В отчёте chart добавлена верхняя плашка (над Board/CPUs) со сводкой скана —
|
||
через штатный `viewer.RenderOptions.NoticeTitle/NoticeBody`, без правок
|
||
сабмодуля chart.
|
||
- `privacy_report.json` в ZIP raw-export (`GET /api/export/json`).
|
||
|
||
Подробности и полный каталог правил — `bible-local/docs/privacy-scan.md`.
|
||
|
||
## Парсер inspur_legacy (ADL-065)
|
||
|
||
Новый парсер для старого формата Inspur onekeylog (поколение
|
||
NF5466M5 / NF5280M5, AMI BMC): бинарный `FRU.bin`,
|
||
`Inspur_AssetInfoInventory.log`, `Inspur_<model>_<serial>_IDL`, `sel.log`,
|
||
`blackbox.log`, MegaRAID `raid0.log`, плоские `<severity>.log`. Раньше такие
|
||
архивы открывались пустыми, потому что в них нет `asset.json` /
|
||
`devicefrusdr.log` / `selelist.csv` / `component.log`, на которые опирается
|
||
парсер `inspur`.
|
||
|
||
В реестр парсеров добавлен опциональный тай-брейк `PrioritizedParser`
|
||
(`DetectPriority() int`): при равной уверенности более специфичный парсер
|
||
побеждает — так `inspur_legacy` выигрывает у `inspur` на общих архивах
|
||
`onekeylog/`.
|
||
|
||
## Reanimator chart
|
||
|
||
Предложен переиспользуемый механизм кастомных панелей для всех приложений,
|
||
встраивающих `reanimator/chart`: версионированный контракт
|
||
`{version, panels[]}` с размещением относительно штатных секций
|
||
(`before:cpus` и т.п.) и ограниченным словарём блоков. Черновик ТЗ —
|
||
`bible-local/docs/chart-custom-panels-spec.md`.
|
||
|
||
## Документация
|
||
|
||
- `bible-local`: ADL-065, ADL-066; новые `docs/privacy-scan.md` и
|
||
`docs/chart-custom-panels-spec.md`.
|
||
|
||
## Запуск на macOS
|
||
|
||
Снимите карантинный атрибут через терминал: `xattr -d com.apple.quarantine /path/to/logpile-darwin-arm64`
|
||
После этого бинарник запустится без предупреждения Gatekeeper.
|