Aller au contenu

Journal des modifications

Dernière mise à jour : 25 juin 2026


Toutes les modifications notables de ce projet sont documentées dans ce fichier.


[v202606] - 25/06/2026

Ajouts

CUC (Cisco Unity Connection) — nouveau module produit

  • Nouveau module produit cuc, conditionné par le claim de licence signé "cuc".
  • Versions supportées : CUC v14 & v15.
  • 13 outils MCP répartis entre CUPI REST (get_version, cupi_list, cupi_call, …), SSH OS Admin (os_run_command), diagnostics de connectivité et gestion des identifiants.
  • Prompts : cuc/procedure, cuc/security_audit.
  • Ressources : 8 chapitres du guide CLI VOS, 3 chapitres du Security Guide (optionnels), ainsi qu'un catalogue d'endpoints CUPI (~80 endpoints) packagé sous docs://cuc/cupi/reference et référencé par les prompts CUC.
  • À noter : client CUPI (REST /vmrest/) avec vérification TLS obligatoire ; même modèle RBAC et même schéma d'identifiants que CUCM / IMP.

Autres ajouts

  • Mutualisation des sessions SSH (SSH Pooling)
  • Métriques Prometheus du pool SSH : occupation en temps réel, histogramme de réutilisation des commandes, compteur de succès.
  • Auto-découverte RBAC pour les clients MCP : nouvel outil infra_get_my_permissions(product?) et matrice intégrée à infra_init_session.
  • Découverte documentaire pour les clients tools-only : nouveaux outils infra_list_docs() / infra_get_doc(name|uri).

Modifications

  • Mentions « read-only » trompeuses supprimées des outils *_axl_call, *_os_run_command, cuc_cupi_call et listings associés — les permissions dépendent désormais du profil RBAC de l'appelant.
  • Prompts procedure (CUCM / IMP / CUC) : le LLM est invité à appeler infra_get_my_permissions(<product>) avant toute opération d'écriture/admin.

Dépendances

- bcrypt==5.0.0
- colorlog==6.10.1
- cryptography==49.0.0
- fastmcp==3.2.4
- lxml==6.1.1
- Markdown==3.10.2
- matplotlib==3.11.0
- mcp==1.28.0
- numpy==2.5.0
- paramiko==5.0.0
- Pillow==12.2.0
- prometheus_client==0.25.0
- pydantic==2.13.4
- pydantic-settings>=2.14.2
- PyJWT==2.13.0
- python-dotenv==1.2.2
- python-multipart==0.0.32
- requests==2.34.2
- starlette==1.3.1
- urllib3==2.7.0
- weasyprint==69.0
- zeep==4.3.3

Dépendances (dev) - bandit>=1.7 - freezegun==1.5.5 - httpx==0.28.1 - msgpack>=1.2.1 - mypy>=1.11 - pip>=26.1.2 - pip-audit>=2.7 - pre-commit==4.6.0 - pymupdf4llm>=0.0.17 - pytest==9.1.1 - pytest-asyncio==1.4.0 - pytest-cov==7.1.0 - pytest-timeout>=2.3 - pytest-xdist>=3.6 - PyYAML>=6.0.2 - ruff==0.15.19


[v202605] - 31/05/2026

Ajouts

Cœur applicatif

  • Serveur FastMCP Streamable HTTP, configuré via .env.
  • Bootstrap automatique au démarrage : paire de clés RSA-4096, sel serveur, répertoires clients, tokens JWT, vérification de la licence.
  • Synchronisation des clients avec AUTH_CLIENTS à chaque démarrage (création / renouvellement / purge).
  • Endpoints HTTP : /health, /metrics (Prometheus), /status.
  • Journalisation structurée (app.log JSON + audit.log dédié).

Sécurité

  • Déploiement air-gapped ou hybride, sans dépendance cloud.
  • TLS obligatoire (auto-signé ou signé par une CA).
  • Authentification client : tokens bearer RS256, mode JWT ou OAuth2 Client Credentials (avec PKCE).
  • RBAC avec profils admin / operator / auditor, personnalisables par client.
  • Isolation des données par client ; identifiants chiffrés par une clé Fernet dédiée (PBKDF2-SHA512).
  • Piste d'audit JSON complète avec assainissement des caractères de contrôle.
  • Durcissement transport : HTTPS, protection DNS rebinding, validation Host/Origin/Content-Type.
  • Vérification d'empreinte SSH + certificat HTTPS avant toute connexion Cisco UC.
  • Validation Pydantic sur toutes les entrées d'outils MCP.
  • Rate limiting par client (fenêtre glissante) et détection Fail2ban par IP.
  • Politique de configuration .env-only.

