Проблема
Отсутствие или некорректная конфигурация HTTP-заголовков безопасности в ответах сервера, с которыми взаимодействует мобильное приложение. Это делает приложение/сервер уязвимыми к атакам: XSS, clickjacking, MIME-сниффинг, перехват трафика, внедрение контента.

Причины
- Разработчики не включают заголовки (CSP, HSTS, X-Content-Type-Options, X-Frame-Options) на серверной стороне.
- В гибридных/WebView-приложениях (React Native, Flutter, Cordova) заголовки могут не обрабатываться или переопределяться клиентским кодом.
- Отсутствие тестирования на этапе CI/CD.

Решение
1. Захватите трафик мобильного приложения через mitmproxy или Burp Suite.
2. Проверьте все ответы сервера (API, статика, WebSocket) на наличие заголовков:
- `Content-Security-Policy`
- `X-Content-Type-Options: nosniff`
- `X-Frame-Options: DENY`
- `Strict-Transport-Security: max-age=31536000; includeSubDomains`
- `Referrer-Policy: no-referrer`
- `Permissions-Policy: geolocation=(), camera=()`
3. Пример проверки через curl через прокси:
bash
curl -I -k --proxy http://127.0.0.1:8080 https://api.example.com/endpoint

4. Для автоматизации используйте Python:
python
import requests
r = requests.get("https://api.example.com", headers={"User-Agent": "Mobile/1.0"})
required = ["content-security-policy","x-content-type-options","strict-transport-security"]
missing = [h for h in required if h not in r.headers]
if missing: print(f"Missing: {missing}")

5. В коде приложения (Android WebView):
kotlin
webView.webViewClient = object : WebViewClient() {
override fun onReceivedHttpHeaders(view: WebView, request: WebResourceRequest, response: WebResourceResponse) {
val csp = response.responseHeaders["Content-Security-Policy"] ?: "alert('missing CSP')"
}
}

6. Используйте онлайн-сканер securityheaders.com, передав через прокси-заголовок `User-Agent` устройства.
7. Внедрите проверку в CI (например, ZAP CLI с профилем для мобильных).

Все действия легальны только при наличии письменного разрешения владельца приложения или в рамках собственного пентеста.