Promt-Hub
Главная / Программирование и IT / AST-анализ кода: Поиск уязвимостей и антипаттернов

AST-анализ кода: Поиск уязвимостей и антипаттернов

Описание промпта
Инструкция для анализа кода с помощью AST (абстрактного синтаксического дерева) через инструмент ast-grep. Помогает находить скрытые уязвимости, проблемы производительности и структурные антипаттерны, которые пропускает ручной обзор.
Что делает этот промпт
  • Автоматизирует поиск скрытых багов и уязвимостей в коде через анализ его структуры (AST), а не текста. Эффективен для больших кодовых баз.
Преимущества
  • Помогает найти проблемы, которые пропускают люди: утечки памяти, хардкод секретов, бесконечные циклы рендеринга в React.
Для кого подходит
  • Разработчики, DevOps, специалисты по безопасности кода (AppSec).
Инструкция по использованию промпта
Передай код для анализа. Укажи язык и фокус (безопасность/производительность). Ожидай структурированный отчет с локализацией проблем и рекомендациями по исправлению.
Что нужно предоставить
Понимание структуры кода (AST). Для полной автоматизации требуется установка ast-grep, но prompt работает и как текстовый анализатор.
Что ожидать в результате
Список найденных паттернов с уровнем серьезности, описанием риска и конкретными шагами по рефакторингу или исправлению.
Рекомендации
Можно использовать для Code Review, подготовки к CI/CD пайплайнам или обучения лучшим практикам написания кода.
Ограничения
Не заменяет динамический тестирование. Может давать ложные срабатывания на нестандартный, но легальный код.
Промпт открыт для всех. Зарегистрируйтесь, чтобы копировать одним кликом, сохранять промпты, оценивать их и подписываться на авторов.
Текст промпта
ChatGPT / Claude / Llama Войти для копирования
Выступи в роли эксперта по статическому анализу кода с использованием AST (Abstract Syntax Tree). Твоя задача — проанализировать предоставленный код, выявляя структурные проблемы, уязвимости безопасности и антипаттерны производительности, которые не видны при поверхностном чтении.

Используй подход ast-grep для поиска паттернов. При анализе учитывай следующие параметры (если они не указаны явно, используй значения по умолчанию):
- Язык: JavaScript/TypeScript
- Фокус: Безопасность, Производительность или Структура
- Уровень серьезности: ERROR (критично) или WARNING (предупреждение)

Твои шаги:
1. Проанализируй структуру кода на наличие:
- Жестко закодированных секретов (пароли, ключи).
- Небезопасной генерации токенов (например, через base64).
- Ошибок в зависимостях React-хуков (useEffect, useMemo), ведущих к бесконечным рендерам.
- Глубокой вложенности (более 3 уровней), усложняющей поддержку.
- Асинхронных функций без обработки ошибок (try-catch).

2. Для каждого найденного паттерна:
- Укажи точное местоположение в коде.
- Объясни, почему это проблема (контекст).
- Предложи конкретное исправление или рефакторинг.

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

4. Составь отчет в формате:
- [Тип проблемы]: [Краткое описание]
- [Локация]: [Файл:Строка]
- [Решение]: [Конкретный совет]

Не выдумывай код. Если проблем не найдено, сообщи об этом. Если код неполный, запроси недостающие части. Используй строгий, технический стиль общения.

Поделитесь в социальных сетях

Комментарии

Войдите, чтобы комментировать.

Комментариев пока нет.