> ## Documentation Index
> Fetch the complete documentation index at: https://docs.qaos.machdel.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Cryptographie

> En-têtes de sécurité mal configurés et mauvaises configurations CORS.

## Les vulnérabilités cryptographiques exposent les données en transit ou permettent l'interception du trafic. Ces problèmes proviennent généralement d'en-têtes de sécurité manquants ou mal configurés et de politiques CORS trop permissives.

## misconfigured-security-headers

<Badge>Élevé</Badge>

**Description**

Les en-têtes de réponse HTTP qui protègent contre les attaques courantes côté navigateur sont manquants ou mal configurés. Cela inclut HSTS, Content-Security-Policy, X-Frame-Options et X-Content-Type-Options.

**Importance**

Les en-têtes de sécurité sont la dernière ligne de défense du navigateur. Des en-têtes manquants laissent les utilisateurs vulnérables aux attaques de rétrogradation, au clickjacking, au sniffing de type MIME et à l'escalade XSS — même si le code de l'application lui-même est sécurisé.

**Comment QAOS le détecte**

L'agent vérifie les en-têtes de réponse HTTP pour la présence et l'exactitude des en-têtes de sécurité clés.

**En-têtes fréquemment manquants**

| En-tête                     | Risque si manquant              |
| --------------------------- | ------------------------------- |
| `Strict-Transport-Security` | Attaques de rétrogradation HTTP |
| `Content-Security-Policy`   | Escalade XSS                    |
| `X-Frame-Options`           | Clickjacking                    |
| `X-Content-Type-Options`    | Sniffing MIME                   |
| `Referrer-Policy`           | Fuite d'URL                     |

**Comment corriger**

Ajoutez ces en-têtes aux réponses de votre serveur :

```http theme={null}
Strict-Transport-Security: max-age=31536000; includeSubDomains
Content-Security-Policy: default-src 'self'; script-src 'self'
X-Frame-Options: DENY
X-Content-Type-Options: nosniff
Referrer-Policy: strict-origin-when-cross-origin
```

La plupart des frameworks supportent un middleware pour cela :

```javascript theme={null}
// Express.js avec Helmet
const helmet = require('helmet')
app.use(helmet())
```

***

## misconfigured-cors

<Badge>Élevé</Badge>

**Description**

Le serveur retourne `Access-Control-Allow-Origin: *` (ou reflète n'importe quelle origine) sur des endpoints qui retournent des données sensibles, permettant à n'importe quel site web d'effectuer des requêtes cross-origin authentifiées et de lire la réponse.

**Importance**

Une politique CORS avec caractère générique combinée à `Access-Control-Allow-Credentials: true` permet à n'importe quel site web malveillant d'effectuer des requêtes vers votre API au nom de vos utilisateurs connectés et de lire la réponse. Cela contourne effectivement la Same-Origin Policy.

**Comment QAOS le détecte**

L'agent vérifie les en-têtes de réponse HTTP pour `Access-Control-Allow-Origin: *` ou des valeurs d'origine reflétées sur les endpoints API sensibles.

**Exemples**

```http theme={null}
# Vulnérable : CORS avec caractère générique sur une API authentifiée
Access-Control-Allow-Origin: *
Access-Control-Allow-Credentials: true
```

**Comment corriger**

Maintenez une liste d'autorisation explicite d'origines de confiance et validez par rapport à elle :

```python theme={null}
# Middleware CORS FastAPI
from fastapi.middleware.cors import CORSMiddleware
app.add_middleware(
    CORSMiddleware,
    allow_origins=["https://app.example.com"],  # liste explicite, jamais "*"
    allow_credentials=True,
    allow_methods=["GET", "POST"],
)
```
