Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
static-analysis — Курируемый каталог инструментов статического анализа (SAST) и линтеров для языков программирования, конфигураций, сборочных инструментов и CI, направленных на повышение качества кода. | Kitploit
Инструменты/GitHubGitHub/analysis-tools-dev/static-analysis
Статический анализСтатический анализ кода (SAST)Анализ уязвимостейАнализ КодаDevSecOpsПодобранные Ресурсы
GitHubanalysis-tools-dev/static-analysis

static-analysis

Курируемый каталог инструментов статического анализа (SAST) и линтеров для языков программирования, конфигураций, сборочных инструментов и CI, направленных на повышение качества кода.

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться
РепозиторийСайт
14.7k1.5k2 месяцев назадПроверено Kitploit
Analysis Tools Website

В этом репозитории перечислены инструменты статического анализа для всех языков программирования, сборочных инструментов, конфигурационных файлов и многого другого. Основное внимание уделяется инструментам, повышающим качество кода, таким как линтеры и форматтеры. Официальный веб-сайт analysis-tools.dev основан на этом репозитории и дополняет его рейтингами, комментариями пользователей и дополнительными ресурсами, такими как видеоролики для каждого инструмента.

Website CI Links

Спонсоры

Этот проект был бы невозможен без щедрой поддержки наших спонсоров.

Pixee

Если вы тоже хотите поддержать этот проект, зайдите на нашу страницу спонсоров на GitHub.

Значение символов:

  • ©️ — проприетарное программное обеспечение. Все остальные инструменты являются открытым программным обеспечением (Open Source).
  • ℹ️ — сообщество больше не рекомендует использовать этот инструмент для новых проектов. Иконка ведёт к обсуждению в issue.
  • ⚠️ — инструмент не обновлялся более 1 года, или репозиторий был архивирован.

Пул-реквесты очень приветствуются!
Также загляните в родственный проект — awesome-dynamic-analysis.

Оглавление

Языки программирования

Несколько языков

Прочее

Показать прочее

Языки программирования

ABAP

  • abaplint — Линтер для ABAP, написанный на TypeScript.

  • abapOpenChecks — Расширяет SAP Code Inspector новыми настраиваемыми проверками.

Ada

  • Polyspace for Ada ©️ — Обеспечивает верификацию кода, доказывающую отсутствие переполнений, деления на ноль, выхода за границы массива и некоторых других ошибок времени выполнения в исходном коде.

  • SPARK ©️ — Набор инструментов статического анализа и формальной верификации для Ada.

Assembly

  • STOKE ⚠️ — Стохастический оптимизатор, не зависящий от языка программирования, для набора инструкций x86_64. Он использует случайный поиск для исследования чрезвычайно многомерного пространства всех возможных преобразований программ.

Awk

  • gawk --lint — Предупреждает о конструкциях, которые вызывают сомнения или непереносимы для других реализаций awk.

C

  • Astrée ©️ — Astrée автоматически доказывает отсутствие ошибок времени выполнения и некорректного конкурентного поведения в приложениях на C/C++. Он надёжен для вычислений с плавающей запятой, очень быстр и исключительно точен. Анализатор также проверяет правила написания кода MISRA/CERT/CWE/Adaptive Autosar и поддерживает квалификацию по стандартам ISO 26262, DO-178C уровня A и другим стандартам безопасности. Доступны плагины для Jenkins и Eclipse.

  • CBMC — Ограниченный модель-чекер для программ на C: пользовательские и стандартные утверждения (assertions), несколько видов анализа метрик покрытия.

  • clang-tidy — Линтер для C++ на основе Clang с (ограниченной) возможностью исправления проблем.

  • clazy — Ориентированный на Qt статический анализатор кода на основе фреймворка Clang. clazy — это плагин компилятора, который позволяет clang понимать семантику Qt. Вы получаете более 50 предупреждений компилятора, связанных с Qt, — от ненужных выделений памяти до неправильного использования API, включая fix-it для автоматического рефакторинга.

  • CMetrics — Измеряет размер и сложность файлов на C.

  • CPAchecker — Инструмент для настраиваемой верификации программ на C. Название CPAchecker выбрано для отражения того, что инструмент основан на концепциях CPA и используется для проверки программ.

  • cppcheck — Статический анализ кода C/C++.

  • CppDepend ©️ — Измеряйте, запрашивайте и визуализируйте свой код, чтобы избегать непредвиденных проблем, технического долга и сложности.

  • cpplint — Автоматический проверщик C++, следующий руководству по стилю Google.

  • cqmetrics — Метрики качества для кода на C.

  • CScout — Метрики сложности и качества для кода на C и кода препроцессора C.

C#

  • .NET Analyzers — Организация по разработке анализаторов (диагностик и исправлений кода) с использованием .NET Compiler Platform.

  • ArchUnitNET — Библиотека архитектурного тестирования на C# для описания и проверки архитектурных правил в C# при автоматизированном тестировании.

  • code-cracker — Библиотека анализаторов для C# и VB, использующая Roslyn для рефакторинга, анализа кода и других полезных функций.

  • CSharpEssentials ⚠️ — C# Essentials — это коллекция диагностических анализаторов Roslyn, исправлений кода и рефакторингов, упрощающих работу с возможностями языка C# 6.

  • Designite ©️ — Designite поддерживает обнаружение различных архитектурных, проектных и реализационных «запахов» кода, вычисление различных метрик качества кода и анализ тенденций.

  • Gendarme — Gendarme проверяет программы и библиотеки, содержащие код в формате ECMA CIL (Mono и .NET).

  • Infer# ⚠️ — InferSharp (также называемый Infer#) — это межпроцедурный и масштабируемый статический анализатор кода для C#. Используя возможности Facebook Infer, этот инструмент обнаруживает разыменование нулевых указателей и утечки ресурсов.

  • Meziantou.Analyzer — Анализатор Roslyn для обеспечения соблюдения некоторых хороших практик в C# в отношении проектирования, использования, безопасности, производительности и стиля.

  • NDepend ©️ — Измеряйте, запрашивайте и визуализируйте свой код, чтобы избегать непредвиденных проблем, технического долга и сложности.

  • Puma Scan — Puma Scan обеспечивает анализ безопасности кода в реальном времени на предмет распространённых уязвимостей (XSS, SQLi, CSRF, LDAPi, криптографии, десериализации и т. д.) в то время, когда команды разработчиков пишут код в Visual Studio.

  • Roslynator — Коллекция из более чем 190 анализаторов и более чем 190 рефакторингов для C# на базе Roslyn.

C++

  • Astrée ©️ — Astrée автоматически доказывает отсутствие ошибок времени выполнения и некорректного конкурентного поведения в приложениях на C/C++. Он надёжен для вычислений с плавающей запятой, очень быстр и исключительно точен. Анализатор также проверяет правила написания кода MISRA/CERT/CWE/Adaptive Autosar и поддерживает квалификацию по стандартам ISO 26262, DO-178C уровня A и другим стандартам безопасности. Доступны плагины для Jenkins и Eclipse.

  • CBMC — Ограниченный модель-чекер для программ на C: пользовательские и стандартные утверждения (assertions), несколько видов анализа метрик покрытия.

  • clang-tidy — Линтер для C++ на основе Clang с (ограниченной) возможностью исправления проблем.

  • clazy — Ориентированный на Qt статический анализатор кода на основе фреймворка Clang. clazy — это плагин компилятора, который позволяет clang понимать семантику Qt. Вы получаете более 50 предупреждений компилятора, связанных с Qt, — от ненужных выделений памяти до неправильного использования API, включая fix-it для автоматического рефакторинга.

  • CMetrics — Измеряет размер и сложность файлов на C.

  • cppcheck — Статический анализ кода C/C++.

  • CppDepend ©️ — Измеряйте, запрашивайте и визуализируйте свой код, чтобы избегать непредвиденных проблем, технического долга и сложности.

  • cpplint — Автоматический проверщик C++, следующий руководству по стилю Google.

  • cqmetrics — Метрики качества для кода на C.

  • CScout — Метрики сложности и качества для кода на C и кода препроцессора C.

  • ENRE-cpp ⚠️ — ENRE (ENtity Relationship Extractor) — это инструмент для извлечения зависимостей или связей между сущностями кода из исходного кода. ENRE-cpp — это извлекатель связей сущностей для C/C++ на основе @eclipse/CDT. (В разработке)

Clojure

  • clj-kondo — Линтер для Clojure-кода, который приносит радость. Он сообщает о потенциальных ошибках прямо во время ввода.

CoffeeScript

  • coffeelint ⚠️ — Проверщик стиля, который помогает поддерживать CoffeeScript-код в чистоте и согласованности.

ColdFusion

  • Fixinator ©️ — Статический анализ безопасности кода ColdFusion или CFML. Разработан для работы в конвейере CI или из терминала разработчика.

