2IZI Guard · 0.4.10 · PRE-1.0

Документы

Текущее ядро рассчитано на PHP 8.1+ и не зависит от framework на границе безопасности. Каждое action защищается явно, а токен погашается до выполнения бизнес-операции.

Защита действий приложения

Безопасность решает сервер, а не состояние виджета.

2IZI Guard защищает формы и публичные действия: риск оценивается локально, нагрузка проверки адаптируется к ситуации, а окончательное разрешение выдаётся одноразовым серверным токеном. Обязательной внешней CAPTCHA нет.

PHP 8.1+Core runtime
MariaDB / MySQLBaseline storage
0обязательных внешних runtime-запросов
256-bitэнтропия opaque-токена
PRE-1.0Текущая ветка имеет security-first архитектуру и автоматические regression/red-team тесты. Внедрять постепенно: сначала Shadow Mode, затем настроенный enforcement на реальном трафике.
Quick start

Минимальная поверхность интеграции. Окончательное решение — на сервере.

Текущее ядро рассчитано на PHP 8.1+ и не зависит от framework на границе безопасности. Каждое action защищается явно, а токен погашается до выполнения бизнес-операции.

1. Frontend

FrontendHTML
<script src="/guard/public/assets/guard.js?v=0.4.10" defer></script>
<form data-guard-action="contact">
  …
</form>

2. Protected action

Защищённое действиеPHP
$result = Guard::verifyAndConsume(
    $_POST['guard_token'] ?? '',
    'contact'
);

if (!$result->allowed()) {
    http_response_code(403);
    exit;
}

Типовые actions

loginregisterpassword_resetcontactcheckoutfile_upload
Server authorityУспех JavaScript не является разрешением. Защищённый endpoint проверяет и погашает Guard-токен на сервере.
Как работает

Одно защищённое действие. Пять независимых контрольных точек.

Браузер может участвовать в challenge, но разрешение на бизнес-действие всегда выдаёт и погашает сервер.

01

Проверка контекста

Origin, action, session и базовые лимиты проверяются до дорогих операций.

02

Локальная оценка

Серверные и прикладные сигналы формируют объяснимое решение по риску.

03

Адаптивная проверка

Политика выбирает PASS, Proof-of-Work, интерактивную проверку, throttle или deny.

04

Одноразовый токен

Случайный 256-битный opaque-токен привязывается к session, action, origin и короткому TTL.

05

Атомарное погашение

Бизнес-endpoint использует токен ровно один раз; replay, mismatch и expiry отклоняются.

Policy modes

ShadowObserve and predict; no enforcement.
InvisibleNo visible challenge.
AdaptiveRisk-based PASS / PoW / interaction / deny.
Always challengeRequire step-up for every protected request.

Доверенный трафик может пройти незаметно. Повышенный риск может включить Proof-of-Work, удержание, ограничение частоты или отказ.

Интеграция

Integration contract

Текущее ядро рассчитано на PHP 8.1+ и не зависит от framework на границе безопасности. Каждое action защищается явно, а токен погашается до выполнения бизнес-операции.

Action registry

The server defines allowed action names. Never use a client-provided action as authorization context.

'contact' => [
  'mode' => 'adaptive',
  'fail_mode' => 'open_with_limit'
]

Origin / session binding

256-битные opaque-токены · хранение только hash · короткий TTL · action/session/origin binding · HMAC integrity · одноразовое atomic consume · server-only бизнес-сигналы · fail-closed для критичных действий.

UI isolation

Shadow DOM isolates Guard visuals from host CSS. It is a UI reliability layer, not a security boundary.

Localization

UI locale is BCP-47-style, UTF-8, RTL-ready, touch/keyboard compatible, and extendable with locale packs.

Модель угроз

Предполагаем, что атакующий знает весь исходный код.

2IZI Guard следует Kerckhoffs-style модели: исходники, JavaScript, API-контракт, схема БД, PoW и пороги могут быть известны. Защита должна сохраняться, потому что секреты и авторизация находятся на сервере.

Считаем, что у атакующего есть

  • полный исходный код
  • современные AI-модели
  • Playwright / Selenium / headless Chromium
  • residential proxy
  • записи собственного трафика

Безопасность не зависит от скрытия

  • JavaScript
  • алгоритмов challenge
  • имён полей
  • endpoint-ов
  • risk thresholds
Базовые инварианты256-битные opaque-токены · хранение только hash · короткий TTL · action/session/origin binding · HMAC integrity · одноразовое atomic consume · server-only бизнес-сигналы · fail-closed для критичных действий.
Честное ограничениеНи одна browser-проверка не может математически доказать «биологического человека». Для критичных действий всё равно нужны passkey/WebAuthn, MFA, подтверждённые аккаунты, авторизация транзакций и бизнес-лимиты.
Открытый код

Публичный код должен усиливать проверяемость, а не ослаблять модель.

Чтение реализации не должно давать обход авторизации. Публичный аудит полезен, если релизы, ключи, права репозитория и обработка уязвимостей организованы дисциплинированно.

Публикуем

  • исходный код и историю изменений
  • SECURITY.md и responsible disclosure
  • threat model и архитектуру
  • автоматические security / red-team тесты
  • контрольные суммы и release notes

Оставляем закрытым

  • production config/guard.php
  • APP_KEY и HMAC/privacy/rate-limit ключи
  • дампы БД и реальные security events
  • реальные cookies, tokens и sessions
  • секреты деплоя и приватные детали инфраструктуры
Operations

Diagnostics, tests and updates

Diagnostics

php bin/diagnose.php

Check database state, key material, Origin configuration and registered actions before enabling enforcement.

Regression / red-team

bash tests/run-all.sh

Release acceptance includes replay, proxy, risk, tampering, UI and integration checks. Run disposable MariaDB/MySQL concurrency tests where available.

Updates

Read release notes and migrations first. Do not overwrite production config/guard.php with a distribution template. Rotate keys only when a release explicitly requires it.

Rollout

Start with Shadow Mode, review predicted decisions and false positives, tune action policies, then enable calibrated enforcement.

Текущий статус

0.4.10 · pre-1.0 · активная разработка

Текущая ветка имеет security-first архитектуру и автоматические regression/red-team тесты. Внедрять постепенно: сначала Shadow Mode, затем настроенный enforcement на реальном трафике.

PHP coreДоступно
Webasyst / Shop-Script adapterПосле стабилизации ядра
Verified agents / Privacy PassБудущее / зависит от стандартов
0.4.10The responsive-layout hotfix changes UI sizing and preview embedding only; database schema, token/challenge protocol, keys, risk engine and server authorization logic are unchanged.

Язык

EnglishEnglishРусскийRussian简体中文Chinese (Simplified)繁體中文Chinese (Traditional)日本語Japanese한국어KoreanDeutschGermanFrançaisFrenchEspañolSpanishItalianoItalianPortuguês (Brasil)Portuguese (Brazil)العربيةArabicעבריתHebrewTürkçeTurkishPolskiPolishNederlandsDutchBahasa IndonesiaIndonesianTiếng ViệtVietnameseहिन्दीHindiPortuguês (Portugal)Portuguese (Portugal)ČeštinaCzechRomânăRomanianMagyarHungarianΕλληνικάGreekSvenskaSwedishNorskNorwegianDanskDanishSuomiFinnishไทยThai