modsafe v0.4.1 [base]


Охрана модулей: аудит кода, хеши файлов, вкл/выкл (default-off для новых).

versiondatecommitфайлов
0.4.12026-09-162d7d04615b318

README

# modsafe `0.4.1`

Охрана модулей: аудит кода, хеши файлов, вкл/выкл, секреты, маркет.

Тип: Модуль. Категория: `base`. Зависимостей нет.
## Описание
Привратник модульного ядра:
- **аудит кода** — сканер ищет опасные паттерны с severity; легитимные исключения — в `audit_allow` манифеста; полный паспорт — через `inspect`;
- **вкл/выкл** — галочки модулей (применяются рестартом; себя выключить нельзя);
- **эталоны хешей** — `rescan` фиксирует «текущие файлы = доверенные»;
- **секреты** — ключи `.env` по модулям без значений наружу;
- **маркет** — загрузка zip'ом в стейджинг с аудитом до установки; установка — всегда выключенным.

Маркет (`market`) — заглушка до запуска страницы: отдаёт `stub: true`, установка идёт через `stage` → `install`.
## Возможности
- `list` `{}` → все модули/транспорты со статусом
- `audit_one` `{name}` → находки сканера по одному модулю
- `set_enabled` `{name, enabled}` → вкл/выкл (применится после рестарта)
- `rescan` `{name?}` → обновить эталон хешей
- `stage` `{filename, content_type, body}` → принять архив в стейджинг + аудит
- `staged` `{}` → список стейджинга
- `install` `{name}` → установить из стейджинга (выключенным)
- `market` `{}` → заглушка маркета (`stub: true`)
- `delete` `{name}` → удалить модуль (только выключенный)
- `pack` `{name, with_secrets}` → упаковать модуль в zip (b64)
- `env_keys` `{name}` → ключи секретов без значений
- `env_set` `{name, values}` → сохранить секреты
- `inspect` `{name}` → полный паспорт модуля/транспорта
- `orphans` `{}` → pip-пакеты без владельца (только показ)
- `uninstall_orphans` `{packages}` → удалить сирот (лимит 20)
## Права
- `modules_manage` — Управление модулями: вкл/выкл, аудит, эталон хешей
## Web
- `GET /api/modsafe/modules` — список модулей
- `POST /api/modsafe/enable` — вкл/выкл
- `POST /api/modsafe/rescan` — обновить эталоны
- `POST /api/modsafe/upload` — загрузка в стейджинг
- `GET /api/modsafe/staged` — список стейджинга
- `POST /api/modsafe/install` — установка (выключенным)
- `GET /api/modsafe/market` — заглушка маркета
- `POST /api/modsafe/delete` — удаление
- `GET /api/modsafe/pack` — упаковка в zip
- `GET/POST /api/modsafe/env` — секреты модулей
- `GET /api/modsafe/inspect` — паспорт модуля
- `GET/POST /api/modsafe/orphans` — пакеты-сироты
- кабинет «Модули»
## Конфигурация (`config.schema.json`)
- обязательных нет; опциональные (дефолты):
  - `MODSAFE_MAX_UPLOAD_MB` = `5` — лимит архива, МБ
  - `MODSAFE_MARKET_URL` = `` (не задан) — адрес будущего маркета

Манифест

{
  "name": "modsafe",
  "version": "0.4.1",
  "category": "base",
  "description": "Охрана модулей: аудит кода, хеши файлов, вкл/выкл (default-off для новых).",
  "requires": [],
  "rights": [],
  "api_methods": [],
  "web_routes": [],
  "commit": "2d7d04615b31be9f5bbd91d5d61671182164bf39",
  "updated": "2026-09-16 16:35:50 +0300",
  "integrity": "sha256:26f8f213dc3f7a345ee4cf820b750a5df01b7d6c1f7f43ee82874dd403cccc9a",
  "tree_url": "http://10.10.10.30:3000/euk0r/bot_modular/src/branch/main/modules/modsafe",
  "raw_url": "http://10.10.10.30:3000/euk0r/bot_modular/raw/branch/main/modules/modsafe/module.py",
  "files": "[8 файлов — см. вкладки ниже]",
  "note": "Менеджер модулей бота",
  "_extra": {
    "api": "",
    "events_emitted": "[]",
    "events_subscribed": "[]",
    "audit_allow": "",
    "config_schema": "config.schema.json",
    "env_example": ".env.example"
  }
}

Файлы и исходники

Дерево файлов

  • · корень
    • 3.6 КБ
    • 0.1 КБ
    • 24.8 КБ
    • 3.6 КБ
    • 17.1 КБ
    • 6.6 КБ
  • web/
    • 2.5 КБ
    • 21.0 КБ

Предпросмотр

Выберите файл в дереве выше — код откроется здесь.