Crystal

  • ameba — Инструмент статического анализа кода для Crystal.

  • crystal — Компилятор Crystal имеет встроенную функциональность линтинга.

Dart

  • Dart Code Metrics ⚠️ — Дополнительный линтер для Dart. Сообщает метрики кода, проверяет анти-паттерны и предоставляет дополнительные правила для анализатора Dart.

  • effective_dart — Правила линтера, соответствующие рекомендациям Effective Dart

  • lint ⚠️ — Субъективный, развиваемый сообществом набор правил линтера для проектов Dart и Flutter. Как pedantic, но строже

  • Linter for dart ⚠️ — Линтер стиля для Dart.

Delphi

  • DelphiLint — Пакет для Delphi IDE, обеспечивающий анализ кода и линтинг на лету на основе SonarDelphi.

  • Fix Insight ©️ — Бесплатный плагин IDE для статического анализа кода. Редакция Pro включает инструмент командной строки для целей автоматизации.

  • Pascal Analyzer ©️ — Инструмент статического анализа кода с многочисленными отчётами. Доступна бесплатная версия Lite с ограниченной отчётностью.

  • Pascal Expert ©️ — Плагин IDE для анализа кода. Включает подмножество возможностей отчётности Pascal Analyzer и доступен для Delphi версий 2007 и новее.

  • SonarDelphi — Статический анализатор Delphi для платформы качества кода SonarQube.

Dlang

  • D-scanner — D-Scanner — инструмент для анализа исходного кода D.

Elixir

  • credo — Инструмент статического анализа кода, ориентированный на согласованность кода и обучение.

  • dialyxir — Задачи Mix для упрощения использования Dialyzer в проектах Elixir.

  • sobelow — Статический анализ, ориентированный на безопасность, для Phoenix Framework.

Elm

  • elm-analyse ⚠️ — Инструмент, который позволяет анализировать ваш Elm-код, выявлять недостатки и применять лучшие практики.

  • elm-review — Анализирует целые проекты Elm, с акцентом на переиспользуемые и пользовательские правила, написанные на Elm, которые добавляют гарантии, отсутствующие у компилятора Elm.

Erlang

  • dialyzer — DIALYZER, анализатор расхождений (DIscrepancy AnaLYZER) для программ на Erlang. Dialyzer — это инструмент статического анализа, который выявляет расхождения в программном обеспечении, такие как определённые ошибки типов, код, ставший мёртвым или недостижимым из-за ошибок программирования, и ненужные проверки, в отдельных модулях Erlang или в целых (наборах) приложений. Dialyzer начинает анализ либо с отладочно-скомпилированного BEAM-байткода, либо с исходного кода Erlang. Файл и номер строки расхождения сообщаются вместе с указанием, о чём именно это расхождение. Dialyzer основывает свой анализ на концепции success typings, что позволяет выдавать корректные предупреждения (без ложных срабатываний).

  • elvis — Ревьюер стиля Erlang.

  • Primitive Erlang Security Tool (PEST) ⚠️ — Инструмент для базового сканирования исходного кода Erlang и сообщения о любых вызовах функций, которые могут сделать исходный код Erlang небезопасным.

F#

  • fantomas — Форматировщик исходного кода F#.

  • FSharpLint — Инструмент линтинга для F#.

  • ionide-analyzers — Коллекция анализаторов F#, построенная на FSharp.Analyzers.SDK.

Fortran

  • Fortitude — Линтер для Fortran, вдохновлённый Ruff (и построенный на нём) и основанный на лучших практиках сообщества. Поддерживает последний стандарт Fortran (2023).

  • fprettify — Автоформатировщик для современного исходного кода Fortran, написанный на Python. Fprettify — это инструмент, который обеспечивает согласованные пробелы, отступы и выравнивание разделителей в коде, включая возможность изменения регистра букв и обработки директив препроцессора, при этом сохраняя историю ревизий и протестированный для интеграции с редакторами.

  • i-Code CNES for Fortran ⚠️ — Инструмент статического анализа кода с открытым исходным кодом для Fortran 77, Fortran 90 и Shell.

Go

  • aligncheck — Поиск неэффективно упакованных структур.

  • bodyclose — Проверяет, закрыто ли тело HTTP-ответа.

  • deadcode — Поиск неиспользуемого кода.

  • dingo-hunter ⚠️ — Статический анализатор для поиска взаимоблокировок (deadlocks) в Go.

  • dogsled — Поиск присваиваний/объявлений со слишком большим количеством пустых идентификаторов.

  • dupl — Сообщает о потенциально дублирующемся коде.

  • errcheck — Проверяет, что возвращаемые значения ошибок используются.

  • errwrap ⚠️ — Обёртывание и исправление ошибок Go с помощью новой директивы глагола %w. Этот инструмент анализирует вызовы fmt.Errorf() и сообщает о вызовах, содержащих директиву глагола, которая отличается от новой директивы %w, введённой в Go v1.13. Он также способен переписывать вызовы для использования новой директивы обёртывания %w.

  • flen — Получение информации о длине функций в Go-пакете.

  • Go Meta Linter ⚠️ — Параллельный запуск Go-линтеров и нормализация их вывода. Для новых проектов используйте golangci-lint.

  • go tool vet --shadow — Сообщает о переменных, которые могли быть случайно затенены.

  • go vet — Исследует исходный код Go и сообщает о подозрительных местах.

  • go-consistent ⚠️ — Анализатор, который помогает сделать ваши Go-программы более согласованными.

  • go-critic — Линтер исходного кода Go, поддерживающий проверки, которые в настоящее время не реализованы в других линтерах.

Groovy

  • CodeNarc — Инструмент статического анализа исходного кода Groovy, позволяющий контролировать и обеспечивать соблюдение множества стандартов кодирования и лучших практик.

Haskell

  • brittany ⚠️ — Форматировщик исходного кода Haskell

  • HLint — HLint — инструмент для предложения возможных улучшений кода Haskell.

  • Liquid Haskell — Liquid Haskell — это проверщик refinement-типов для программ на Haskell.

  • Stan — Stan — инструмент командной строки для анализа Haskell-проектов и вывода обнаруженных уязвимостей в удобном виде с возможными решениями для найденных проблем.

  • Weeder — Инструмент для обнаружения мёртвых экспортов или импортов пакетов в коде Haskell.

Haxe

  • Haxe Checkstyle — Инструмент статического анализа, помогающий разработчикам писать код Haxe, соответствующий стандарту кодирования.

Java

  • Checker Framework — Подключаемая проверка типов для Java. Это не просто поиск ошибок, а инструмент верификации, дающий гарантию корректности. Он поставляется с 27 готовыми системами типов и позволяет пользователям определять собственную систему типов; в руководстве перечислено более 30 систем типов, созданных пользователями.

  • checkstyle — Проверка исходного кода Java на соответствие стандарту кодирования или набору правил валидации (лучших практик).

  • ck — Вычисляет объектно-ориентированные метрики Чидамбера и Кемерера, обрабатывая исходные файлы Java.

  • ckjm — Вычисляет объектно-ориентированные метрики Чидамбера и Кемерера, обрабатывая байткод скомпилированных файлов Java.

  • CogniCrypt ⚠️ — Проверяет исходный код и байткод Java на некорректное использование криптографических API.

  • Dataflow Framework — Промышленный фреймворк анализа потоков данных для Java. Dataflow Framework используется в Checker Framework, Google Error Prone, Uber NullAway, Meta Nullsafe и в других контекстах. Он распространяется вместе с Checker Framework.

  • DesigniteJava ©️ — DesigniteJava поддерживает обнаружение различных архитектурных, проектных и реализационных запахов кода, а также вычисление различных метрик качества кода.

  • Diffblue ©️ — Diffblue — компания-разработчик ПО, предоставляющая решения для анализа кода и тестирования на основе ИИ для команд разработки программного обеспечения. Её технологии помогают разработчикам автоматизировать тестирование, находить ошибки и сокращать ручной труд в процессах разработки ПО. Основной продукт компании, Diffblue Cover, использует ИИ для генерации и запуска модульных тестов для Java-кода, помогая выявлять ошибки и повышать качество кода.

  • Doop — Doop — декларативный фреймворк для статического анализа программ на Java/Android, сфокусированный на алгоритмах анализа указателей. Doop предоставляет большое разнообразие анализов, а также сопутствующую инфраструктуру для запуска анализа от начала до конца (генерация фактов, обработка, статистика и т.д.).

