Бесплатный сканер / octocat
octocat/Spoon-Knife
This repo is for demonstration purposes only.
32
/ 100
Требует работы
ops
0
deps
0
ci_cd
0
docker
0
security
80
Проблемы
1 критичных · 6 предупреждений
Файл зависимостей присутствуетcrit
Без файла зависимостей окружение нельзя воспроизвести и нельзя просканировать на уязвимости.
Добавьте файл зависимостей: requirements.txt или pyproject.toml (Python), package.json (Node), go.mod (Go), Cargo.toml (Rust).
Подробное руководство: почему это важно и как исправить →
Почему такой результат
Looked in: requirements.txt, requirements/base.txt, Pipfile, pyproject.toml, package.json, go.mod, Cargo.toml, pom.xml, build.gradle, build.gradle.kts, composer.json, Gemfile, mix.exs, pubspec.yaml — none found.
Это ложное срабатывание
Автообновление зависимостейwarn
Dependabot или Renovate создаёт pull request сразу после выхода патча безопасности.
Создайте .github/dependabot.yml — патчи безопасности будут приходить как pull request, а не ждать, пока кто-то их заметит.
Подробное руководство: почему это важно и как исправить →
Это ложное срабатывание
Настроен CI/CD-пайплайнwarn
Конфигурация CI не найдена. Каждый деплой — ручной шаг, который можно пропустить или сделать неверно.
Добавьте .github/workflows/ci.yml (или .gitlab-ci.yml), который запускает тесты и линтер на каждый push.
Подробное руководство: почему это важно и как исправить →
Это ложное срабатывание
Тесты запускаются в CIwarn
Запуск тестов на каждый коммит — то, что не даёт регрессии дойти до продакшена.
Добавьте в пайплайн шаг запуска тестов (pytest, jest, go test — что используется в вашем стеке).
Подробное руководство: почему это важно и как исправить →
Почему такой результат
No CI configuration found.
Это ложное срабатывание
Основная ветка защищенаwarn
Branch protection stops anyone pushing straight to main without review.
Turn on branch protection for main: require a pull request and at least one approval before merging.
Подробное руководство: почему это важно и как исправить →
Это ложное срабатывание
Сканирование безопасности в пайплайнеwarn
Сканер в CI ловит уязвимые зависимости и утёкшие секреты до слияния.
Добавьте шаг сканирования в CI. Бесплатные варианты: Trivy для образов и зависимостей, gitleaks для секретов, CodeQL для кода. Каждый — одна job в существующем workflow.
Подробное руководство: почему это важно и как исправить →
Это ложное срабатывание
Dockerfile присутствуетwarn
Dockerfile даёт всем — и продакшену — одинаковое воспроизводимое окружение.
Создайте Dockerfile в корне репозитория. Используйте multi-stage сборку, чтобы финальный образ был небольшим.
Подробное руководство: почему это важно и как исправить →
Почему такой результат
Searched the whole tree for Dockerfile, Dockerfile.* and *.Dockerfile (outside tests and examples) — none found.
Это ложное срабатывание
Настроен линтер или форматтерinfo
Единый принудительный стиль кода убирает целый класс комментариев на ревью.
Добавьте конфиг линтера: ruff.toml или pyproject.toml для Python, eslint.config.js для JavaScript, .golangci.yml для Go.
Подробное руководство: почему это важно и как исправить →
Это ложное срабатывание
Подключены инструменты наблюдаемостиinfo
Библиотек мониторинга не найдено. Без них об инцидентах вы узнаёте от пользователей.
Подключите три сигнала:
• Ошибки: sentry-sdk
• Метрики: prometheus-client и эндпоинт /metrics
• Трейсы: opentelemetry-sdk
• Логи: structlog или loguru для структурированного JSON
Подробное руководство: почему это важно и как исправить →
Это ложное срабатывание
Ваши репозитории, включая приватные
Подключите GitHub или GitLab, чтобы проверять приватные репозитории, следить за оценкой во времени, получать AI-анализ каждой проблемы и открывать исправление как pull request.
Создать бесплатный аккаунт →Получить отчёт на почту
Полный отчёт по octocat/Spoon-Knife — прямо сейчас на вашу почту. Подтвердите ссылку в письме, и мы будем сообщать об изменениях оценки. Без регистрации, отписка в один клик.
Одно письмо сейчас. Больше ничего, пока вы не подтвердите, и в каждом письме есть ссылка на отписку.
Бейдж для README
Откроем пул-реквест за вас →
Бесплатный аккаунт, подключение GitHub — и бейдж приедет пул-реквестом, который можно спокойно просмотреть. В основную ветку ничего не пишется.
Пройдено 2
В репозитории нет закоммиченных секретов
Файл .env не закоммичен
Гигиена репозитория — не входит в балл 10
.gitignore настроен
Add a .gitignore for your stack — gitignore.io generates one from a language list.
CHANGELOG ведётся
Add CHANGELOG.md and follow the keepachangelog.com format.
CODEOWNERS настроен
Create .github/CODEOWNERS:
* @team-lead
/config/ @security-team
Гайд CONTRIBUTING
Add CONTRIBUTING.md describing the flow: fork, branch, pull request, review.
Лицензия указана
Add a LICENSE file — MIT or Apache 2.0 for open source, or a proprietary notice for closed code.
Шаблоны pull request и issue
Add .github/pull_request_template.md and .github/ISSUE_TEMPLATE/bug_report.md.
README объясняет, как запустить проект
Expand the README with a Getting started section: prerequisites, install command, how to run the app, how to run the tests.
Репозиторий активно поддерживается
Either bring the project up to date or archive it so nobody depends on it by mistake.
Security policy (SECURITY.md)
Add SECURITY.md with a contact address and your expected response time.
README существует
Здесь неприменимо 14
This project does not use a .env file.
Файл .env исключён из git
.dockerignore настроен
No Dockerfile, so there is no build context to trim.
Healthcheck задан
No Dockerfile or compose file to define a healthcheck in.
Контейнер работает не от root
No Dockerfile, so there is no container user to set.
Базовый образ закреплён (не :latest)
No Dockerfile, so there is no base image to pin.
Dockerfile использует multi-stage сборку
No Dockerfile to build in stages.
Лимиты ресурсов заданы в compose
No compose file to set resource limits in.
Lock-файл присутствует
No dependency manifest, so there is nothing to lock.
Зависимости закреплены точными версиями
No requirements.txt to check for exact versions.
.env.example документирует нужные переменные
Нет учётных данных в конфигах MCP-серверов
The repository has no MCP server configs.
MCP-серверы запускаются в закреплённой версии
The repository has no MCP server configs.
Посторонние не могут управлять AI-агентами в CI
No workflow runs an AI agent.
В инструкциях для агентов нет секретов и внутренних адресов
The repository has no agent instruction files.