WEB-529 · Задача · — · web
SEC-012 [closed hypothesis] Explicit local credential export contract
Закрыт
P3
ведёт: —
эпик: WEB-515
Суть
BLOCK5 SEC-012
UTC 2026-09-05T05:01:52.138331+00:00
BASE6930c6832744e273ccad495caba9b31329761650 /Users/poolpooly/audit/nc l106-line.
Export Local intentionally exports browser-local credentials: credentials.ts100-102; AdminPanel.tsx275-278,506-514. Synthetic characterization2pass. Accidental disclosure hypothesis not confirmed; CVSS N/A. Masked export is a future policy proposal. ROUTING: HOLD; contract review only.
Report /Users/poolpooly/audit/reports/2026-09-05-secrets-block5.md
Evidence /Users/poolpooly/audit/evidence/block5/secrets/
KNOWN ISSUES / ТРАБЛШУТИНГ: isolated benign fixtures; no prod/live/SSH/payloads/real credentials/build/install. Exact commands/exits and scope limitations in report.
ДЛЯ ТИКЕТА: review completed; source fix/deployment none; report+evidence written; independent review per routing remains.
## ДЛЯ НУЛЕВОГО АГЕНТА (обновлено 2026-09-05 UTC)
- **Суть одной строкой:** SEC-012 [closed hypothesis] Explicit local credential export contract
- **Текущее состояние:** статус: done; BASE6930c6832744e273ccad495caba9b31329761650 /Users/poolpooly/audit/nc l106-line. | Report /Users/poolpooly/audit/reports/2026-09-05-secrets-block5.md | KNOWN ISSUES / ТРАБЛШУТИНГ: isolated benign fixtures; no prod/live/SSH/payloads/real credentials/build/install. Exact commands/exits and scope limitations in report. | ДЛЯ ТИКЕТА: review completed; source fix/deployment none; report+evidence written; independent review per routing remains. | SEC-012 / WEB-529, parentWEB515. BASE6930c6832744e273ccad495caba9b31329761650; /Users/poolpooly/audit/nc l106-line. | KNOWN ISSUES / ТРАБЛШУТИНГ: parentselected8invocations35tests32pass3expectedfail(twoactualbehaviorred+onedependencypolicyred), notgreenproductfix. Initial ancestorworkspaceaudit0 rejected; --ignore-workspace fixes scope. Initial localharnessdependency/extractionissues fixed, exact commands/exits/… | ДЛЯ ТИКЕТА: review packetpublished; landedreport/evidence/specdelta only; nofixcommit/deploy; independentreview/implementation remainsperrouting. Outbox2000URGENT,2001/2002HOLD; old1940–43renamed1950–53HOLD perCONT5. SIPdispatchnone. Archive /Users/poolpooly/audit/outbox/2000-2002-boundary-eviden… | SEC012/WEB529: GO2001 принят как independent contract review; accidental-disclosure гипотеза закрыта, CVSS3.1 N/A. Actual export/import/credential helpers:6/6 + supplied2/2 characterization; UI/clipboard source-only, localStorage shim. Parent перепроверил export100–103,handleExport275–279 иsaveTo…
- **Кто работал:**
- 2026-09-05T05:09:16.746Z — astra-security — BLOCK5-FINAL-SEC-012-child — 2026-09-05T05:09:16.706318+00:00 / IST 2026-09-05T10:39:16.706318+05:30 SEC-012 / WEB-529, parentWEB515. BASE6930c6832744e273ccad495caba9b31329761650; /Users/poolpooly/audit/nc l106-line. CLO
- 2026-09-05T18:45:31.470Z — astra-security — block11-local-export-closure — 2026-09-05T18:45:31.469995+00:00 / IST=2026-09-06T00:15:31.470122+05:30 SEC012/WEB529: GO2001 принят как independent contract review; accidental-disclosure гипотеза закрыта, CVSS3.1 N/A. Ac
- **Ветки/бандлы/отчёты:** нет данных в тикете
- **KNOWN ISSUES / ТРАБЛШУТИНГ:**
- KNOWN ISSUES / ТРАБЛШУТИНГ: isolated benign fixtures; no prod/live/SSH/payloads/real credentials/build/install. Exact commands/exits and scope limitations in report.
- ДЛЯ ТИКЕТА: review completed; source fix/deployment none; report+evidence written; independent review per routing remains.
- KNOWN ISSUES / ТРАБЛШУТИНГ: parentselected8invocations35tests32pass3expectedfail(twoactualbehaviorred+onedependencypolicyred), notgreenproductfix. Initial ancestorworkspaceaudit0 rejected; --ignore-workspace fixes scope. Initial localharnessdependency/extractionissues fixed, exact commands/exits/…
- ДЛЯ ТИКЕТА: review packetpublished; landedreport/evidence/specdelta only; nofixcommit/deploy; independentreview/implementation remainsperrouting. Outbox2000URGENT,2001/2002HOLD; old1940–43renamed1950–53HOLD perCONT5. SIPdispatchnone. Archive /Users/poolpooly/audit/outbox/2000-2002-boundary-eviden…
- SEC012/WEB529: GO2001 принят как independent contract review; accidental-disclosure гипотеза закрыта, CVSS3.1 N/A. Actual export/import/credential helpers:6/6 + supplied2/2 characterization; UI/clipboard source-only, localStorage shim. Parent перепроверил export100–103,handleExport275–279 иsaveTo…
- Исправление качества audit evidence: старые154reads/33names/61files не покрывали заявленную область. Новый source-only census на полной базе6930:6979/6979 materialized source files,0missing; legacyfilter382reads/77names/190files, correctedtestfilter322/74/178. Числа независимо совпали с2001. Новы…
- KNOWN ISSUES / ТРАБЛШУТИНГ: report2001 SHAff86eb29236bf52ad17abc7e49deb01e16bdcbbc4ee8b51d1909c9b5fe1f4827. Remote69/69transfer verification report-owned; отдельные TAP/fixtures здесь не доставлены. Worker Node22.23.2 вместо22.21.1, CHARGE отсутствовал; parent не копирует credential-bearing CHARG…
- **Эволюция:**
- 2026-09-05 → BLOCK5-FINAL-SEC-012-child — 2026-09-05T05:09:16.706318+00:00 / IST 2026-09-05T10:39:16.706318+05:30 SEC-012 / WEB-529, parentWEB515. BASE6930c6832744e273ccad495caba9b31329761650; /Users/poolpooly/audit/nc l106-line. CLOSED accidental-leak hypothesis, CVSSN/A:
- 2026-09-05 → block11-local-export-closure — 2026-09-05T18:45:31.469995+00:00 / IST=2026-09-06T00:15:31.470122+05:30 SEC012/WEB529: GO2001 принят как independent contract review; accidental-disclosure гипотеза закрыта, CVSS3.1 N/A. Actual export/import/credential helpers:6/
- Report /Users/poolpooly/audit/reports/2026-09-05-secrets-block5.md
- **Следующий шаг:** нет данных в тикете
Связи
- связан → WEB-515 — ЭПИК: АУДИТ БЕЗОПАСНОСТИ проекта (Codex gpt-6-astra как security lead) — карта поверхности, threat model, ASVS L2, реестр находок, фиксы с adversarial-приёмкой на Claude
Лента
2026-09-05T05:09:16.746Z · astra-securityBLOCK5-FINAL-SEC-012-child — 2026-09-05T05:09:16.706318+00:00 / IST 2026-09-05T10:39:16.706318+05:30
SEC-012 / WEB-529, parentWEB515. BASE6930c6832744e273ccad495caba9b31329761650; /Users/poolpooly/audit/nc l106-line.
CLOSED accidental-leak hypothesis, CVSSN/A: Export Local explicit backup(contract AdminPanel.tsx506-514), не доказанная утечка через response/log. Actual canary characterization2pass. Не изобретался red против действующего контракта. Опциональный maskeddefault/explicitbackup/import contract-review2001HOLD; без молчаливой смены поведения.
Report /Users/poolpooly/audit/reports/2026-09-05-secrets-block5.md
Evidence /Users/poolpooly/audit/evidence/block5/secrets/ ; independentadjudication /Users/poolpooly/audit/evidence/block5/review-adjudication.md ; finalcommands /Users/poolpooly/audit/evidence/block5/parent-validation.json. Register /Users/poolpooly/Projects/nc-agent-ops/board/specs/SECURITY-FINDINGS-REGISTER.md updateddelta.
KNOWN ISSUES / ТРАБЛШУТИНГ: parentselected8invocations35tests32pass3expectedfail(twoactualbehaviorred+onedependencypolicyred), notgreenproductfix. Initial ancestorworkspaceaudit0 rejected; --ignore-workspace fixes scope. Initial localharnessdependency/extractionissues fixed, exact commands/exits/hash in evidence. Source/lockunchanged. No prod/live/SSH/build/install/payloads/realdata. Workerhasheshistorical; finalMANIFEST/parentvalidation governs snapshot.
ДЛЯ ТИКЕТА: review packetpublished; landedreport/evidence/specdelta only; nofixcommit/deploy; independentreview/implementation remainsperrouting. Outbox2000URGENT,2001/2002HOLD; old1940–43renamed1950–53HOLD perCONT5. SIPdispatchnone. Archive /Users/poolpooly/audit/outbox/2000-2002-boundary-evidence.tar.gz SHA256 f66fcd0e6fdc81c971aae053dd11a68101cc86a53b055dbf51bd6a97ddae9e78;69manifestfiles verified. Pickup not yet confirmed.
2026-09-05T18:45:31.470Z · astra-securityblock11-local-export-closure — 2026-09-05T18:45:31.469995+00:00 / IST=2026-09-06T00:15:31.470122+05:30
SEC012/WEB529: GO2001 принят как independent contract review; accidental-disclosure гипотеза закрыта, CVSS3.1 N/A. Actual export/import/credential helpers:6/6 + supplied2/2 characterization; UI/clipboard source-only, localStorage shim. Parent перепроверил export100–103,handleExport275–279 иsaveToServer221–273: explicit local backup и9-field settings allowlist. Продукт не создаёт masked export; future mask partition/import-no-overwrite не является нынешним нарушением. Нельзя автоматически менять backup на lossy config export. Три prospective gates: total typed field partition; masks не затирают stored values; обычный backup round-trip unchanged.
Исправление качества audit evidence: старые154reads/33names/61files не покрывали заявленную область. Новый source-only census на полной базе6930:6979/6979 materialized source files,0missing; legacyfilter382reads/77names/190files, correctedtestfilter322/74/178. Числа независимо совпали с2001. Новый collector hard-fails на missing/symlink, исправляет test/spec regex, никогда не читает env-файлы и не выводит значения. Старые архивы и v1 сохранены. Артефакты evidence/block11/collect-env-reference-inventory.py иenv-reference-inventory-v2.json; это исправление инвентаря, не новый product defect.
KNOWN ISSUES / ТРАБЛШУТИНГ: report2001 SHAff86eb29236bf52ad17abc7e49deb01e16bdcbbc4ee8b51d1909c9b5fe1f4827. Remote69/69transfer verification report-owned; отдельные TAP/fixtures здесь не доставлены. Worker Node22.23.2 вместо22.21.1, CHARGE отсутствовал; parent не копирует credential-bearing CHARGE в archives. Prospective merge-import proposal нельзя выдавать за byte-identical replace-import semantics; продуктовый контракт отдельно. No new fix brief for rejected hypothesis.
2026-09-06T10:09:56.137Z · astra-securitycont18-wave-2098-web-529 — 2026-09-06T10:09:56.136530+00:00 / IST=2026-09-06T15:39:56.136535+05:30
CONT18 fan-out: 2098 REVIEW, gpt-5.6-sol, priority NORMAL; задачи WEB-524, WEB-529.
BLOCK18 VERIFICATION PASS for board-done scopes on exact4c73. Parent source/test-presence review is complete; this job supplies focused actual behavior evidence and residuals. It is REVIEW only, not new implementation.
WEB-524 classification=POLICY_ONLY; mapped=none: closed hypothesis. Source: docs/PASSPORT/ROUTE-PASSPORT.json:51, src/app/api/admin/document-session/gatec-shadow-telemetry/route.ts:24, src/app/api/admin/wallet-grant/core.ts:180, src/app/api/admin/invite-codes/route.ts:33. Tests: src/app/api/admin/document-session/gatec-shadow-telemetry/__tests__/route.test.ts:13, src/app/api/admin/wallet-grant/__tests__/route.test.ts:118. Residual: Explicit telemetry session-only exception and admin mutation gates; no invented patch/full admin dynamic proof.
WEB-529 classification=POLICY_ONLY; mapped=none: explicit local-export disposition. Source: src/lib/admin/credentials.ts:100, src/components/admin/AdminPanel.tsx:275, src/components/admin/AdminPanel.tsx:506. Tests: /Users/poolpooly/audit/evidence/block5/secrets/secrets-hygiene-boundary.test.mjs:61. Residual: Explicit Export Local intentionally emits stored JSON; masked export remains proposal, no real credentials inspected.
Select the smallest actual existing tests covering the cited correction and ordinary refusal/success boundary. Do not run broad suites merely to increase counts, do not weaken failing assertions, and do not substitute standalone copied models. Policy-only WEB524/529/535 remains an explicit disposition, not a fictitious patch: validate the stated accepted contract and label stricter future policy separately. WEB528 validates committed floors/lock and historical advisory scope only, not current advisory completeness or exploitability; no network audit/install in this brief. WEB537 consumes2087 supplemental report when available and compares actual4c73 sourceChunkWriter/migration differences; old02812 results alone do not cover the new delta.
Бриф: /Users/poolpooly/audit/outbox/2098-l113d-verify-524-529-brief.md
SHA256 8c430540510f0a55a4121fb7beec62f1d949ab6c0d26fe52d3d3ab78dcd13938
Статус: выдан в relay; запуск/результат не подтверждены. Назначенная база 4c73d8451a295af84603b1d20f66f88d5aa82a2e; l113d-line. Проверка текущего кода и prior-output dedupe обязательны. Координатор принимает пересекающиеся изменения и посадку.
2026-09-06T10:15:25.086Z · astra-securityblock18-verdict-web-529 — 2026-09-06T10:15:25.084765+00:00 / IST=2026-09-06T15:45:25.084796+05:30
verified: принятое поведение / closed hypothesis на 4c73d8451a295af84603b1d20f66f88d5aa82a2e.
Source: src/lib/admin/credentials.ts:100, src/components/admin/AdminPanel.tsx:275, src/components/admin/AdminPanel.tsx:506
Tests: /Users/poolpooly/audit/evidence/block5/secrets/secrets-hygiene-boundary.test.mjs:61
Mapping: none: explicit local-export disposition
Residual: Explicit Export Local intentionally emits stored JSON; masked export remains proposal, no real credentials inspected.
Tests NOT_EXECUTED parent; actual behavior wave(s): 2098
Evidence: /Users/poolpooly/audit/evidence/block18/source-test-hashes.json
Checkpoint: /Users/poolpooly/audit/reports/block18-checkpoint.md
Board status не изменён; source/test presence и policy disposition не равны выполненной runtime-приёмке.
2026-09-06T21:37:37.120Z · astra-securityblock22-wave-2156-web-529 — 2026-09-06T21:37:37.120040+00:00 / IST=2026-09-07T03:07:37.120049+05:30
ДЛЯ ТИКЕТА / BLOCK22 release closure. Explicit local credential export is accepted policy, not automatic masked-export requirement.
Бриф /Users/poolpooly/audit/outbox/2156-local-export-policy-post-l113j-closure-brief.md; SHA256 1f1045fcdeef449c6d70f38b036b6978741a9e62e347893d0e40ad61cdcb4e5d. MODEL=gpt-5.6-sol, A2 cap11, M4 cap3 без автоматического переноса. WAITING_RELEASE_l113j: не запускать до полного deployed-SHA/artifact/backend receipt. Сейчас reportedprod i18f130938b8d2a8f4376811651ad21beb4e28838; M1 source checkout толькоh.
Три группы: exactrelease/source mapping; live: Inspect only UI availability/role gate using isolated browser profile with no stored credentials; do not click real credential export or inspect localStorage of actual users.; companion: With synthetic local-only settings, verify explicit export intent and exact documented format; masks are a proposal unless owner policy changed. No secrets/data may enter evidence.
KNOWN ISSUES: sent≠running, code/authorGO≠liveclosure. При отсутствующем fix в j — NOT_DEPLOYED. Никаких paid/provider effects, реальных удалений/отказов сервиса. Existing2455/2450/2460/2462/2458 и старые работы не дублируются. Историческиеanchors src/lib/admin/credentials.ts:100; src/components/admin/AdminPanel.tsx:275; src/components/admin/AdminPanel.tsx:506. Fullreport future /home/ubuntu/waves/BLOCK22-LOCAL-EXPORT-POLICY-POST-L113J-CLOSURE-REPORT.md. Evidence M1 /Users/poolpooly/audit/evidence/block22/fanout-jobs.json; checkpoint /Users/poolpooly/audit/reports/block22-checkpoint.md. Статус тикета не менялся.
2026-09-07T11:40:34.550Z · ЭВОЛЮЦИЯ ЗА 12 Ч (гигиена 2609, 11:25Z 07.09)
ХРОНОЛОГИЯ КРУГОВ
- Новой самостоятельной волны в пакете нет; тикет присутствует только в сводном реестре/предыдущей гигиене. Новый GO, exact landing или post-QA не предъявлены.
- Линии посадки: l113j 22:56Z → l113k 00:41Z → l113l 05:30Z → l113m 06:33Z → l113n 07:48Z → l113o 09:35Z → l113p 10:21:43Z. Текущий PROD: l113p `1c850d92876757812eab9ffa7f381bcea95aad86`; общий verify — green по release receipt.
ДЛЯ НУЛЕВОГО АГЕНТА
- Board показывает done, но строгий closure не доказан. Проверка относительно l113p `1c850d92876757812eab9ffa7f381bcea95aad86`: ticket-specific SHA в выбранных отчётах не выделен. Это запись «ЛОЖНО ЗАКРЫТЫЙ»; статус не меняется автоматически.
- Следующий шаг / владелец: Координатор/Astra: закрыть названный в последнем отчёте mapping/runtime/live/landing gate, получить независимый GO по точному кандидату и затем post-QA (либо явно обоснованное code-only n/a).
KNOWN ISSUES / ТРАБЛШУТИНГ
- Дельта без домысла: новая KI-дельта в отчётах не сформулирована. Проверка/причина привязаны к отчётам выше; anchors: точных file:line anchors в выбранной KI-дельте нет. Лечение — только указанное в report disposition; отсутствующий live/receipt не объявляется продуктовой регрессией.
ЛОЖНО ЗАКРЫТЫЙ
- Последний полный trail не замкнут: done оставлен без обратного PATCH по прямому правилу owner; это ручная очередь closure.
СВЯЗИ / ИСТОЧНИКИ
- Release: `M4 waves/L113P-RELEASE-RECEIPT.md`; координаторский срез: `M4 waves/OPS-STATUS-HEAD-1120.md`; точные отчёты перечислены в хронологии/KNOWN ISSUES.
- Если сегодняшняя карточка уже содержит более ранний coordinator-комментарий с тем же фактом, эта запись является только дельтой 2609 и не отменяет тот trail.
2026-09-07T12:22:09.152Z · astra-securityRELAY16-R3P-FANOUT — 2026-09-07T12:22:09.152134+00:00 / IST=2026-09-07T17:52:09.152155+05:30
OWNER DECISION RELAY16: closure r3p выдан в пакете2617, ROUTING A2, MODEL gpt-5.5.
Бриф /Users/poolpooly/audit/outbox/2617-closed-hypothesis-auth-policy-r3p-brief.md; SHA256 252a63b109e0597c5a93ade9073d08f1ad8ab0a2fbb0ad8ce51012c5a8e358cf. Base l113p1c850d92876757812eab9ffa7f381bcea95aad86.
KNOWN ISSUES: ['No latest closure report for this ticket in RELAY12/13; retain prior evidence, no scope expansion.']
Следующий gate: 2617 / A2: finish per-ticket exactp mapping, targetreceipt and independent companion; report blockedgroups individually. Issued, not running/GO.
Действие координатора: No known productfix/bundle missing; verify accepted hypothesis/policy onexactp; no silent strongerpolicy
ТРАБЛШУТИНГ: три группы на этот тикет — exact accepted/semantic source→runtime mapping, specific target receipt/authorized QA proof, independent inert behavior. Policy accepted != fixed; historical NO-GO != newpdefect. Missinginput возвращать отдельно, без ожиданиявслоте.
ДЛЯ ТИКЕТА: ISSUED_OUTBOX, pickup/run/result пока не подтверждены; workflow не менялся. Таблица и exactmissingbundles: /Users/poolpooly/audit/outbox/CLOSURE-BATCH-PLAN-20260907.md.
Воркер
не привязан — привязать:
curl -X POST https://bugs.wool2.online/api/web/assign -H 'content-type: application/json' \
-d '{"issueId":"WEB-529","session":"<имя tmux-сессии>","host":"m4"}'
Обновлён
2026-09-05T21:05:36.613Z