JavaScript

  • aether ⚠️ — Линтинг, анализ, нормализация, трансформация, песочница, запуск, пошаговое выполнение и визуализация пользовательского JavaScript в Node или браузере.

  • Closure Compiler — Инструмент-компилятор для повышения эффективности, уменьшения размера и выдачи предупреждений о коде в JavaScript-файлах.

  • ClosureLinter ⚠️ — Гарантирует, что весь JavaScript-код вашего проекта соответствует рекомендациям Google JavaScript Style Guide. Также может автоматически исправлять многие распространённые ошибки.

  • complexity-report ⚠️ — Анализ сложности программного обеспечения для JavaScript-проектов.

  • DeepScan ©️ — Анализатор для JavaScript, нацеленный на ошибки времени выполнения и проблемы качества, а не на соглашения о написании кода.

  • es6-plato ⚠️ — Визуализация сложности исходного кода JavaScript (ES6).

  • escomplex — Анализ сложности программного обеспечения абстрактных синтаксических деревьев семейства JavaScript.

  • Esprima ⚠️ — Инфраструктура разбора ECMAScript для многоцелевого анализа.

  • flow — Статический проверщик типов для JavaScript.

  • hegel ⚠️ — Статический проверщик типов для JavaScript с уклоном в вывод типов и строгие системы типов.

  • jshint ℹ️ — Обнаруживает ошибки и потенциальные проблемы в JavaScript-коде и обеспечивает соблюдение стандартов кодирования вашей команды.

  • JSLint ℹ️ — Инструмент контроля качества JavaScript-кода.

  • JSPrime ⚠️ — Инструмент статического анализа безопасности.

Julia

  • JET — Система статического вывода типов для обнаружения ошибок и нестабильности типов.

  • StaticLint — Статический анализ кода для Julia

Kotlin

  • detekt — Статический анализ кода для Kotlin.

  • diktat ⚠️ — Строгий стандарт кодирования для Kotlin и линтер, который обнаруживает и автоматически исправляет запахи кода.

  • ktfmt — Программа, переформатирующая исходный код Kotlin в соответствии с общим стандартом сообщества по соглашениям Kotlin. Плагин ktfmt для IntelliJ доступен в репозитории плагинов. Чтобы установить его, перейдите в настройки вашей IDE и выберите категорию «Плагины». Нажмите вкладку Marketplace, найдите плагин ktfmt и нажмите кнопку Install.

  • ktlint — Kotlin-линтер против споров о мелочах со встроенным форматтером.

Lua

  • luacheck — Инструмент для линтинга и статического анализа Lua-кода.

  • lualint — lualint выполняет статический анализ использования глобальных переменных в исходном коде Lua на основе luac.

  • Luanalysis ⚠️ — IDE для разработки на Lua со статической типизацией.

MATLAB

  • MISS_HIT ⚠️ — MISS_HIT — это бесплатный инструментарий качества кода с открытым исходным кодом для MATLAB, Simulink и Octave. Включает MH Style (проверка стиля и форматирование), MH Metrics (метрики сложности), MH Lint (статический анализ), MH Trace (трассировка требований) и MH Copyright (управление авторскими правами). Спроектирован для автономной работы без необходимости установки MATLAB/Octave.

  • mlint ©️ — Проверяет файлы MATLAB-кода на возможные проблемы.

Nim

  • DrNim — DrNim объединяет фронтенд Nim с механизмом доказательств Z3, чтобы позволить проверять / валидировать программное обеспечение, написанное на Nim.

  • nimfmt ⚠️ — Форматтер / линтер / проверщик стиля кода Nim

Ocaml

  • Sys — Статический/символический инструмент для поиска ошибок в (браузерном) коде. Он использует LLVM AST для поиска таких ошибок, как доступ к неинициализированной памяти.

  • VeriFast — Инструмент модульной формальной проверки свойств корректности однопоточных и многопоточных программ на C и Java, аннотированных предусловиями и постусловиями, записанными в логике разделения. Чтобы выражать богатые спецификации, программист может определять индуктивные типы данных, примитивные рекурсивные чистые функции над этими типами и абстрактные предикаты логики разделения.

PHP

  • CakeFuzzer — Инструмент тестирования безопасности веб-приложений на основе CakePHP. CakeFuzzer использует предопределённый набор атак, которые случайным образом модифицируются перед выполнением. Благодаря глубокому пониманию фреймворка CakePHP, Cake Fuzzer запускает атаки на все потенциальные точки входа приложения.

  • churn-php — Помогает находить хороших кандидатов для рефакторинга.

  • composer-dependency-analyser — Быстрое обнаружение проблем с зависимостями Composer.

  • 💪 Мощный: обнаруживает неиспользуемые, теневые и неправильно размещённые зависимости Composer
  • ⚡ Производительный: сканирует 15 000 файлов за 2 секунды!
  • ⚙️ Настраиваемый: тонкая настройка игнорирования через PHP-конфигурацию
  • 🕸️ Лёгкий: без зависимостей Composer
  • 🍰 Простой в использовании: конфигурация не требуется с первого запуска
  • ✨ Совместимый: PHP >= 7.2
  • dephpend — Инструмент анализа зависимостей.

  • deprecation-detector — Находит использование устаревшего (Symfony) кода.

  • deptrac — Принудительно применяет правила для зависимостей между слоями программного обеспечения.

  • DesignPatternDetector — Обнаружение паттернов проектирования в PHP-коде.

  • EasyCodingStandard — Объединяет PHP_CodeSniffer и PHP-CS-Fixer.

  • Enlightn ⚠️ — Инструмент статического и динамического анализа для Laravel-приложений, который предоставляет рекомендации по улучшению производительности, безопасности и надёжности кода Laravel-приложений. Содержит 120 автоматических проверок.

  • exakat — Автоматизированный движок ревью кода для PHP.

  • GrumPHP — Проверяет код при каждом коммите.

  • larastan — Добавляет статический анализ в Laravel, повышая продуктивность разработчиков и качество кода. Это обёртка над PHPStan.

  • mago — Mago — это полный инструментарий для PHP, написанный на Rust и спроектированный с нуля для максимальной производительности.

  • ✨ Молниеносный форматтер, который автоматически форматирует ваш код в соответствии с PER-CS, навсегда прекращая споры о стиле. - 🔎 Интеллектуальный линтер, который выявляет стилистические проблемы, несоответствия и запахи кода до того, как они станут проблемами. - 🔬 Мощный статический анализатор, который находит ошибки типов и логические баги в вашем коде без необходимости его запуска. - 🛡️ Надёжный архитектурный страж, который обеспечивает соблюдение правил зависимостей и структурных соглашений.

  • Mondrian ⚠️ — Набор инструментов статического анализа и рефакторинга, использующих теорию графов.

PL/SQL

  • ZPA — Парсер и анализатор кода с открытым исходным кодом для PL/SQL и Oracle SQL.

Perl

  • Perl::Analyzer — Perl-Analyzer — это набор программ и модулей, позволяющих пользователям анализировать и визуализировать Perl-кодовые базы, предоставляя информацию о пространствах имён и их связях, зависимостях, наследовании, а также методах, реализованных, унаследованных и переопределённых в пакетах, и вызовах методов из родительских пакетов через SUPER.

  • Perl::Critic — Критикует исходный код Perl на предмет лучших практик.

  • perltidy — Perltidy — это Perl-скрипт, который делает отступы и переформатирует Perl-скрипты, чтобы их было легче читать. Форматированием можно управлять с помощью параметров командной строки. Значения параметров по умолчанию приблизительно следуют рекомендациям из Perl Style Guide. Помимо переформатирования скриптов, Perltidy может быть очень полезен при поиске ошибок, связанных с отсутствующими или лишними фигурными скобками, круглыми и квадратными скобками, поскольку он отлично локализует ошибки.

  • zarn — Лёгкий инструмент статического анализа безопасности для современных Perl-приложений.

Python

  • autoflake — Autoflake удаляет неиспользуемые импорты и неиспользуемые переменные из Python-кода.

  • autopep8 — Инструмент, который автоматически форматирует Python-код в соответствии со стилем PEP 8. Он использует утилиту pycodestyle для определения того, какие части кода необходимо отформатировать.

  • bandit — Инструмент для поиска распространённых проблем безопасности в Python-коде.

  • bellybutton — Линтинг-движок с поддержкой пользовательских правил для конкретного проекта.

  • Black — Бескомпромиссный форматтер Python-кода.

  • Bowler — Безопасный рефакторинг кода для современного Python. Bowler — это инструмент рефакторинга для работы с Python на уровне синтаксического дерева. Он обеспечивает безопасные масштабные изменения кода, гарантируя, что результирующий код компилируется и работает. Он предоставляет как простой интерфейс командной строки, так и выразительный API на Python для создания сложных модификаций кода.

  • ciocheck ⚠️ — Линтер, форматтер и помощник для тестового набора. Как линтер, это обёртка вокруг pep8, pydocstyle, flake8 и pylint.

  • cohesion ⚠️ — Инструмент для измерения связности классов Python.

  • deal — Контрактное программирование для Python. Пишите код без ошибок. Добавив несколько декораторов в свой код, вы бесплатно получаете тесты, статический анализ, формальную проверку и многое другое.

