Источник: локальный todo/wealthledger-engineering-improvements.md, пункт 08.root, анализ от 13.09.2026. Исходные критерии приведены ниже, чтобы issue не зависела от наличия локального TODO.
Что осталось сделать
08.root. Получить проверенный security/dependency baseline и включить регулярные проверки. Размер: M. Владелец: root / общие условия проверки; применение в repos перечислено ниже.
Проверить историю и текущие изменения secret scanner с редактированием найденных
значений в выводе. Получить свежий dependency audit, разделяя runtime и dev risks;
сопоставить advisories с достижимостью и прежними решениями WL-P2-12.
Настроить CI на новые секреты и согласованные риски зависимостей. Исключения
должны иметь причину и условие пересмотра, а не безусловный continue-on-error. Готово, когда: baseline относится к точным revisions; реальные секреты не
попадают в отчёт; безопасный synthetic marker проверяет отказ guardrail;
новые значимые findings требуют исправления или явного решения. Найденные
действующие credentials требуют отдельного отзыва/ротации владельцем. Приоритет: до публикации кода или предоставления production-доступов — P0. Основание: A, с. 7–8; B, с. 1–2, 7, 29.
Gitea API возвращает private=false для всех пяти репозиториев. Условие повышения security baseline до P0 по исходному плану применимо; доступность кода без авторизации отдельно не проверена. Не публиковать найденные значения секретов.
Основание текущего статуса
В Gitea workspace представлен репозиторием WealthLedger/main. Локально есть .git, но root AGENTS утверждает обратное; root README отсутствует. Это конфликт описания topology, который нужно явно разрешить при 02. Вложенные frontend/backend/docs/specs остаются независимыми репозиториями.
Проверка 13.09.2026: статическая сверка текущих файлов и remediation registry; через MCP проверены репозитории, issues, ветки и Actions workflows. Все пять main-веток имеют protected=false, список workflows пуст, существующих issues не найдено. Внешние CI, server-side updater, история секретов и свежий npm audit этой сверкой не проверялись; полные application gates повторно не запускались.
Remediation registry остаётся владельцем статусов audit findings. Создание issue не означает выполнение или изменение статуса finding. Закрыть после проверки критериев и ссылки на фактические результаты.
<!-- wealthledger-engineering-improvements:main:08.root -->
Источник: локальный `todo/wealthledger-engineering-improvements.md`, пункт 08.root, анализ от 13.09.2026. Исходные критерии приведены ниже, чтобы issue не зависела от наличия локального TODO.
## Что осталось сделать
**08.root. Получить проверенный security/dependency baseline и включить регулярные проверки.** Размер: M. Владелец: root / общие условия проверки; применение в repos перечислено ниже.
Проверить историю и текущие изменения secret scanner с редактированием найденных
значений в выводе. Получить свежий dependency audit, разделяя runtime и dev risks;
сопоставить advisories с достижимостью и прежними решениями `WL-P2-12`.
Настроить CI на новые секреты и согласованные риски зависимостей. Исключения
должны иметь причину и условие пересмотра, а не безусловный `continue-on-error`.
**Готово, когда:** baseline относится к точным revisions; реальные секреты не
попадают в отчёт; безопасный synthetic marker проверяет отказ guardrail;
новые значимые findings требуют исправления или явного решения. Найденные
действующие credentials требуют отдельного отзыва/ротации владельцем.
**Приоритет:** до публикации кода или предоставления production-доступов — P0.
**Основание:** A, с. 7–8; B, с. 1–2, 7, 29.
Gitea API возвращает private=false для всех пяти репозиториев. Условие повышения security baseline до P0 по исходному плану применимо; доступность кода без авторизации отдельно не проверена. Не публиковать найденные значения секретов.
## Основание текущего статуса
В Gitea workspace представлен репозиторием `WealthLedger/main`. Локально есть `.git`, но root AGENTS утверждает обратное; root README отсутствует. Это конфликт описания topology, который нужно явно разрешить при 02. Вложенные frontend/backend/docs/specs остаются независимыми репозиториями.
Проверка 13.09.2026: статическая сверка текущих файлов и remediation registry; через MCP проверены репозитории, issues, ветки и Actions workflows. Все пять main-веток имеют protected=false, список workflows пуст, существующих issues не найдено. Внешние CI, server-side updater, история секретов и свежий npm audit этой сверкой не проверялись; полные application gates повторно не запускались.
Проверяемая revision main: `ee2adc9fda6ce319422e5fe89143b9a1584d690f`.
[Remediation registry](https://git.personal.ksv741.ru/WealthLedger/docs/src/commit/7bc8792b9853768734066c31a323b70886d73a23/development/audit-remediation.md) остаётся владельцем статусов audit findings. Создание issue не означает выполнение или изменение статуса finding. Закрыть после проверки критериев и ссылки на фактические результаты.
## Связанные issues
- [backend: [P0] 08.backend. Проверить backend secrets и dependency risks](https://git.personal.ksv741.ru/WealthLedger/backend/issues/5)
- [frontend: [P0] 08.frontend. Проверить frontend secrets и dependency risks](https://git.personal.ksv741.ru/WealthLedger/frontend/issues/4)
- [specs: [P0] 08.specs. Проверить историю и новые изменения на секреты](https://git.personal.ksv741.ru/WealthLedger/specs/issues/5)
- [docs: [P0] 08.docs. Проверить историю, изменения и tooling dependencies](https://git.personal.ksv741.ru/WealthLedger/docs/issues/5)
Verified; closing. Baseline taken on 2026-11-03 at the revisions below. Secret values are redacted (--redact=100) and not reproduced here.
Secrets (git history, all branches)
gitleaks git --log-opts=--all --redact=100 --no-banner, run locally and in CI:
Repo
Commits
Result
main
29
no leaks found
backend
174 (HEAD aeb4647)
no leaks found
frontend
216 (HEAD 8ce1e8e)
no leaks found
specs
148
no leaks found
docs
154
no leaks found
Exclusions: one reviewed fingerprint in main .gitleaksignore (repeating 0123456789abcdef in a local-dev example, never a runtime secret); backend has 12 documented historical fingerprints (see backend#5). The local .env of main is git-ignored (/*) and never appeared in history.
Dependencies (npm audit, runtime and dev separately)
Repo
Runtime (--omit=dev)
Dev (--include=dev)
CI threshold
backend aeb4647
0 vulnerabilities
41 (4 low, 37 moderate), no high/critical
runtime low, dev high
frontend 8ce1e8e
0 vulnerabilities
4 low
--include=dev --audit-level=moderate
CI guardrails
backend and frontend security jobs run Gitleaks 8.30.1 (sha256-checked, whole history) and npm audit on push, PR and daily schedule. The only audit exception, --ignore-advisory=GHSA-hp3w-g68c-fv3c in backend (added by 85858a1 without a recorded reason), was stale and is removed: backend#158 / PR #159 (develop 1a5de9b), CI security green.
Child Issues backend#5, frontend#4, specs#5 and docs#5 were already closed earlier with their own evidence.
Not done / for the owner
Repository visibility: Gitea private=false for all five repositories (per this Issue); not verified whether the code is reachable without authorization, and not changed.
Branch protection: protected=false on the five main branches as of 2026-09-13; not rechecked or changed.
Rotation of any live credentials stays a separate owner task; no secrets were found in history, so nothing to rotate from this scan.
The synthetic-marker guardrail check exists in frontend (scripts/test-pre-commit.mjs); I did not re-run it. Remaining moderate/low dev advisories are left to regular updates (main#6).
Verified; closing. Baseline taken on 2026-11-03 at the revisions below. Secret values are redacted (`--redact=100`) and not reproduced here.
## Secrets (git history, all branches)
`gitleaks git --log-opts=--all --redact=100 --no-banner`, run locally and in CI:
| Repo | Commits | Result |
|---|---|---|
| main | 29 | no leaks found |
| backend | 174 (HEAD `aeb4647`) | no leaks found |
| frontend | 216 (HEAD `8ce1e8e`) | no leaks found |
| specs | 148 | no leaks found |
| docs | 154 | no leaks found |
Exclusions: one reviewed fingerprint in main `.gitleaksignore` (repeating `0123456789abcdef` in a local-dev example, never a runtime secret); backend has 12 documented historical fingerprints (see backend#5). The local `.env` of main is git-ignored (`/*`) and never appeared in history.
## Dependencies (`npm audit`, runtime and dev separately)
| Repo | Runtime (`--omit=dev`) | Dev (`--include=dev`) | CI threshold |
|---|---|---|---|
| backend `aeb4647` | 0 vulnerabilities | 41 (4 low, 37 moderate), no high/critical | runtime `low`, dev `high` |
| frontend `8ce1e8e` | 0 vulnerabilities | 4 low | `--include=dev --audit-level=moderate` |
## CI guardrails
backend and frontend `security` jobs run Gitleaks 8.30.1 (sha256-checked, whole history) and `npm audit` on push, PR and daily schedule. The only audit exception, `--ignore-advisory=GHSA-hp3w-g68c-fv3c` in backend (added by `85858a1` without a recorded reason), was stale and is removed: backend#158 / PR #159 (develop `1a5de9b`), CI `security` green.
Child Issues backend#5, frontend#4, specs#5 and docs#5 were already closed earlier with their own evidence.
## Not done / for the owner
- Repository visibility: Gitea `private=false` for all five repositories (per this Issue); not verified whether the code is reachable without authorization, and not changed.
- Branch protection: `protected=false` on the five main branches as of 2026-09-13; not rechecked or changed.
- Rotation of any live credentials stays a separate owner task; no secrets were found in history, so nothing to rotate from this scan.
- The synthetic-marker guardrail check exists in frontend (`scripts/test-pre-commit.mjs`); I did not re-run it. Remaining moderate/low dev advisories are left to regular updates (main#6).
Blocking a user prevents them from interacting with repositories, such as opening or commenting on pull requests or issues. Learn more about blocking a user.
Источник: локальный
todo/wealthledger-engineering-improvements.md, пункт 08.root, анализ от 13.09.2026. Исходные критерии приведены ниже, чтобы issue не зависела от наличия локального TODO.Что осталось сделать
08.root. Получить проверенный security/dependency baseline и включить регулярные проверки. Размер: M. Владелец: root / общие условия проверки; применение в repos перечислено ниже.
Проверить историю и текущие изменения secret scanner с редактированием найденных
значений в выводе. Получить свежий dependency audit, разделяя runtime и dev risks;
сопоставить advisories с достижимостью и прежними решениями
WL-P2-12.Настроить CI на новые секреты и согласованные риски зависимостей. Исключения
должны иметь причину и условие пересмотра, а не безусловный
continue-on-error.Готово, когда: baseline относится к точным revisions; реальные секреты не
попадают в отчёт; безопасный synthetic marker проверяет отказ guardrail;
новые значимые findings требуют исправления или явного решения. Найденные
действующие credentials требуют отдельного отзыва/ротации владельцем.
Приоритет: до публикации кода или предоставления production-доступов — P0.
Основание: A, с. 7–8; B, с. 1–2, 7, 29.
Gitea API возвращает private=false для всех пяти репозиториев. Условие повышения security baseline до P0 по исходному плану применимо; доступность кода без авторизации отдельно не проверена. Не публиковать найденные значения секретов.
Основание текущего статуса
В Gitea workspace представлен репозиторием
WealthLedger/main. Локально есть.git, но root AGENTS утверждает обратное; root README отсутствует. Это конфликт описания topology, который нужно явно разрешить при 02. Вложенные frontend/backend/docs/specs остаются независимыми репозиториями.Проверка 13.09.2026: статическая сверка текущих файлов и remediation registry; через MCP проверены репозитории, issues, ветки и Actions workflows. Все пять main-веток имеют protected=false, список workflows пуст, существующих issues не найдено. Внешние CI, server-side updater, история секретов и свежий npm audit этой сверкой не проверялись; полные application gates повторно не запускались.
Проверяемая revision main:
ee2adc9fda6ce319422e5fe89143b9a1584d690f.Remediation registry остаётся владельцем статусов audit findings. Создание issue не означает выполнение или изменение статуса finding. Закрыть после проверки критериев и ссылки на фактические результаты.
Связанные issues
codex-bot referenced this issue2026-09-13 15:34:22 +03:00
codex-bot referenced this issue from WealthLedger/backend2026-09-13 15:34:23 +03:00
codex-bot referenced this issue from WealthLedger/frontend2026-09-13 15:34:23 +03:00
codex-bot referenced this issue from WealthLedger/specs2026-09-13 15:34:24 +03:00
codex-bot referenced this issue from WealthLedger/docs2026-09-13 15:34:24 +03:00
Verified; closing. Baseline taken on 2026-11-03 at the revisions below. Secret values are redacted (
--redact=100) and not reproduced here.Secrets (git history, all branches)
gitleaks git --log-opts=--all --redact=100 --no-banner, run locally and in CI:aeb4647)8ce1e8e).gitleaksignore(repeating0123456789abcdefin a local-dev example, never a runtime secret); backend has 12 documented historical fingerprints (see backend#5). The local.envof main is git-ignored (/*) and never appeared in history.Dependencies (
npm audit, runtime and dev separately)--omit=dev)--include=dev)aeb4647low, devhigh8ce1e8e--include=dev --audit-level=moderateCI guardrails
backend and frontend
securityjobs run Gitleaks 8.30.1 (sha256-checked, whole history) andnpm auditon push, PR and daily schedule. The only audit exception,--ignore-advisory=GHSA-hp3w-g68c-fv3cin backend (added by85858a1without a recorded reason), was stale and is removed: backend#158 / PR #159 (develop1a5de9b), CIsecuritygreen.Child Issues backend#5, frontend#4, specs#5 and docs#5 were already closed earlier with their own evidence.
Not done / for the owner
private=falsefor all five repositories (per this Issue); not verified whether the code is reachable without authorization, and not changed.protected=falseon the five main branches as of 2026-09-13; not rechecked or changed.scripts/test-pre-commit.mjs); I did not re-run it. Remaining moderate/low dev advisories are left to regular updates (main#6).