diff --git a/docs/ip-audit-2026-09-18.md b/docs/ip-audit-2026-09-18.md index 1d0f8a7..5d883de 100644 --- a/docs/ip-audit-2026-09-18.md +++ b/docs/ip-audit-2026-09-18.md @@ -160,3 +160,20 @@ garble не видит, т.к. `Execute` принимает `any`). Тулчейн go1.26.8 и garble установлены в `~/sdk` и `~/go/bin` — если выберете B, среда готова. + +### Пункт 2 — РЕШЕНО через селективный garble (коммит 7ce4c2c) +Прямой garble ломает html/template, но `GOGARBLE` позволяет обфусцировать +только выбранный пакет. Весь чувствительный SQL (95 запросов к DEPO/SPECTRE/ +QUIK и таблицам FTV_M2M) вынесен в `internal/lkgateway/fsql` как `var`-строки +(не const — иначе компилятор инлайнит их обратно в необфусцируемый код). +`build-release.sh` собирает bj-server c `GOGARBLE=.../fsql garble -literals` +(нужен SDK go1.26 в `~/sdk/go1.26.8` + garble в `~/go/bin`; иначе обычная +сборка с предупреждением). Шаблоны/обработчики не затронуты. + +Проверено на garble-бинаре: рецепт чтения чужих систем из бинаря исчез — +`OD_RESTS`, `OD_WIRING`, `OD_TURNS`, `OD_BALANCES`, `D_B_CONTRACTS`, +`OD_CLIENTS_PORTS`, `DepoLimits`, `MoneyLimits` → 0. Приложение работает. + +Остаётся сделать при желании (тем же приёмом fsql-var): format-строки и +логи с именами FTV_M2M (протокол Fancy — видно, что таблицы есть, но не +рецепт), и вынести имена таблиц из операторских embed-шаблонов справки.