Проект / Исходный код

Всё целиком размещено на GitHub

KalderaShield — открытый код под лицензией Apache-2.0: настольное приложение, приложение Android, браузерное расширение, хост nativeMessaging и этот сайт. Каждое заявление о безопасности на сайте прослеживается до кода или до теста, который выполняется в публичном CI.

Что представляет собой кодовая база

Четыре проекта, один репозиторий

Настольное приложение сочетает интерфейс на React и TypeScript с ядром на Rust через Tauri 2: UI отображается в системном WebView, а нативная сторона ведает обновлением, мостом расширения и интеграциями с платформой. Персистентность хранилища работает на wa-sqlite с версионированной схемой-конвертом.

Браузерное расширение — сборка TypeScript на Manifest V3 для Chromium и Firefox, а приложение Android — проект Tauri Android с биометрической привязкой AndroidKeyStore. Хост nativeMessaging и IPC-мост живут в общем проекте на Rust, где логику токена сопряжения, аренды и шифрования кадров удобнее всего проверять.

Сам сайт — обычный закоммиченный HTML, без шага сборки для развёртывания, — со скриптами-генераторами и шлюзами качества, которые лежат в репозитории рядом с порождаемыми ими страницами.

Шлюзы, которые проходит каждое изменение

Проверка типов и 2204 модульных теста

248 тестовых файлов с принудительными порогами покрытия: 90% строк, 90% операторов, 85% функций, 80% ветвлений. Регрессия ниже порога валит сборку, а не дашборд.

Фаззинг, мутации и шлюзы безопасности

Тесты свойств fast-check обрабатывают пути импортёра, резервных копий и вложений повреждённым вводом. Мутационное тестирование Stryker оценивает качество тестов. Отдельные шлюзы проверяют усиление CSP, релизные артефакты, отладочные маркеры и секреты.

Анализ цепочки поставок в CI

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

Архитектура безопасности

Что здесь означает открытый код — и чего не означает

Заявление с его границей

Открытый код позволяет каждому читать код; сам по себе он не доказывает, что кто-то это сделал. Чтение — весь смысл: модель угроз, реестры принятия и охват аудита лежат в репозитории, чтобы проверяющие стартовали с одной и той же карты. Независимый аудит не завершён — страница статуса аудита говорит об этом прямо.

TypeScript

Интерфейс и расширение

UI на React, расширение и общая логика хранилища, со строгой типизацией; без встроенных стилей React, что принуждается шлюзом CSP.

Rust

Нативное ядро

Команды Tauri 2, хост nativeMessaging, локальный IPC-мост и механика обновления; cargo fmt и целенаправленные тесты атомарной записи сопровождают каждый релиз.

Apache-2.0

Лицензия

Весь проект плюс файл лицензий THIRD-PARTY для поставляемых компонентов. Никаких проприетарных блобов в установщиках.

Часто задаваемые вопросы

Участие и сообщения об уязвимостях

Как сообщить об уязвимости в безопасности?

Приватно, никогда как публичная запись на GitHub: через закрытые отчёты об уязвимостях GitHub или по электронной почте из SECURITY.md. Подтверждение в течение 48 часов, разбор в течение 7 дней, скоординированное раскрытие в течение 90.

Могу ли я вносить код?

Да — через запросы на слияние на GitHub. Описанные выше шлюзы выполняются для каждого изменения, поэтому самый быстрый способ помочь — изменение, которое держит их зелёными и несёт собственные тесты.

Могу ли я собрать установщики сам?

Да. Локальное руководство по релизу документирует точные команды для каждой платформы, а скрипт релиза собирает артефакты с контрольными суммами SHA-256 в release-local/<platform>/.

Связанные страницы

Скачать установщик