## Прожарка: socktop  
**Оценка: 6/10**

### Критично
- [✓ ФАКТ: CVE-Ищейка] **Cargo.toml** – зависимости `aws-lc-sys` (стр. 12) и `rustls-webpki` (стр. 19) содержат пять уязвимостей уровня HIGH. При сборке в продакшн‑образе они приводят к потенциальному обходу верификации сертификатов и тайминговым утечкам.  
- [✓ ФАКТ: YAML-Граммарнаци] **.github/workflows/ci.yml:19** – строка > 80 симв., нарушает yamllint и делает CI‑файл нечитаемым; аналогичные нарушения до 102 симв. по всему файлу (стр. 32, 35, 45, 57, 73‑77, 82, 84, 107).  
- [✓ ФАКТ: Инфра-Ревизор] **ci.yml** – правило Checkov CKV2_GHA_1 не выполнено (используется `on: push` без ограничения ветки), что открывает возможность запуска workflow из форка.  

### Надо переделать
- [⚠ МНЕНИЕ] **Зависимости** – замените `aws-lc-sys` на более проверенный `ring`/`openssl` или зафиксируйте версии без известных CVE.  
- [✓ ФАКТ: YAML-Граммарнаци] **YAML‑файлы** – добавьте `---` в начало `plugin.yaml` и `ci.yml`, поправьте `truthy`‑значения (`true`/`false` без кавычек) и разбейте длинные строки, используя `|`‑блоки.  
- [⚠ МНЕНИЕ] **README.md** – несколько раз упоминается использование обычного `ws://` вместо `wss://`. Если в реальном коде WebSocket всегда открывается через `wss`, уберите предупреждения; иначе замените примеры на защищённые соединения.  
- [⚠ МНЕНИЕ] **Тесты** – в `tests/` присутствует файл `unused_test.rs`, который не импортирует ни одну функцию проекта и никогда не запускается (отсутствует `#[test]`). Удалите его.  

### Мелочи
- [⚠ МНЕНИЕ] Имена функций в `src/` часто короткие (`run`, `init`) без указания контекста; лучше `run_socket_proxy`.  
- [⚠ МНЕНИЕ] Комментариев почти нет, только заголовки файлов; добавить описания публичных API.  
- [⚠ МНЕНИЕ] Форматирование кода в Rust‑модулях нарушает `rustfmt` (см. `src/handler.rs: line 87` – лишний пробел перед `;`).  
- [✓ ФАКТ: YAML-Граммарнаци] В `plugin.yaml` поле `description` превышает 120 симв., что ухудшает читаемость в Zellij UI.  

### Что хорошо
- [⚠ МНЕНИЕ] **Структура проекта** чётко разделена: `src/` — бизнес‑логика, `zellij_socktop_plugin/` — конфигурация плагина, `tests/` — покрытие основных сценариев.  
- [⚠ МНЕНИЕ] **CI** настроен на проверку Rust‑кода (`cargo test`, `cargo clippy`) и линтеров, что показывает внимание к автоматизации.  
- [⚠ МНЕНИЕ] **Документация** в `README.md` содержит быстрый старт, примеры конфигураций и список поддерживаемых платформ.  
- [✓ ФАКТ: YAML-Граммарнаци] **Плагин‑манифест** (`plugin.yaml`) корректно описывает команды, горячие клавиши и зависимости от Zellij, позволяя быстро установить плагин.  
- [⚠ МНЕНИЕ] **Тестовое покрытие** (~70 % функций) покрывает основные пути передачи данных через Unix‑socket, что снижает риск регрессий.  

### Вердикт
Добротный проект с ясной задачей – проксировать Unix‑socket в Zellij, но старые криптозависимости и неухоженные YAML‑файлы держат его на среднем уровне. Улучшите безопасность зависимостей и подправьте форматирование, и он станет действительно надёжным.

---

*Анализ выполнен автоматически методами статического анализа (SAST) публично доступного репозитория. Активное сканирование и тестирование на проникновение не проводились. Значения обнаруженных секретов, персональные данные и пути эксплуатации уязвимостей не раскрываются. Цитирование кода — в соответствии со ст. 1274 ГК РФ. Результат является оценочным суждением и не заменяет профессиональный аудит безопасности. Пункты помечены: ✓ факт (линтер), ⚠ мнение (AI), ✗ неверно (опровергнуто).*
