This commit is contained in:
@@ -0,0 +1,64 @@
|
||||
# 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](https://nvlpubs.nist.gov/nistpubs/SpecialPublications/NIST.SP.800-218.pdf), February 2022, immutable dated PDF. Применение: официальный словарь высокоуровневых практик secure development и коммуникации. Граница: не подтверждает существование практики, проверки, уязвимости, результата или контроля в P114.
|
||||
2. [NIST SP 800-53 Revision 5, Security and Privacy Controls for Information Systems and Organizations](https://doi.org/10.6028/NIST.SP.800-53r5), 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 не включены.
|
||||
Reference in New Issue
Block a user