Code Pathfinder

Code Pathfinder

shivasuryaApache-2.0
135 звёзд16 форков
Code Pathfinder — это MCP-сервер, который даёт AI-ассистенту инструменты статического анализа кода на Python и Go. Сервер строит граф вызовов (call graph), отслеживает потоки данных между файлами и функциями, находит уязвимости и определяет типы (type inference). В основе сервера — открытый SAST-движок, который парсит код в абстрактные синтаксические деревья (AST) и строит графы зависимостей переменных (VDG). В отличие от обычных статических анализаторов, Code Pathfinder v2.0 специально создан для межфайлового анализа (cross-file dataflow). Он отслеживает заражённые данные по всей цепочке вызовов, от источника до опасного приёмника. Такая глубина анализа помогает находить сложные уязвимости — например, SQL-инъекцию, где пользовательский ввод проходит через несколько слоёв абстракции в разных файлах, прежде чем попасть в опасный контекст.

Установка

uvx codepathfinder

Характеристики

Общее

  • СтатусСообщество
  • Разработчикshivasurya
  • ЛицензияApache-2.0

Технологии

  • Языки
    Go
  • Транспорт
    stdio

Описание

Возможности

  • Построение графа вызовов для любой функции — AI видит, откуда вызывается функция и куда она зовёт дальше.
  • Поиск символов (переменных, функций, классов) по всему проекту с учётом контекста.
  • Межфайловый taint analysis — отслеживание заражённых данных от источника до опасного приёмника (sink).
  • Вывод типов (type inference) для Python и Go.
  • Запуск сканирования на уязвимости (SAST) по предустановленным правилам для Python, Go и Docker.
  • Получение кода конкретной функции вместе с картой её зависимостей от других функций.
  • Работа без конфигурационных файлов и API-ключей — достаточно передать путь к проекту.
  • Запрос описания логики работы модуля в связке с другими частями кодовой базы.

Как подключить

Установите пакет через uvx:

uvx codepathfinder

Добавьте конфигурацию в ваш MCP-клиент (например, Claude Desktop):

{ "mcpServers": { "codepathfinder": { "command": "uvx", "args": ["codepathfinder"] } } }

После добавления конфигурации перезапустите клиент.

Примеры запросов

  • «Найди уязвимости в проекте. Покажи цепочку источник-приёмник для SQL-инъекций.»
  • «Построй граф вызовов для функции handle_login в файле auth.py. Покажи все дочерние и родительские функции.»
  • «Проверь Dockerfile на уязвимости и плохие практики безопасности.»
  • «Объясни, как работает функция process_payment, на основе её кода и зависимостей.»

Технические детали

  • Язык реализации: Go
  • Транспорт: stdio
  • Лицензия: Apache-2.0
  • Поддерживаемые языки кода: Python, Go, Docker
  • Совместимые клиенты: Claude Desktop, любой MCP-клиент

Поделиться