R

  • CodeDepends — Статический анализ кода для R.

  • cyclocomp — Количественно оценивает цикломатическую сложность функций/выражений R.

  • flowR — Слайсер программ и анализатор потоков данных для языка программирования R. Его слайсер позволяет сократить сложную программу до частей, относящихся к конкретной задаче (например, создание одного или набора графиков, проверка значимости и т. д.). Анализ потоков данных предоставляет детальное представление о семантике кода R, что может значительно улучшить другие виды анализа. Чтобы использовать flowR, ознакомьтесь с расширением Visual Studio Code, надстройкой RStudio, Docker-образом или R-пакетом.

  • goodpractice — Анализирует исходный код R-пакетов и даёт рекомендации по лучшим практикам.

  • lintr — Статический анализ кода для R.

  • R Language Server — Предоставляет автодополнение кода, рефакторинг, свёртывание, диагностику (с помощью lintr) и многое другое для R.

  • rco — Оптимизатор производительности для кода R (с графическим интерфейсом).

  • styler — Форматирование исходных файлов R и «красивая печать» кода R.

Rego

  • Regal — Regal — это линтер для языка политик Rego. Regal стремится выявлять ошибки и недочёты в коде политик, одновременно помогая людям изучать язык, лучшие практики и идиоматические конструкции.

Ruby

  • Active Record Doctor — Выявляет проблемы базы данных до того, как они попадут в продакшен.

  • brakeman — Сканер уязвимостей безопасности на основе статического анализа для приложений Ruby on Rails.

  • Bullet — Помогает устранить N+1 запросы и неиспользуемую жадную загрузку.

  • bundler-audit — Проверяет Gemfile.lock на наличие гемов с уязвимостями безопасности, сообщёнными в Ruby Advisory Database.

  • cane ⚠️ — Проверка пороговых значений качества кода как часть вашей сборки.

  • Churn ⚠️ — Проект, показывающий изменяющиеся (churn) файлы, классы и методы для проекта на заданный коммит. Со временем инструмент накапливает историю изменений, чтобы показать, сколько раз файл, класс или метод менялся за время жизни проекта.

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

  • dawnscanner — Сканер уязвимостей безопасности на основе статического анализа для веб-приложений, написанных на Ruby. Поддерживает фреймворки Sinatra, Padrino и Ruby on Rails.

  • ERB Lint — Выполняет линтинг ваших ERB- и HTML-файлов.

  • ERB::Formatter — Форматирует ERB-файлы быстро и точно.

  • Fasterer — Проверка распространённых идиом Ruby.

  • flay — Flay анализирует код на структурные сходства.

  • flog — Flog сообщает о наиболее «мучительном» коде в лёгком для чтения отчёте о боли. Чем выше оценка, тем больше боли в коде.

Rust

  • C2Rust — C2Rust помогает перенести C99-совместимый код на Rust. Транслятор (или транспилятор) создаёт unsafe-код Rust, который близко повторяет входной код C.

  • cargo udeps — Находит неиспользуемые зависимости в Cargo.toml. Он либо выводит строку «unused crates» со списком крейтов, либо выводит строку о том, что неиспользуемых крейтов нет.

  • cargo-audit — Проверяет Cargo.lock на наличие крейтов с уязвимостями безопасности, сообщёнными в RustSec Advisory Database.

  • cargo-bloat ⚠️ — Выясняет, что занимает больше всего места в вашем исполняемом файле. Поддерживает ELF (Linux, BSD), Mach-O (macOS) и PE (Windows) бинарные файлы.

  • cargo-breaking — cargo-breaking сравнивает публичный API крейта между двумя разными ветками, показывает, что изменилось, и предлагает следующую версию в соответствии с semver.

  • cargo-call-stack — Статический анализ стека всей программы. Инструмент создаёт полный граф вызовов программы в виде dot-файла.

  • cargo-deny — Плагин cargo для линтинга ваших зависимостей. Его можно использовать как инструмент командной строки, крейт Rust или действие GitHub для CI. Он проверяет корректность информации о лицензиях, дубликаты крейтов, уязвимости безопасности и многое другое.

  • cargo-expand — Подкоманда cargo для отображения результата раскрытия макросов и #[derive], применённого к текущему крейту. Это обёртка над более подробной командой компилятора.

  • cargo-geiger — Плагин cargo для анализа использования unsafe-кода Rust. Предоставляет статистический вывод для помощи в аудите безопасности.

  • cargo-inspect ⚠️ — Просматривает код Rust без синтаксического сахара, чтобы увидеть, что компилятор делает за кулисами.

  • cargo-semver-checks — Сканирует выпуски ваших крейтов Rust на нарушения semver. Его можно использовать напрямую через CLI, как GitHub Action в CI или через менеджеры релизов, такие как . Он выявил нарушения semver в на crates.io.

  • Безопасность памяти (например, разыменование нулевых указателей)
  • Пользовательские утверждения (например, assert!(...))
  • Отсутствие паник (например, unwrap() для значений None)
  • Отсутствие некоторых типов неожиданного поведения (например, арифметических переполнений)
  • linter-rust ⚠️ — Линтинг ваших Rust-файлов в Atom с использованием rustc и cargo.

  • lockbud — Статически обнаруживает ошибки взаимоблокировок (deadlock) в Rust. В настоящее время обнаруживает два распространённых вида взаимоблокировок: двойную блокировку и блокировки в конфликтующем порядке. Выводит ошибки в формате JSON вместе с местоположением в исходном коде и объяснением каждой ошибки.

  • MIRAI ⚠️ — Абстрактный интерпретатор, работающий над промежуточным языком среднего уровня Rust и выдающий предупреждения на основе taint-анализа.

  • prae ⚠️ — Предоставляет удобный макрос, позволяющий генерировать обёртки типов, которые гарантируют всегда соблюдать произвольные инварианты, заданные вами.

  • Prusti ⚠️ — Статический верификатор для Rust, основанный на инфраструктуре верификации Viper. По умолчанию Prusti проверяет отсутствие паник, доказывая, что такие операторы, как unreachable!() и panic!(), недостижимы.

  • Rudra — Обнаружение проблем безопасности памяти и неопределённого поведения в Rust. Он способен анализировать как отдельные пакеты Rust, так и все пакеты на crates.io.

  • Rust Language Server ⚠️ — Поддерживает такие функции, как 'переход к определению', поиск символов, переформатирование и автодополнение кода, а также обеспечивает переименование и рефакторинг.

  • rust-analyzer — Поддерживает такие функции, как 'переход к определению', вывод типов, поиск символов, переформатирование и автодополнение кода, а также обеспечивает переименование и рефакторинг.

  • rust-audit — Проверяет бинарные файлы Rust на известные ошибки или уязвимости безопасности. Это работает путём встраивания данных о дереве зависимостей (Cargo.lock) в формате JSON в специальную секцию линкера скомпилированного исполняемого файла.

  • rustfix — Читает и применяет предложения, сделанные rustc (и сторонними линтерами, такими как clippy).

  • rustfmt — Инструмент для форматирования кода Rust в соответствии с рекомендациями по стилю.

  • RustViz — RustViz — это инструмент, который генерирует визуализации из простых программ Rust, чтобы помочь пользователям лучше понять механизм времени жизни (Lifetime) и заимствования (Borrowing) в Rust. Он создаёт SVG-файлы с графическими индикаторами, которые интегрируются с mdbook для отображения визуализаций потоков данных в программах Rust.

SQL

  • dbcritic — dbcritic находит проблемы в схеме базы данных, например отсутствие ограничения первичного ключа в таблице.

  • holistic — Более 1300 правил для анализа SQL-запросов. Принимает определение схемы SQL и исходный код запросов для генерации рекомендаций по улучшению. Обнаруживает «запахи» кода, неиспользуемые индексы, неиспользуемые таблицы, представления, материализованные представления и многое другое.

  • pgspot — Выявляет уязвимости в скриптах расширений Postgres. Находит небезопасное использование search_path и небезопасное создание объектов в скриптах расширений PostgreSQL или любом другом SQL-коде PostgreSQL.

  • sleek — Sleek — это CLI-инструмент для форматирования SQL. Он помогает поддерживать единый стиль в вашем SQL-коде, повышая читаемость и продуктивность. Основную работу выполняет крейт sqlformat.

  • sqlcheck ⚠️ — Автоматически выявляет анти-паттерны в SQL-запросах.

  • SQLFluff — Линтер и форматировщик SQL с поддержкой нескольких диалектов.


Read more

