Перейти к основному содержимому

Карта возможностей анализа кода

Этот справочник связывает пользовательские вопросы с поддерживаемыми командами CodeGraph. Он не описывает каждый класс из src/analysis/ как публичный SDK.

Справочник

Этот справочник связывает пользовательские вопросы с поддерживаемыми командами CodeGraph. Он не описывает каждый класс из src/analysis/ как публичный SDK. Внутренние движки могут меняться при сохранении поддерживаемого контракта CLI, REST или MCP.

Выберите сценарий

Выберите сценарий
Вопрос Точка входа Что проверять в результате
Что изменилось и на что смотреть ревьюеру? python -m src.cli review --help Замечания и доказательства для выбранного diff.
На что может повлиять изменение? python -m src.cli impact --help Зависимости и зона влияния.
Какие гипотезы безопасности подтверждает CPG? python -m src.cli hypothesis --help Подтверждённые, отклонённые и неопределённые гипотезы.
Где встречается структурный паттерн? python -m src.cli patterns --help Совпадения в выбранном scope.
Какие угрозы относятся к границе системы? python -m src.cli threat-model --help Угрозы и меры снижения риска.
Какие риски есть в зависимостях? python -m src.cli sbom audit --help Результаты анализа состава ПО для текущих входных данных.

Перед автоматизацией флагов вызывайте --help у установленной ревизии. Доступность через MCP или REST зависит от активного профиля и текущей регистрации в рантайме.

Поддерживаемые интерфейсы анализа

Ревью и влияние изменений

python -m src.cli review объединяет контекст изменения с анализаторами для code review. python -m src.cli impact предназначена для вопросов о затронутых символах, зависимостях и риске регрессии. Разрешение на релиз оформляется по значимым выводам, привязанным к проверенной Git-ревизии, подтверждающим путям и находкам.

Практические шаги описаны в руководстве по code review. Позиционное имя метода и доступные поля глубины, БД и вывода проверяйте по live-help команды impact.

Анализ безопасности

python -m src.cli hypothesis проверяет гипотезы уязвимостей по CPG. python -m src.cli threat-model рассматривает систему и границы доверия шире. python -m src.cli sbom audit отвечает за компоненты и зависимости. Его результат входит в пакет доказательств вместе с остальными проверками.

См. систему гипотез, моделирование угроз и SCA/SBOM.

Поиск структурных паттернов

python -m src.cli patterns — поддерживаемая точка входа для повторяемых структурных запросов. Совпадение означает, что запрос нашёл доказательство в заданном scope. Отсутствие результата может также указывать на неполный CPG, неподдерживаемую конструкцию языка, исключение или устаревший контекст проекта.

Настройка и интерпретация описаны в Pattern Search.

Внутренние движки

Некоторые компоненты обслуживают другие процессы, но не имеют отдельного пользовательского контракта:

Внутренние движки
Компонент Внутренняя граница Публичное использование
Обнаружение клонов src/analysis/graph_core/clone_detector.py Нет отдельной команды CLI, API или MCP; результат потребляется поддерживаемым процессом анализа.
Символьное выполнение src/analysis/dataflow/taint_support/symbolic_execution.py Нет отдельного интерфейса; компонент помогает проверять достижимость путей taint-анализа.
Control- и data-flow helpers src/analysis/controlflow/ и src/analysis/dataflow/ Детали реализации функций ревью и безопасности.
Autofix helpers src/analysis/autofix/ Сгенерированные изменения нельзя применять без ревью diff и тестов.

Эти пути нужны сопровождающим для диагностики. Они не обещают стабильность внутренних классов, конструкторов или типов возврата для сторонних импортов.

Доказательства и ограничения

Качество анализа зависит от индексируемой ревизии, покрытия языка, scope проекта, конфигурации и свежести графа. Сохраняйте эти входные данные вместе с решением, основанным на находке.

  • Находка требует проверки эксплуатацией и бизнес-контекстом.
  • Безопасность кода и отсутствие влияния проверяются по области анализа и дополнительным тестам.
  • Сгенерированное исправление требует обычного ревью, тестов, AppSec и привязки к ревизии.
  • Прямые запросы к DuckDB — диагностическая граница сопровождающего, а не обычный интерфейс.
  • Live-discovery рантайма важнее статических списков инструментов и снимков экрана.

Для решения о релизе дополните анализ приёмочными тестами и обязательными для задачи вердиктами ревью, AppSec, QA, трассировки, рантайма, документации и финансового контроля.

Связанные руководства

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