JavaScript скрывает множество проблем в безопасности — скрытые эндпоинты, захардкоженные креды, «опасные» фичи и устаревшие зависимости.
Вот быстрый гайд, чтобы начать статический анализ. Всё можно автоматизировать в Burp Suite или комбинировать с любимыми CLI-тулзами.
1️⃣ Собираем JavaScript код
🟠В Burp отфильтруй HTTP-историю по
.js🟠Скопируй все URL'ы и скачай исходники с помощью
wget/curl, или через DevTools2️⃣ Идентификация эндпоинтов
Используй LinkFinder или JSLinkFinder в Burp:
python linkfinder.py -i 'js/*' -o result.html
💡 Попробуй jsluice как CLI-инструмент или Go-библиотеку для парсинга URL-адресов, путей, секретов и другой полезной информации из JS-файлов.
jsluice urls jquery.js | jq
{
"url": "/api/v1/posts",
"queryParams": [],
"bodyParams": [
"postId"
],
"method": "PUT",
"headers": {
"Content-Type": "application/json",
"x-backend": "prod"
},
"type": "$.ajax",
"filename": "jquery.js"
}
3️⃣ Поиск секретов
Прогоняй код через TruffleHog:
trufflehog filesystem ~/Downloads/js --no-verification --include-detectors="all"
Можно использовать и JS Miner в Burp для поиска секретов и эндпоинтов.
4️⃣ Поиск «опасных» функций
Применяй Semgrep и обращай особое внимание на sink’и:
semgrep scan --config auto
5️⃣ Поиск устаревших библиотек
Типичный пример —
jQuery. Проверяй библиотеки на уязвимости через snyk.io или Retire.js в Burp.💬 Делитесь своей методологией анализа JavaScript в комментариях 👇



