Files
progcode/editorial/reviews/2027-08-draft.md
T
huncode a59796c5d3
Build and deploy / deploy (push) Successful in 17s
revise August 2027 security capstone articles
2026-07-31 20:50:21 +03:00

8.0 KiB
Raw Blame History

P114 — August 2027: «Большой разбор безопасности»

Редакторская дата: 2026-07-31. Плановый сценарий: 2027-08. Source cutoff: 2026-07-31. Это изолированный draft, а не record о системе, проверке или результате. Во всех трёх материалах единственный positive output — synthetic-plan-hand-off; его productionEffect всегда not-attempted.

Источники и temporal boundary

  1. NIST SP 800-218, Secure Software Development Framework (SSDF) Version 1.1, February 2022, immutable dated PDF. Применение: официальный словарь высокоуровневых практик secure development и коммуникации. Граница: не подтверждает существование практики, проверки, уязвимости, результата или контроля в P114.
  2. NIST SP 800-53 Revision 5, Security and Privacy Controls for Information Systems and Organizations, final dated 10 December 2020; DOI ведёт к immutable dated PDF. Применение: различение функции контроля и assurance. Граница: не подтверждает выбор, deployment, работу или покрытие контроля в P114.

Оба источника опубликованы до cutoff. Финальная проверка доступности выполнила range-GET без сохранения документа: SSDF 206 по прямому immutable PDF; SP 800-53r5 206 по DOI, который разрешился в immutable PDF. URL, версии, даты, применение и границы находятся также в source sections всех трёх статей.

Проход 1 — факты, temporal boundary, голос

  • Все статьи называют 2027-08, 2026-07-31, плановый характер и цену ошибки в первых двух абзацах.
  • Practice самостоятельна: synthetic asset, boundary и договор о будущей проверке. Mechanism самостоятельна: synthetic path, coverage и falsifiability. Field самостоятельна: evidence hand-off без narrative о событии или проведённой проверке.
  • Голос 2025–2027: прагматичный техлидский разбор «стоимость → граница → проверяемое действие → ограничение», без best-practices списка вместо механизма.
  • node web/scripts/upgrade-2027-08.mjs --verify-fixture: 9/9 accepted; article checks 3/3.
  • Длины body без source section: practice 10 208, mechanism 10 375, field 10 909 знаков. Каждая остаётся в обязательном интервале 10 000–13 000.

Проход 2 — literal safety и fail-closed

  • Runnable examples вызывают только fixed named in-memory literals и чистые функции модуля. В модуле отсутствуют imports/API для filesystem, network, environment, clock, secrets, telemetry, system/data access и запуска security tooling.
  • Статический safety scan: clean для node:fs, node:http, node:https, node:net, child_process, fetch, XMLHttpRequest, process.env, new Date, Date.now, exec.
  • Fixture принял только security-capstone-boundary-card-v1; пять отрицательных literals остановились на exact status: temporal boundary, claimed path, claimed control, claimed evidence и claimed execution/owner.
  • Все неизвестные и опасные states остались not-declared, not-mapped, not-accepted, not-selected, not-collected, not-assigned, not-opened или not-attempted. Positive operational claim не имеет проходящей ветки.

Проход 3 — SVG, mobile, a11y, safety и strict duplicate scan

  • Все три SVG прошли xmllint --noout. В них есть role="img", связанный русскоязычный title/desc; в HTML фигур присутствуют самостоятельные русские alt и captions.
  • SVG не содержат script, event handler, JavaScript URL, foreignObject, external reference или entity. Единственный http-текст — XML namespace http://www.w3.org/2000/svg.
  • Sharp успешно отрендерил 3/3 SVG в ширине 375px: 375×290, 375×300, 375×290. Ручной просмотр после mobile-first упрощения: все статусы и стоп-ветки читаются; горизонтального скролла и обрезанного текста нет.
  • Strict duplicate scan: body без source sections, code included, 12-word n-grams; сравнение с 36 статьями P102–P113 (upgrade-2026-08.mjs … upgrade-2027-07.mjs) вернуло collisions: [].
  • node --check web/scripts/upgrade-2027-08.mjs: passed. npm run audit:draft -- scripts/upgrade-2027-08.mjs --expected-count=3: passed for all exact slugs. npm emitted only pre-existing warnings about unknown user config store-dir, cache-dir, public-hoist-pattern.

Scope

Изменены ровно пять разрешённых файлов:

  1. web/scripts/upgrade-2027-08.mjs
  2. editorial/reviews/2027-08-draft.md
  3. web/public/assets/editorial/2027/security-capstone-2027-attack-path-contract.svg
  4. web/public/assets/editorial/2027/security-capstone-2027-control-evidence-matrix.svg
  5. web/public/assets/editorial/2027/security-capstone-2027-review-handoff-loop.svg

Registry, README, queue, articles.json, app, чужие пакеты и Git state не менялись.

Независимая приёмка — 2026-07-31

Проход 1 — факты, источник и постановка риска

  • NIST SP 800-218 Version 1.1 (February 2022) и NIST SP 800-53 Rev. 5 (December 2020) проверены по датированным PDF. Они дают словарь практик и контролей, но статьи не используют их как доказательство существующего asset, attack path, control coverage или security test.
  • Practice, mechanism и field разделены: граница asset/path, falsifiability coverage и evidence hand-off. Первые два абзаца каждого текста называют свою цену ошибки и не объявляют закрытый путь атаки.

Проход 2 — safe literal и автоматический аудит

  • node --check, fixture 9/9, public literal/deep-freeze check и npm run audit:draft -- scripts/upgrade-2027-08.mjs прошли. Длины body: 10 208, 10 375 и 10 909 знаков.
  • Один accepted output — synthetic-plan-hand-off; пять named counterexamples останавливаются fail-closed. Любой unknown input также останавливается, а accepted effect остаётся not-attempted.
  • XML и SVG safety scan прошли без запрещённого active content.

Проход 3 — визуал, overlap и выпуск

  • Три схемы повторно отрендерены в 375 px: contract, coverage matrix и hand-off loop сохраняют читаемые labels и stop-границы, а captions уточняют, что это не карта реальной системы.
  • Strict scan P102–P114 исключает sources, но включает code: 39 статей, 741 сравнение, collisions: [].
  • В реестр добавлены ровно три августовские revisions; пользовательские app/data files не включены.