From 81ee26443a107ad1ba148b42c4f66a2af7b29eed Mon Sep 17 00:00:00 2001 From: bolbol Date: Sun, 12 Jul 2026 08:01:13 +0000 Subject: [PATCH] docs: pattern IP sessions Claude-User mcp-vps/mcp-nas + incident exposition tokens Gitea --- common/mcp-sessions-pattern.md | 45 ++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 common/mcp-sessions-pattern.md diff --git a/common/mcp-sessions-pattern.md b/common/mcp-sessions-pattern.md new file mode 100644 index 0000000..4c68a65 --- /dev/null +++ b/common/mcp-sessions-pattern.md @@ -0,0 +1,45 @@ +# Pattern IP sessions MCP (mcp-vps / mcp-nas) — Claude-User + +**Date** : 12/07/2026 +**Sphère** : common (transverse aux 3 instances) + +## Contexte + +Alerte remontée par Nabil : nouvelles sessions MCP inhabituelles vues dans les logs +(`mcp-vps` audit.log, connexions SSH Best0f sur le NAS). + +## Constat + +- `mcp-vps` (serveur MCP sur Contabo, `/data/audit.log`) : chaque appel d'outil MCP + ouvre un **nouveau transport HTTP** (`NEW_SESSION`). Anthropic fait tourner l'IP + de sortie sur une petite plage dynamique — observé : **160.79.106.34 à .39**, + toutes taguées `ua=Claude-User`. C'est le comportement normal de l'infra Claude + côté exécution d'outils, **pas une IP fixe par session/utilisateur**. +- Connexions SSH NAS sous le compte **Best0f** (clé `mcp-nas-bestof`, container + mcp-nas) : normales, c'est l'identité utilisée par Claude via mcp-nas — à ne + pas confondre avec les comptes applicatifs hermes-nyora / hermes-perso. +- Une IP hors plage (`102.158.232.77`, `ua=curl/8.7.1`) correspondait à un test + manuel de Nabil (curl direct depuis son réseau). + +## Conclusion + +Aucune intrusion. Pattern à connaître pour éviter une fausse alerte future : +- `ua=Claude-User` + IP dans la plage `160.79.106.32/28` (à affiner si de + nouvelles IP apparaissent) = trafic Claude légitime (tool calling). +- SSH Best0f depuis mcp-nas = Claude, pas un agent Hermes. + +## Incident lié (à part) — exposition tokens Gitea + +Lors de cette investigation (12/07/2026), une commande mal construite (sed de +redaction insuffisant) a affiché en clair dans une conversation Claude les +valeurs de `GITEA_TOKEN_TT`, `GITEA_TOKEN_NYORA`, `GITEA_TOKEN_PERSO` +(`GITEA_DEPLOY_TOKEN` partiellement masqué). + +**Action requise** : rotation des 4 tokens Gitea ci-dessus, à ajouter à la +liste de rotation `2L2u519w*` en cours suite à l'incident du 07–12/07/2026. + +**Leçon** : ne jamais faire confiance à un pipe `sed` de redaction non testé +avant affichage — toujours valider le masquage sur une valeur factice d'abord, +ou mieux, ne jamais imprimer un fichier `.env` complet même redacté : cibler +uniquement les noms de variables, ou consommer la valeur côté serveur (dans +la commande SSH elle-même) sans jamais la faire remonter dans la sortie.