Блог сообщества Кодебай
Чат: @codeby_one
Форум: codeby.net
Обучение: codeby.academy
CTF: hackerlab.pro
VK: vk.com/codeby
YT: clck.ru/XG99c
Сотрудничество: @KinWiz
Реклама: @Savchenkova_Valentina
Post #9204
4.83K

Graudit: инструмент для поиска уязвимостей в коде
🟧 Установка Graudit
Graudit можно установить из репозитория:
🟧 Как работает Graudit?
Graudit анализирует исходный код, используя предопределённые наборы правил (сигнатуры), которые соответствуют распространённым уязвимостям.
Поддерживаемые языки:
🟧 PHP, Java, Python, Ruby
🟧 C/C++, Go, JavaScript
🟧 Bash, Perl, ASP
Файлы с сигнатурами хранятся в папке
🟧 Примеры использования
1. Базовое сканирование
Проверим PHP-код на уязвимости:
Вывод будет содержать строки кода, похожие на уязвимые паттерны.
2. Поиск SQL-инъекций
🟧 Пример уязвимого кода и его анализ
🟧 PHP: SQL-инъекция
Graudit обнаружит эту уязвимость, так как в сигнатурах PHP есть правило для SQL-запросов с прямым включением пользовательского ввода.
Можно добавлять свои сигнатуры в /signatures/custom.db:
🟧 Используйте Graudit в связке с:
🟧 Bandit (для Python)
🟧 Semgrep (для глубокого анализа)
🟧 SonarQube (для комплексного сканирования)
Graudit (Grep Rough Audit) — это инструмент для статического анализа безопасности исходного кода, который использует сигнатурный поиск на основе регулярных выражений. Он помогает находить потенциальные уязвимости, такие как SQL-инъекции, XSS, RCE, path traversal и другие. Graudit отличается простотой, высокой скоростью работы и поддержкой множества языков программирования.
🟧 Установка Graudit
Graudit можно установить из репозитория:
git clone https://github.com/wireghoul/grauditПроверяем:
cd graudit
sudo cp graudit /usr/local/bin/ # Добавляем в PATH
graudit -v
🟧 Как работает Graudit?
Graudit анализирует исходный код, используя предопределённые наборы правил (сигнатуры), которые соответствуют распространённым уязвимостям.
Поддерживаемые языки:
🟧 PHP, Java, Python, Ruby
🟧 C/C++, Go, JavaScript
🟧 Bash, Perl, ASP
Файлы с сигнатурами хранятся в папке
/signatures/. 🟧 Примеры использования
1. Базовое сканирование
Проверим PHP-код на уязвимости:
graudit -d php ./project/
Вывод будет содержать строки кода, похожие на уязвимые паттерны.
2. Поиск SQL-инъекций
graudit -d sql ./project/3. Проверка JavaScript (Node.js) на XSS
graudit -d js ./app.js
🟧 Пример уязвимого кода и его анализ
🟧 PHP: SQL-инъекция
// Уязвимый код
$user = $_GET['username'];
$query = "SELECT * FROM users WHERE name = '$user'";
$result = mysqli_query($conn, $query);
Graudit обнаружит эту уязвимость, так как в сигнатурах PHP есть правило для SQL-запросов с прямым включением пользовательского ввода.
🟧 Python: Command Injection import osGraudit выдаст предупреждение, так как os.system с внешними данными — это риск RCE.
user_input = input("Enter filename: ")
os.system(f"cat {user_input}") # Уязвимость!
🟧 Расширение возможностей Graudit Можно добавлять свои сигнатуры в /signatures/custom.db:
Пример правила для поиска опасных функций в Pythonlabel: Dangerous Python eval()pattern: eval\(.*\$Теперь при сканировании Python-кода Graudit будет искать eval().
🟧 Используйте Graudit в связке с:
🟧 Bandit (для Python)
🟧 Semgrep (для глубокого анализа)
🟧 SonarQube (для комплексного сканирования)
- 👍 14
- 🔥 7
- ❤ 6
















