Spaces:
Sleeping
Sleeping
File size: 4,884 Bytes
a2e0997 89c8ad5 5788e9e 89c8ad5 5788e9e 89c8ad5 5788e9e 89c8ad5 |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 |
---
title: Audit Api
emoji: 🌍
colorFrom: yellow
colorTo: blue
sdk: docker
pinned: false
license: mit
short_description: 'AfricTivistes Digital Security Audit '
---
# API d'Analyse d'Audit de Sécurité
API Flask permettant d'analyser automatiquement les réponses à un audit de sécurité et de générer des recommandations via l'intelligence artificielle.
## Présentation
Cette API utilise l'intelligence artificielle pour analyser les réponses fournies lors d'un audit de sécurité informatique. Elle identifie automatiquement le type d'audit, évalue le niveau de sécurité global, détecte les points forts et les vulnérabilités, puis génère des recommandations personnalisées.
## Fonctionnalités
- **Détection automatique du type d'audit** (complet ou spécifique à un domaine)
- **Analyse des réponses** par IA spécialisée en cybersécurité
- **Évaluation du niveau de sécurité** avec score sur 10
- **Identification des points forts** et leur importance
- **Détection des vulnérabilités** et classification par niveau de risque
- **Génération de recommandations détaillées** pour remédier aux failles
- **Production d'un résumé** de la situation et des étapes prioritaires
## Prérequis
- Python 3.7+
- Bibliothèques: Flask, Requests
- Clé API OpenRouter (ou autre fournisseur de modèles LLM)
## Installation
1. Clonez le dépôt:
```bash
git clone https://github.com/AfricTivistes/adisa.git
cd adisa
```
2. Installez les dépendances:
```bash
pip install -r requirements.txt
```
3. Configurez votre clé API dans `app.py` ou via une variable d'environnement.
## Utilisation
### Démarrer l'API
```bash
python app.py
```
L'API sera accessible par défaut sur `http://localhost:5000`.
### Endpoints
#### 1. Analyse d'audit
**Endpoint**: `POST /api/analyze`
**Description**: Analyse les réponses d'un audit de sécurité et génère une évaluation complète.
**Format de requête**:
```json
{
"Question 1": "Réponse 1",
"Question 2": "Réponse 2",
"Comment gérez-vous les mots de passe?": "Nous utilisons un gestionnaire de mots de passe d'entreprise",
...
}
```
**Format de réponse**:
```json
{
"status": "success",
"audit_type": "Audit spécifique: Politique de mots de passe",
"evaluation": {
"score": 7,
"level": "Bon"
},
"strengths": [
{
"text": "Utilisation d'un gestionnaire de mots de passe centralisé",
"rating": "Fort"
},
...
],
"weaknesses": [
{
"text": "Absence de politique de changement régulier des mots de passe",
"rating": "Moyen"
},
...
],
"recommendations": [
"Mettre en place une authentification à deux facteurs pour tous les services critiques",
"Automatiser la détection des mots de passe faibles",
...
],
"summary": "La gestion des mots de passe présente un bon niveau général mais nécessite des améliorations..."
}
```
#### 2. Vérification de santé
**Endpoint**: `GET /api/health`
**Description**: Vérifie que l'API est opérationnelle.
**Format de réponse**:
```json
{
"status": "ok",
"message": "API d'analyse d'audit de sécurité opérationnelle"
}
```
## Personnalisation
### Modification du modèle d'IA
Vous pouvez modifier le modèle utilisé en changeant les paramètres dans le constructeur de la classe `SecurityAuditAnalyzer`:
```python
security_analyzer = SecurityAuditAnalyzer(
api_key="votre-clé-api",
model="autre-modèle"
)
```
### Types d'audits supportés
L'API détecte automatiquement plusieurs domaines de la cybersécurité:
- Politique de mots de passe
- Sécurité des réseaux
- Gestion des accès
- Protection des données
- Sécurité physique
- Formation et sensibilisation
- Gestion des incidents
- Conformité réglementaire
## Architecture du code
- `app.py` : Point d'entrée de l'application Flask et définition des routes
- `SecurityAuditAnalyzer` : Classe principale pour l'analyse des audits
- `analyze_responses()` : Méthode principale d'analyse
- `_build_prompt()` : Construction du prompt pour l'IA
- `_detect_audit_type()` : Détection automatique du type d'audit
- `_parse_analysis()` : Extraction des données structurées
## Sécurité
⚠️ **Attention**: Ne stockez jamais votre clé API directement dans le code en production. Utilisez plutôt des variables d'environnement ou un fichier de configuration sécurisé.
## Exemple d'utilisation avec cURL
```bash
curl -X POST http://localhost:5000/api/analyze \
-H "Content-Type: application/json" \
-d '{
"Avez-vous une politique de mots de passe?": "Oui, nous exigeons des mots de passe d'au moins 8 caractères",
"Utilisez-vous l'authentification à deux facteurs?": "Seulement pour les comptes administrateurs",
"À quelle fréquence les mots de passe sont-ils changés?": "Il n'y a pas d'obligation de changement"
}'
``` |