Скачать инструмент
ABAPErlangPL/SQL
AdaF#Perl
AssemblyFortranPython
AwkGoR
CGroovyRego
C#HaskellRuby
C++HaxeRust
ClojureJavaSQL
CoffeeScriptJavaScriptScala
ColdFusionJuliaShell
CrystalKotlinSwift
DartLuaTcl
DelphiMATLABTypeScript
DlangNimVerilog/SystemVerilog
ElixirOcamlVim Script
ElmPHPWebAssembly
.envВстроенный Ruby (a.k.a. ERB, eRuby)Prometheus
AnsibleGherkinProtocol Buffers
АрхивыHTMLPuppet
Azure Resource ManagerJSONRails
Бинарные файлыKubernetesБезопасность/SAST
Сборочные инструментыLaTeXСмарт-контракты
CSS/SASS/SCSSLaravelПоддержка
Конфигурационные файлыMakefile-файлыШаблонные языки
Управление конфигурациейMarkdownTerraform
КонтейнерыМета-линтерыПеревод
Непрерывная интеграцияМобильная разработкаVue.js
DenoNixНаписание текстов
DockerfileNode.jsYAML
Встраиваемые системыПакетыgit
  • ENRE-cpp ⚠️ — ENRE (ENtity Relationship Extractor) — это инструмент для извлечения зависимостей или связей между сущностями кода из исходного кода. ENRE-cpp — это извлекатель связей сущностей для C/C++ на основе @eclipse/CDT. (В разработке)

  • ESBMC — ESBMC — это открытый, распространяемый под разрешительной лицензией, контекстно-ограниченный модель-чекер, основанный на выполнимости по модулю теорий (satisfiability modulo theories), для верификации одно- и многопоточных программ на C/C++.

  • flawfinder — Находит возможные слабые места в безопасности.

  • flint++ ⚠️ — Кроссплатформенный порт flint без зависимостей — программы линтинга для C++, разработанной и используемой в Facebook.

  • Frama-C — Надёжный и расширяемый статический анализатор для кода на C.

  • GCC — Компилятор GCC имеет возможности статического анализа, начиная с версии 10. Эта опция доступна только в том случае, если GCC был сконфигурирован с включённой поддержкой анализатора. Он также может выводить свою диагностику в JSON-файл в формате SARIF (начиная с v13).

  • Goblint — Статический анализатор для анализа многопоточных программ на C. Основное внимание уделяется обнаружению гонок данных, но он также сообщает о других ошибках времени выполнения, таких как переполнение буфера и разыменование нулевых указателей.

  • Helix QAC ©️ — Статический анализ корпоративного уровня для встраиваемого программного обеспечения. Поддерживает стандарты кодирования MISRA, CERT и AUTOSAR.

  • IKOS — Надёжный статический анализатор для кода C/C++ на основе LLVM.

  • KLEE — Механизм динамического символьного исполнения, построенный поверх инфраструктуры компилятора LLVM. Он может автоматически генерировать тестовые примеры для программ таким образом, чтобы эти тестовые примеры задействовали как можно большую часть программы.

  • LDRA ©️ — Набор инструментов, включающий статический анализ (TBVISION) по различным стандартам, включая MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ и пользовательские правила.

  • MATE ⚠️ — Набор инструментов для интерактивного анализа программ с упором на поиск ошибок в коде на C и C++. MATE объединяет анализ уязвимостей на уровне приложения и низкоуровневый анализ уязвимостей с помощью графов свойств кода (CPG), что позволяет обнаруживать узкоспецифичные для приложения уязвимости, зависящие как от деталей реализации, так и от высокоуровневой семантики целевых программ на C/C++.

  • PC-lint ©️ — Статический анализ для C/C++. Работает нативно в Windows/Linux/MacOS. Анализирует код практически для любой платформы, поддерживая C11/C18 и C++17.

  • Phasar — Фреймворк статического анализа на основе LLVM, который включает taint-анализ и анализ состояний типов.

  • Polyspace Bug Finder ©️ — Выявляет ошибки времени выполнения, проблемы параллелизма, уязвимости безопасности и другие дефекты во встраиваемом программном обеспечении на C и C++.

  • Polyspace Code Prover ©️ — Обеспечивает верификацию кода, доказывающую отсутствие переполнений, деления на ноль, выхода за границы массива и некоторых других ошибок времени выполнения в исходном коде на C и C++.

  • scan-build — Фронтенд для запуска Clang Static Analyzer, встроенного в Clang, через обычную сборку.

  • splint — Статический проверщик программ с поддержкой аннотаций.

  • SVF — Статический инструмент, обеспечивающий масштабируемый и точный межпроцедурный анализ зависимостей для программ на C и C++.

  • TrustInSoft Analyzer ©️ — Исчерпывающее обнаружение ошибок кодирования и связанных с ними уязвимостей безопасности. Это включает корректное обнаружение неопределённого поведения (переполнение буфера, выход за границы массива, разыменование нулевых указателей, использование после освобождения (use-after-free), деление на ноль, обращение к неинициализированной памяти, переполнение со знаком, недопустимая арифметика с указателями и т. д.), проверку потоков данных и управления, а также полную функциональную верификацию формальных спецификаций. Поддерживаются все версии C вплоть до C18 и C++ вплоть до C++20. TrustInSoft Analyzer получит квалификацию ISO 26262 во 2-м квартале 2023 года (TCL3). В комплект также входит проверщик MISRA C.

  • vera++ ⚠️ — Vera++ — это программируемый инструмент для верификации, анализа и трансформации исходного кода C++.

  • SonarAnalyzer.CSharp — Эти анализаторы Roslyn позволяют создавать чистый код (Clean Code), который является безопасным, надёжным и поддерживаемым, помогая находить и исправлять ошибки, уязвимости и «запахи» кода в вашей кодовой базе.

  • VSDiagnostics ⚠️ — Коллекция статических анализаторов на основе Roslyn, интегрирующаяся с Visual Studio.

  • Wintellect.Analyzers — Диагностические анализаторы и исправления кода для .NET Compiler Platform («Roslyn»).

  • ESBMC — ESBMC — это открытый, распространяемый под разрешительной лицензией, контекстно-ограниченный модель-чекер, основанный на выполнимости по модулю теорий (satisfiability modulo theories), для верификации одно- и многопоточных программ на C/C++.

  • flawfinder — Находит возможные слабые места в безопасности.

  • flint++ ⚠️ — Кроссплатформенный порт flint без зависимостей — программы линтинга для C++, разработанной и используемой в Facebook.

  • GCC — Компилятор GCC имеет возможности статического анализа, начиная с версии 10. Эта опция доступна только в том случае, если GCC был сконфигурирован с включённой поддержкой анализатора. Он также может выводить свою диагностику в JSON-файл в формате SARIF (начиная с v13).

  • Helix QAC ©️ — Статический анализ корпоративного уровня для встраиваемого программного обеспечения. Поддерживает стандарты кодирования MISRA, CERT и AUTOSAR.

  • IKOS — Надёжный статический анализатор для кода C/C++ на основе LLVM.

  • KLEE — Механизм динамического символьного исполнения, построенный поверх инфраструктуры компилятора LLVM. Он может автоматически генерировать тестовые примеры для программ таким образом, чтобы эти тестовые примеры задействовали как можно большую часть программы.

  • LDRA ©️ — Набор инструментов, включающий статический анализ (TBVISION) по различным стандартам, включая MISRA C & C++, JSF++ AV, CWE, CERT C, CERT C++ и пользовательские правила.

  • MATE ⚠️ — Набор инструментов для интерактивного анализа программ с упором на поиск ошибок в коде на C и C++. MATE объединяет анализ уязвимостей на уровне приложения и низкоуровневый анализ уязвимостей с помощью графов свойств кода (CPG), что позволяет обнаруживать узкоспецифичные для приложения уязвимости, зависящие как от деталей реализации, так и от высокоуровневой семантики целевых программ на C/C++.

  • PC-lint ©️ — Статический анализ для C/C++. Работает нативно в Windows/Linux/MacOS. Анализирует код практически для любой платформы, поддерживая C11/C18 и C++17.

  • Phasar — Фреймворк статического анализа на основе LLVM, который включает taint-анализ и анализ состояний типов.

  • Polyspace Bug Finder ©️ — Выявляет ошибки времени выполнения, проблемы параллелизма, уязвимости безопасности и другие дефекты во встраиваемом программном обеспечении на C и C++.

  • Polyspace Code Prover ©️ — Обеспечивает верификацию кода, доказывающую отсутствие переполнений, деления на ноль, выхода за границы массива и некоторых других ошибок времени выполнения в исходном коде на C и C++.- scan-build — Внешний интерфейс для запуска Clang Static Analyzer, встроенного в Clang, через обычную сборку.

  • splint — Статический проверщик программ с поддержкой аннотаций.

  • SVF — Статический инструмент, обеспечивающий масштабируемый и точный межпроцедурный анализ зависимостей для программ на C и C++.

  • TrustInSoft Analyzer ©️ — Исчерпывающее обнаружение ошибок кодирования и связанных с ними уязвимостей безопасности. Это включает корректное (sound) обнаружение неопределённого поведения (переполнение буферов, выход за границы массивов, разыменование нулевых указателей, use-after-free, деление на ноль, обращение к неинициализированной памяти, знаковые переполнения, недопустимая арифметика указателей и т.д.), проверку потоков данных и управления, а также полную функциональную верификацию формальных спецификаций. Поддерживаются все версии C до C18 и C++ до C++20 включительно. TrustInSoft Analyzer получит квалификацию ISO 26262 во 2-м квартале 2023 года (TCL3). Также включён проверщик MISRA C.

  • vera++ ⚠️ — Vera++ — программируемый инструмент для верификации, анализа и трансформации исходного кода C++.

  • go/ast — Пакет ast объявляет типы, используемые для представления синтаксических деревьев Go-пакетов.

  • goast — Инструмент статического анализа на основе AST (Abstract Syntax Tree) Go с Rego.

  • gochecknoglobals ⚠️ — Проверяет, что глобальные переменные отсутствуют.

  • goconst — Поиск повторяющихся строк, которые можно заменить константой.

  • gocyclo — Вычисление цикломатической сложности функций в исходном коде Go.

  • gofmt -s — Проверяет, правильно ли отформатирован код и не может ли он быть дополнительно упрощён.

  • gofumpt — Обеспечивает более строгий формат, чем gofmt, оставаясь обратно совместимым. То есть gofumpt принимает подмножество форматов, которые принимает gofmt. Инструмент является форком gofmt по состоянию на Go 1.19 и требует Go 1.18 или новее. Его можно использовать как готовую замену для форматирования вашего Go-кода, и запуск gofmt после gofumpt не должен давать изменений. gofumpt никогда не добавит правил, противоречащих форматированию gofmt. То есть мы расширяем gofmt, а не конкурируем с ним.

  • goimports — Проверяет отсутствующие или неиспользуемые импорты пакетов.

  • gokart — Анализ безопасности Golang с акцентом на минимизацию ложных срабатываний. Он способен прослеживать источники переменных и аргументов функций, чтобы определить, безопасны ли входные источники.

  • GolangCI-Lint — Быстрый запускатор линтеров для Go. Он объединяет несколько Go-линтеров и предоставляет единую конфигурацию, кэширование и формат вывода. Альтернатива Go Meta Linter.

  • golint — Выводит ошибки стиля кодирования в исходном коде Go.

  • goreporter — Параллельно запускает множество линтеров и нормализует их вывод в отчёт.

  • goroutine-inspect — Интерактивный инструмент для анализа дампа горутин Golang.

  • gosec (gas) — Проверяет исходный код на проблемы безопасности, сканируя AST Go.

  • gotype — Синтаксический и семантический анализ, аналогичный компилятору Go.

  • govulncheck — Govulncheck сообщает об известных уязвимостях, затрагивающих код Go. Он использует статический анализ исходного кода или таблицы символов двоичного файла, чтобы сузить отчёты только до тех, которые могут повлиять на приложение. По умолчанию govulncheck отправляет запросы к базе данных уязвимостей Go по адресу https://vuln.go.dev. Запросы к базе данных уязвимостей содержат только пути модулей, а не код или другие свойства вашей программы.

  • ineffassign — Обнаружение неэффективных присваиваний в коде Go.

  • interfacer ⚠️ — Предлагает более узкие интерфейсы, которые можно использовать.

  • lll — Сообщает о слишком длинных строках.

  • maligned ⚠️ — Обнаружение структур, которые занимали бы меньше памяти, если бы их поля были отсортированы.

  • misspell — Поиск часто неправильно написанных английских слов.

  • nakedret ⚠️ — Поиск возвратов без указания значений (naked returns).

  • nargs — Поиск неиспользуемых аргументов в объявлениях функций.

  • OSV-Scanner — Сканер уязвимостей, написанный на Go и использующий данные, предоставляемые OSV.dev. Разработан Google для сканирования зависимостей на нескольких языках и в нескольких менеджерах пакетов на предмет известных уязвимостей. Поддерживает сканирование контейнеров, сканирование лицензий и направленное исправление (guided remediation). Работает с lock-файлами, SBOM и образами контейнеров для выявления проблем безопасности.

  • prealloc — Поиск объявлений срезов, которые потенциально могут быть предварительно выделены.

  • Reviewdog — Инструмент для публикации комментариев ревью из любого линтера в любом сервисе хостинга кода.

  • revive — Быстрый, настраиваемый, расширяемый, гибкий и красивый линтер для Go. Готовая замена golint.

  • safesql ⚠️ — Инструмент статического анализа для Golang, защищающий от SQL-инъекций.

  • shisho ⚠️ — Лёгкий статический анализатор кода, предназначенный для разработчиков и команд безопасности. Он позволяет анализировать и преобразовывать исходный код с помощью интуитивно понятного DSL, похожего на sed, но для кода.

  • staticcheck — Статический анализ Go, специализирующийся на поиске ошибок, упрощении кода и повышении производительности.

  • structcheck — Поиск неиспользуемых полей структур.

  • structslop — Статический анализатор для Go, который рекомендует перестановку полей структур для обеспечения максимальной эффективности пространства/выделения памяти

  • test — Показывает расположение ошибок тестов из модуля тестирования стандартной библиотеки.

  • unconvert ⚠️ — Обнаружение избыточных преобразований типов.

  • unparam — Поиск неиспользуемых параметров функций.

  • varcheck — Поиск неиспользуемых глобальных переменных и констант.

  • wsl — Обеспечивает наличие пустых строк в правильных местах.

  • ENRE-java ⚠️ — ENRE (ENtity Relationship Extractor) — инструмент для извлечения зависимостей или связей сущностей кода из исходного кода. ENRE-java — это экстрактор связей сущностей для проектов Java, основанный на @Eclipse JDT/parser.

  • Error Prone — Ловит распространённые ошибки Java как ошибки времени компиляции.

  • fb-contrib — Плагин для FindBugs с дополнительными детекторами ошибок.

  • forbidden-apis — Обнаруживает и запрещает вызовы конкретных методов/классов/полей (например, чтение из текстового потока без кодировки). Совместим с Maven/Gradle/Ant.

  • google-java-format — Переформатирует исходный код Java в соответствии с Google Java Style

  • HuntBugs ⚠️ — Инструмент статического анализа байткода на основе Procyon Compiler Tools, призванный заменить FindBugs.

  • IntelliJ IDEA ©️ — Поставляется со множеством проверок для Java и Kotlin и включает инструменты для рефакторинга, форматирования и многого другого.

  • JArchitect ©️ — Измеряйте, запрашивайте и визуализируйте свой код и избегайте неожиданных проблем, технического долга и сложности.

  • JBMC — Ограниченный модель-чекер (bounded model checker) для Java (байткода), проверяет определённые пользователем утверждения, стандартные утверждения, проводит несколько анализов метрик покрытия.

  • JLiSA — Статический анализатор для Java на основе абстрактной интерпретации, построенный на фреймворке LiSA.

  • Mariana Trench — Наш инструмент статического анализа, ориентированный на безопасность приложений для Android и Java. Mariana Trench анализирует байткод Dalvik и создан для быстрой работы с большими кодовыми базами (десятки миллионов строк кода). Он может находить уязвимости по мере изменения кода, до того как код попадёт в ваш репозиторий.

  • NullAway — Проверщик нулевых указателей, основанный на типах, с низкими накладными расходами во время сборки; плагин для Error Prone.

  • OWASP Dependency Check ⚠️ — Проверяет зависимости на наличие известных, публично раскрытых уязвимостей.

  • qulice — Объединяет несколько (предварительно настроенных) инструментов статического анализа (checkstyle, PMD, Findbugs, ...).

  • RefactorFirst — Выявляет и расставляет по приоритетам God-классы и сильно связанные (Highly Coupled) классы в Java-кодовых базах, которые следует рефакторить в первую очередь.

  • Soot — Фреймворк для анализа и трансформации приложений на Java и Android.

  • Spoon — Spoon — библиотека метапрограммирования для анализа и трансформации исходного кода Java (включая Java 9, 10, 11, 12, 13, 14). Она разбирает исходные файлы для построения хорошо спроектированного AST с мощным API анализа и трансформации. Может быть интегрирована в Maven и Gradle.

  • SpotBugs — SpotBugs — преемник FindBugs. Инструмент статического анализа для поиска ошибок в Java-коде.- steady ⚠️ — Анализирует ваши Java-приложения на предмет open-source зависимостей с известными уязвимостями, используя как статический анализ, так и тестирование для определения контекста кода и его использования с большей точностью.

  • Violations Lib — Java-библиотека для разбора файлов отчётов статического анализа кода. Используется во множестве плагинов Jenkins, Maven и Gradle.

  • NodeJSScan ⚠️ — Статический сканер безопасности кода для Node.js-приложений на базе libsast и semgrep, основанный на CLI-инструменте njsscan. Включает интерфейс с различными панелями мониторинга статуса безопасности приложения.

  • plato ⚠️ — Визуализация сложности исходного кода JavaScript.

  • Polymer-analyzer — Платформа статического анализа для Web Components.

  • retire.js — Сканер, обнаруживающий использование JavaScript-библиотек с известными уязвимостями.

  • RSLint ⚠️ — JavaScript-линтер (в разработке), написанный на Rust и предназначенный для максимальной скорости, настройки и простоты использования.

  • standard — npm-модуль, проверяющий соответствие стандартам оформления JavaScript.

  • tern — Анализатор JavaScript-кода для глубокой межредакторной поддержки языка.

  • TypL ⚠️ — С TypL вы просто пишете совершенно стандартный JS, а инструмент определяет ваши типы с помощью мощного вывода типов.

  • xo — Мнение-ориентированная, но настраиваемая обёртка над ESLint со множеством дополнительных возможностей. Обеспечивает строгий и читаемый код.

  • yardstick ⚠️ — Метрики JavaScript-кода.

  • parallel-lint — Этот инструмент проверяет синтаксис PHP-файлов быстрее, чем последовательная проверка, с более наглядным выводом.

  • Parse — Статический сканер безопасности.

  • pdepend — Вычисляет метрики программного обеспечения, такие как цикломатическая сложность, для PHP-кода.

  • phan — Современный статический анализатор от Etsy.

  • PHP Architecture Tester — Простой в использовании инструмент тестирования архитектуры для PHP.

  • PHP Assumptions — Проверяет на слабые предположения.

  • PHP Coding Standards Fixer — Исправляет ваш код в соответствии со стандартами, такими как PSR-1, PSR-2 и стандарт Symfony.

  • PHP Insights — Мгновенные проверки качества PHP из вашей консоли. Анализ качества кода и стиля кодирования, а также обзор архитектуры кода и её сложности.

  • Php Inspections (EA Extended) — Статический анализатор кода для PHP.

  • PHP Refactoring Browser — Помощник по рефакторингу.

  • PHP Semantic Versioning Checker — Предлагает следующую версию в соответствии с семантическим версионированием.

  • PHP-Parser — PHP-парсер, написанный на PHP.

  • php-speller — PHP-библиотека проверки орфографии.

  • PHP-Token-Reflection ⚠️ — Библиотека, эмулирующая внутренний reflection в PHP.

  • php7cc ⚠️ — Проверка совместимости с PHP 7.

  • php7mar ⚠️ — Помогает разработчикам быстро перенести свой код на PHP 7.

  • PHP_CodeSniffer ⚠️ — Обнаруживает нарушения заданного набора стандартов кодирования.

  • PHPArkitect — PHPArkitect помогает поддерживать вашу PHP-кодовую базу целостной и надёжной, позволяя добавить проверки архитектурных ограничений в ваш рабочий процесс. Вы можете выразить ограничение, которое хотите применить, в простом и читаемом PHP-коде.

  • phpca ⚠️ — Находит использование не встроенных расширений.

  • phpcpd ⚠️ — Детектор копирования/вставки для PHP-кода.

  • phpdcd ⚠️ — Детектор мёртвого кода (DCD) для PHP-кода.

  • PhpDependencyAnalysis ⚠️ — Строит граф зависимостей для проекта.

  • PhpDeprecationDetector ⚠️ — Анализатор PHP-кода для поиска проблем с устаревшей функциональностью в новых версиях интерпретатора. Он находит удалённые объекты (функции, переменные, константы и ini-директивы), устаревшую функциональность функций, а также использование запрещённых имён или приёмов (например, зарезервированных идентификаторов в новых версиях).

  • phpdoc-to-typehint ⚠️ — Добавляет скалярные подсказки типов и возвращаемые типы в существующие PHP-проекты с использованием аннотаций PHPDoc.

  • phpDocumentor — Анализирует исходный код PHP для генерации документации.

  • phploc ⚠️ — Инструмент для быстрого измерения размера и анализа структуры PHP-проекта.

  • PHPMD — Находит возможные ошибки в вашем коде.

  • PhpMetrics — Вычисляет и визуализирует различные метрики качества кода.

  • phpmnd — Помогает обнаруживать магические числа.

  • PHPQA — Инструмент для запуска QA-инструментов (phploc, phpcpd, phpcs, pdepend, phpmd, phpmetrics).

  • phpqa - jakzal — Множество инструментов статического анализа PHP в одном контейнере.

  • phpqa - jmolivas — PHPQA — универсальный CLI-инструмент анализатора.

  • phpsa ⚠️ — Инструмент статического анализа для PHP.

  • PHPStan — PHP-инструмент статического анализа — обнаруживайте ошибки в коде без его запуска!

  • Progpilot — Инструмент статического анализа для целей безопасности.

  • Psalm — Инструмент статического анализа для поиска ошибок типов в PHP-приложениях.

  • Qafoo Quality Analyzer ⚠️ — Визуализирует метрики и исходный код.

  • rector — Мгновенные обновления и автоматический рефакторинг любого кода PHP 5.3+. Он обновляет ваш код для PHP 7.4, 8.0 и новее. Rector обещает низкий процент ложных срабатываний, поскольку ищет узко определённые шаблоны AST (абстрактного синтаксического дерева). Основной вариант использования — борьба с техническим долгом в устаревшем коде и удаление мёртвого кода. Rector предоставляет набор специальных правил для Symfony, Doctrine, PHPUnit и многих других.

  • Reflection — Библиотека Reflection для статического анализа PHP-проектов.

  • Symfony Insight ©️ — Обнаруживает риски безопасности, находит ошибки и предоставляет практические метрики для PHP-проектов.

  • Tuli — Движок статического анализа.

  • twig-lint — twig-lint — это инструмент линтинга для ваших twig-файлов.

  • WAP — Инструмент для обнаружения и исправления уязвимостей проверки ввода в PHP-веб-приложениях (версии 4.0 и выше), а также прогнозирования ложных срабатываний за счёт сочетания статического анализа и интеллектуального анализа данных.

  • Dlint — Инструмент для обеспечения безопасности Python-кода.

  • Dodgy — Dodgy — это очень простой инструмент для запуска по вашей кодовой базе с целью поиска «подозрительных» значений. Это набор простых регулярных выражений, предназначенных для обнаружения таких вещей, как случайные коммиты SCM-диффов или пароли и секретные ключи, захардкоженные в файлы.

  • ENRE-py ⚠️ — ENRE (ENtity Relationship Extractor) — это инструмент для извлечения зависимостей или связей сущностей кода из исходного кода. ENRE-py — это экстрактор связей сущностей для Python, основанный на Python Language Services из стандартной библиотеки.

  • fixit — Платформа для создания lint-правил и соответствующих автозамен для исходного кода.

  • flake8 — Обёртка вокруг pyflakes, pycodestyle и mccabe.

  • flakeheaven — flakeheaven — это Python-линтер, построенный вокруг flake8 для обеспечения наследуемой и сложной конфигурации в TOML.

  • Griffe — Сигнатуры для целых Python-программ. Извлеките структуру, каркас, скелет вашего проекта, чтобы сгенерировать документацию API или найти критические изменения в вашем API.

  • InspectorTiger ⚠️ — IT, Inspector Tiger, — это современный инструмент/фреймворк для ревью Python-кода. Он поставляется с набором предопределённых обработчиков, которые предупреждают вас об улучшениях и возможных ошибках. Помимо этих обработчиков, вы можете написать свои собственные или использовать созданные сообществом.

  • jedi — Библиотека автодополнения/статического анализа для Python.

  • linty fresh — Разбирает lint-ошибки и сообщает о них на GitHub в виде комментариев к pull request.

  • mbake — mbake — это форматтер и линтер для Makefile. Это заняло всего 50 лет!

  • mccabe ⚠️ — Проверяет сложность по Маккейбу.

  • multilint ⚠️ — Обёртка вокруг flake8, isort и modernize.

  • mypy — Статический проверщик типов, который стремится объединить преимущества утиной типизации и статической типизации; часто используется вместе с MonkeyType.

  • pip-audit — Инструмент для сканирования Python-пакетов на предмет известных уязвимостей. Разработан Python Packaging Authority (PyPA) и поддерживается Trail of Bits и Google. Сканирует Python-окружения и файлы требований для выявления уязвимых пакетов и предлагает меры по устранению. Поддерживает GitHub Actions, pre-commit хуки и множество интеграций с сервисами уязвимостей.

  • prospector — Обёртка вокруг pylint, pep8, mccabe и других.- py-find-injection ⚠️ — Находит уязвимости SQL-инъекций в коде Python.

  • pyanalyze — Инструмент для программного обнаружения распространённых ошибок в коде Python, таких как ссылки на неопределённые переменные и ошибки типов. Его можно расширять, добавляя дополнительные правила и выполняя проверки, специфичные для конкретных функций.

  • pycodestyle — (ранее pep8) Проверяет код Python на соответствие некоторым соглашениям о стиле из PEP 8.

  • pydocstyle ⚠️ — Проверяет соответствие соглашениям о docstring в Python.

  • pyflakes — Проверяет исходные файлы Python на наличие ошибок.

  • pylint — Ищет ошибки программирования, помогает соблюдать стандарт кодирования и выявляет некоторые «запахи» кода. Дополнительно включает pyreverse (генератор UML-диаграмм) и symilar (инструмент поиска сходств).

  • pylyzers ⚠️ — Статический анализатор кода / языковой сервер для Python, написанный на Rust, ориентированный на проверку типов и читаемый вывод.

  • Pyra — Pyra — это высокоуровневый статический анализатор-линтер для приложений в области науки о данных, написанный на Python. Он помогает разработчикам выявлять потенциальные проблемы в их коде Python для науки о данных и является расширением Lyra.

  • pyre-check ⚠️ — Быстрый и масштабируемый проверщик типов для больших кодовых баз Python. Pyre-check был заменён на Pyrefly — его следующую итерацию.

  • pyrefly — Быстрый инкрементальный проверщик типов и языковой сервер для Python, предоставляющий функции IDE, такие как навигация по коду, семантическая подсветка и автодополнение кода.

  • pyright — Статический проверщик типов для Python, созданный для устранения пробелов в существующих инструментах, таких как mypy.

  • pyroma — Оценивает, насколько проект Python соответствует лучшим практикам экосистемы упаковки Python, и перечисляет проблемы, которые можно улучшить.

  • Pysa — Инструмент на основе pyre-check от Facebook для выявления потенциальных проблем безопасности в коде Python с помощью taint-анализа.

  • PyT - Python Taint ⚠️ — Инструмент статического анализа для обнаружения уязвимостей безопасности в веб-приложениях на Python.

  • pytype — Статический анализатор типов для кода Python.

  • pyupgrade — Инструмент (и pre-commit хук) для автоматического обновления синтаксиса до новых версий языка.

  • QuantifiedCode ⚠️ — Автоматизированное рецензирование и исправление кода. Помогает отслеживать проблемы и метрики в ваших программных проектах и может быть легко расширен для поддержки новых типов анализа.

  • radon ⚠️ — Инструмент Python, вычисляющий различные метрики исходного кода.

  • refurb — Инструмент для обновления и модернизации кодовых баз Python. Refurb во многом вдохновлён clippy, встроенным линтером для Rust.

  • ruff — Быстрый линтер Python, написанный на Rust. В 10–100 раз быстрее существующих линтеров. Совместим с Python 3.10. Поддерживает слежение за файлами.

  • Safety — Сканер уязвимостей зависимостей Python, предназначенный для повышения безопасности цепочки поставок программного обеспечения путём обнаружения пакетов с известными уязвимостями. Проверяет зависимости Python по базе известных уязвимостей безопасности и предоставляет подробные отчёты. Поддерживает интеграцию с CI/CD и несколько форматов вывода.

  • ty — Чрезвычайно быстрый проверщик типов Python, написанный на Rust.

  • unimport — Линтер и форматировщик для поиска и удаления неиспользуемых операторов импорта.

  • vulture — Находит неиспользуемые классы, функции и переменные в коде Python.

  • wemake-python-styleguide — Самый строгий и самый бескомпромиссный линтер Python за всю историю.

  • wily — Инструмент командной строки для архивирования, изучения и построения графиков сложности исходного кода Python.

  • xenon ⚠️ — Отслеживает сложность кода с помощью radon.

  • yapf ⚠️ — Форматировщик для файлов Python, созданный Google YAPF следует особой методологии, берущей начало из инструмента 'clang-format', созданного Дэниелом Джаспером. По сути, программа переформатирует код в наиболее подходящий формат, соответствующий руководству по стилю, даже если исходный код уже соответствует руководству по стилю. Эта концепция аналогична инструменту 'gofmt' языка программирования Go, цель которого — положить конец спорам о форматировании: вся кодовая база проекта пропускается через YAPF при каждом изменении, что обеспечивает единый стиль во всём проекте и устраняет необходимость спорить о стиле в каждой проверке кода.

  • Fukuzatsu — Инструмент для измерения сложности кода в файлах классов Ruby. Его анализ генерирует оценки на основе алгоритмов цикломатической сложности без дополнительных «мнений».

  • htmlbeautifier — Нормализатор/улучшатель HTML, который также понимает встроенный Ruby. Идеально подходит для приведения в порядок шаблонов Rails.

  • laser ⚠️ — Статический анализ и линтер стиля для кода Ruby.

  • MetricFu ⚠️ — MetricFu — это набор инструментов, предоставляющих отчёты, показывающие, какие части вашего кода могут потребовать дополнительной работы.

  • pelusa — Инструмент статического анализа типа линтера для улучшения вашего объектно-ориентированного кода Ruby.

  • quality ⚠️ — Запускает проверки качества вашего кода с помощью инструментов сообщества и гарантирует, что ваши показатели со временем не ухудшаются.

  • Querly ⚠️ — Инструмент проверки на основе шаблонов для Ruby.

  • Railroader ⚠️ — Сканер уязвимостей безопасности на основе статического анализа с открытым исходным кодом для приложений Ruby on Rails.

  • rails_best_practices — Инструмент метрик кода для проектов Rails.

  • reek — Детектор «запахов» кода для Ruby.

  • Roodi — Roodi расшифровывается как Ruby Object Oriented Design Inferometer. Он анализирует ваш код Ruby и предупреждает о проблемах проектирования на основе настроенных проверок.

  • RuboCop — Статический анализатор кода Ruby, основанный на руководстве по стилю Ruby сообщества.

  • Rubrowser — Интерактивный генератор графов зависимостей классов Ruby.

  • ruby-lint ⚠️ — Статический анализ кода для Ruby.

  • rubycritic — Отчётчик качества кода Ruby.

  • rufo — Субъективный форматировщик Ruby, предназначенный для использования через командную строку как плагин текстового редактора для автоформатирования файлов при сохранении или по требованию.

  • Saikuro ⚠️ — Анализатор цикломатической сложности Ruby.

  • SandiMeter ⚠️ — Инструмент статического анализа для проверки кода Ruby на соответствие правилам Сэнди Мец.

  • Skunk — Калькулятор SkunkScore для кода Ruby — находите самый сложный код без покрытия тестами!

  • Sorbet — Быстрый и мощный проверщик типов, разработанный для Ruby.

  • Standard Ruby — Руководство по стилю Ruby с линтером и автоматическим исправлением кода.

  • Steep — Постепенная типизация для Ruby.

  • Traceroute ⚠️ — Rake-задача (gem), помогающая найти неиспользуемые маршруты и действия контроллеров для вашего приложения Rails 3+.

  • release-plz
    более чем одном из шести из 1000 самых загружаемых крейтов
  • cargo-show-asm — Подкоманда cargo, показывающая ассемблер, LLVM-IR и MIR, генерируемые для кода Rust.

  • cargo-spellcheck — Проверяет всю вашу документацию на орфографические и грамматические ошибки с помощью hunspell (готово) и languagetool (предварительный просмотр).

  • cargo-unused-features ⚠️ — Находит потенциально неиспользуемые включённые флаги функций и удаляет их. Вы можете создать простой HTML-отчёт из json, чтобы упростить просмотр результатов. Он удаляет функцию зависимости, а затем компилирует проект, чтобы проверить, компилируется ли он по-прежнему. Если компилируется, флаг функции, возможно, можно удалить, но это может быть ложным срабатыванием.

  • clippy — Линтер кода для выявления распространённых ошибок и улучшения вашего кода Rust.

  • diff.rs — Веб-приложение (WASM) для отображения различий между версиями крейтов Rust.

  • dylint — Инструмент для запуска линтеров Rust из динамических библиотек. Dylint упрощает разработчикам поддержание собственных коллекций линтеров.

  • electrolysis ⚠️ — Инструмент для формальной верификации программ Rust путём транспиляции их в определения в системе доказательства теорем Lean.

  • herbie ⚠️ — Добавляет предупреждения или ошибки в ваш крейт при использовании численно нестабильного выражения с плавающей запятой.

  • kani — Kani Rust Verifier — это битово-точный проверщик моделей для Rust. Kani особенно полезен для проверки unsafe-блоков кода в Rust, где «unsafe-суперспособности» не проверяются компилятором. Kani проверяет:

  • TangleGuard ©️ — Помогает понять и поддерживать масштабируемую программную архитектуру. Для этого он генерирует интерактивный вложенный граф зависимостей из исходного кода. Вы можете выбрать уровень детализации и получить ту часть вашей кодовой базы, которая важна для вас.

  • warnalyzer ⚠️ — Показывает неиспользуемый код в многокрейтовых проектах Rust.