GET /actuator/env
и получает секреты окружения, в том числе доступ к БД.
200 OK (application/json)
"spring.datasource.password":"ProdDB_Passw0rd!",
"aws.accessKey":"AKIA...",
"jwt.signing.key":"super-secret-jwt-key"
}
В проде открыт /actuator/** для всех.
Любой человек снаружи может посмотреть конфиг, переменные окружения,
health-проверки, а иногда даже скачать heap dump сервиса.
Фикс — ограничить доступ и выключить чувствительные эндпоинты наружу.
GET /actuator/env
exposure.include=*)
и открыт всем без авторизации «на время отладки».
Скрипт пытается без авторизации сходить в /actuator/env.
Если сервер всё ещё отдаёт 200 — билд стопаем.
Мы ждём 401 или 403.
#!/bin/bash
# actuator-check.sh
STATUS=$(curl -s -o /tmp/env.json -w "%{http_code}" \
"https://staging.example.internal/actuator/env")
if [ "$STATUS" = "200" ]; then
echo "[BLOCK] Actuator/ENV доступен анонимно в стейдже"
exit 1
fi
echo "[OK] Actuator закрыт извне (HTTP $STATUS)"
exit 0
Это фиксирует правило: чувствительные системные эндпоинты не доступны просто так из интернета.
Стандарт: Actuator — это не публичная фича для клиента. Это админка. Она должна быть закрыта.