Performance & Stabilité

  • Caches LRU bornés sur les clients Zeep/WSDL.
  • Réduction de la contention sur le verrou de stockage des identifiants.

Observabilité

  • Fenêtres glissantes 24 h en mémoire, compteurs Prometheus pour les requêtes HTTP et les appels d'outils MCP.
  • Lignes d'audit dédiées aux échecs (outils / ressources / prompts) avec type d'erreur et incrément de métrique.
  • Redaction étendue des bundles show-tech sur tous les motifs de clés sensibles.

Licences

  • Licences JWT signées RS256 émises hors ligne (VALID / GRACE / EXPIRED / INVALID), liaison hostname optionnelle, watchdog en arrière-plan, inspecteur CLI autonome.

Sauvegarde & Restauration

  • Sauvegardes chiffrées périodiques (RSA-4096 + AES-256-GCM + sidecar SHA-512), rétention locale, export SFTP optionnel.
  • Script de restauration avec vérification d'intégrité et remplacement en place sécurisé.

Mise à jour

  • Bundles de mise à jour signés (vérification RSA-PSS), prévisualisation --dry-run, sauvegarde automatique pré-upgrade, fusion .env sans écraser les valeurs client.

Rapports

  • Outils MCP write_report / read_report / export_report_pdf avec sortie Markdown, 9 types de graphiques et export PDF via WeasyPrint.

CUCM

  • Versions supportées : CUCM v14 & v15.
  • 20 outils MCP répartis entre AXL, RisPort70, SSH OS Admin et accès web des téléphones.
  • Prompts : cucm/procedure, cucm/security_audit.
  • Ressources : 8 chapitres du guide CLI VOS et 5 chapitres du Security Guide (R15).
  • À noter : capture d'écran des téléphones IP (phone_screenshot) ; prompt d'audit de sécurité basé sur le Cisco Security Guide R15.

IMP

  • Versions supportées : IMP v14 & v15.
  • 14 outils MCP répartis entre AXL et SSH OS Admin.
  • Prompts : imp/procedure, imp/security_audit.
  • Ressources : 8 chapitres du guide CLI VOS et 3 chapitres du Security Guide (R15).
  • À noter : même modèle RBAC et même schéma d'identifiants que CUCM.

Déploiement & Chaîne d'approvisionnement

  • Dockerfile de production (multi-stage) et docker-compose.yml, runtime non-root durci.
  • Image de base et GitHub Actions épinglées par digest ; Dependabot les rafraîchit chaque semaine.
  • Gestion des dépendances migrée vers uv avec uv.lock haché.

Documentation

  • SECURITY.md régénéré et aligné avec le site de documentation.
  • Guides de setup mis à jour pour insister sur la politique .env-only.

Tests & CI

  • 839+ tests unitaires, 93%+ de couverture (seuil de 90 % imposé), tests d'intégration sur CUCM réel, matrice Python 3.12 + 3.13.
  • SAST Bandit, scan de secrets Gitleaks, scan d'image Trivy — tous bloquants.
  • Rapport Mypy (non bloquant) et pip-audit sur les arbres de dépendances runtime + dev.
  • SBOM CycloneDX signé hors ligne au moment de la release.

Dépendances

- bcrypt==5.0.0
- colorlog==6.10.1
- cryptography==48.0.0
- fastmcp==3.2.4
- lxml==6.1.1
- Markdown==3.10.2
- matplotlib==3.10.9
- mcp==1.27.1
- numpy==2.4.6
- paramiko==5.0.0
- Pillow==12.2.0
- prometheus_client==0.25.0
- pydantic==2.13.4
- PyJWT==2.13.0
- python-dotenv==1.2.2
- requests==2.34.2
- starlette==1.2.0
- urllib3==2.7.0
- weasyprint==68.1
- zeep==4.3.2

Dépendances (dev) - freezegun==1.5.5 - httpx==0.28.1 - pre-commit==4.6.0 - pymupdf4llm>=0.0.17 - pytest==9.0.3 - pytest-asyncio==1.4.0 - pytest-cov==7.1.0 - PyYAML>=6.0.2 - ruff==0.15.15