Preuve · rapport

lecture-vultr-live-2026-09-13.md

Rapport de vérification de l'audit, texte brut · sur GitHub (dépôt privé, accès requis)

147 lignes · ← retour à l'audit · catalogue des preuves

1# Lecture en direct du compte Vultr de FLEXYLEAD — 13 septembre 2026
2
3**Agent :** agent principal de session · **Régime :** lecture seule, GET uniquement, API Vultr v2
4**Clé employée :** jeton d'accès de Gregory, remis le 13/09, conservé en `600` dans le scratchpad, jamais recopié
5**Fenêtre des appels :** 2026-09-13 **10:19:00Z → 10:25Z** · ~20 appels, tous en lecture
6**Omission délibérée :** `/v2/object-storage/{id}` **n'a pas été appelé** — il renvoie les clés S3 en clair. Rien ne l'exigeait.
7
8---
9
10## 1. La question centrale est tranchée
11
12**FAIT** — `GET /v2/instances` : le compte contient **une seule machine**, et son `main_ip` est **`95.179.222.52`**.
13
14C'est l'adresse relevée ce matin par DNS inverse comme appartenant à Vultr Holdings LLC Paris. **La machine Vultr est donc bien celle de FLEXYLEAD.** L'hypothèse concurrente soulevée par le cadrage d'infrastructure — une machine personnelle de Marco, cas déjà documenté chez Hetzner — est **éliminée**.
15
16Son unique trace dans le corpus jusqu'à aujourd'hui était une ligne de régime de travail du 09/09 (`preuves-fond-2026-09-09.md:4`), sans attribution. Elle est désormais attribuée.
17
18## 2. Fiche de la machine
19
20**FAIT** — `GET /v2/instances/e85e088c-9f07-41a2-9956-f2e0574bd0a8` :
21
22| | |
23|---|---|
24| Nom et hôte | `flexylead-vultr-vx1-paris` |
25| Adresses | **`95.179.222.52`** · IPv6 `2001:19f0:6801:0a76:5400:06ff:fea8:fd7a` (réseau `2001:19f0:6801:a76::/64`) |
26| Région | **`cdg` — Paris** |
27| Gamme | `vx1-g-4c-16g-240s` — 4 cœurs, 16 384 Mo, 240 Go |
28| Système | Debian 13 x64 (trixie), `os_id` 2625 |
29| État | `active` · `server_status: ok` · `power_status: running` |
30| Créée le | **08/09/2026 à 17:11:34 UTC** |
31| Quota de transfert | 1 042 Go |
32| Frais courus | 17,45 $ |
33
34**FAIT — quatre champs vides qui comptent :**
35- **`firewall_group_id` : vide.** Aucun groupe de pare-feu Vultr attaché. `GET /v2/firewalls` : **0 groupe sur tout le compte.**
36- **`internal_ip` : vide**, `vpcs: []`, `vpc_only: false` — **aucun réseau privé.**
37- **`snapshot_id` et `image_id` : vides** — machine créée depuis une image système, pas depuis un instantané.
38- **`user_scheme: root`** — la machine s'utilise en `root`.
39
40**FAIT** — `GET /v2/ssh-keys` : **0 clé SSH enregistrée sur le compte.**
41
42**Conséquence, niveau SUGGÉRÉ, à porter au dossier :** le port 22 est ouvert (constaté ce matin depuis un poste extérieur), la machine s'utilise en `root`, aucune clé SSH n'est déclarée, et aucun pare-feu Vultr ne filtre. **L'accès administrateur se fait donc très probablement par mot de passe `root` sur un port ouvert à l'internet.** Le champ `default_password` existe dans la réponse de l'API — il n'a pas été lu et n'a pas à l'être.
43
44**SUGGÉRÉ** — Puisqu'aucun pare-feu n'existe côté Vultr, le filtrage des ports 80 et 443 observé ce matin depuis l'extérieur est **fait sur la machine elle-même** (table de filtrage locale), ou bien aucun service n'y écoute.
45
46## 3. Aucune sauvegarde, d'aucune sorte
47
48**FAIT**, trois lectures concordantes :
49- `GET /v2/snapshots` → **0 instantané**
50- `GET /v2/backups` → **0 sauvegarde**
51- `GET /v2/instances/{id}/backup-schedule` → **`{"enabled": false}`**, aucun horaire, aucune prochaine occurrence
52
53**C'est le constat le plus actionnable de cette lecture**, et il porte sur la machine qui reçoit la production en ce moment même (§4). Il prolonge et confirme sur le nouvel hébergeur un constat déjà porté au dossier : aucune sauvegarde constatée, alors que la plateforme Apteva publie un composant `backup` (v0.3.6 « native Go instance folder backups », `plateforme-mouvement-2026-09-09.md:32`).
54
55## 4. La bascule des données a lieu ce matin
56
57**FAIT** — `GET /v2/instances/{id}/bandwidth`, transfert par jour depuis la création :
58
59| Jour | Entrant | Sortant |
60|---|---:|---:|
61| 08/09 (création à 17:11) | 55,5 Go | 13,1 Go |
62| 09/09 | 2,1 Go | 2,5 Go |
63| 10/09 | 3,3 Go | 3,4 Go |
64| 11/09 | 3,2 Go | 3,2 Go |
65| 12/09 | 0,9 Go | 0,7 Go |
66| **13/09 (jusqu'à 10:19)** | **288,1 Go** | **96,7 Go** |
67| **Total** | **353,1 Go** | **119,6 Go** |
68
69**FAIT** — `GET /v2/object-storage` : **un stockage objet, `flexylead-vultr-storage-amsterdam`, créé le 13/09 à 07:16:58 UTC**, région **`ams` — Amsterdam**, hôte S3 `ams1.vultrobjects.com`, état actif. Facturé 4 heures au moment de la lecture.
70
71**Le faisceau est net, et tout converge sur cette matinée :**
72
73| Heure UTC, 13/09 | Fait établi | Source |
74|---|---|---|
75| 07:16:58 | création du stockage objet à Amsterdam | `/v2/object-storage` |
76| 08:14:18 | binaire Apteva 0.51.3 reconstruit | `/api/version` |
77| 08:20:21→08:20:47 | redémarrage échelonné des agents de staging | `/api/instances` |
78| 09:47:39→09:47:40 | redémarrage échelonné des **quatre agents de production** | `/api/instances`, deux relevés |
79| 10:19 | 288 Go entrants et 97 Go sortants sur la journée | `/v2/instances/{id}/bandwidth` |
80
81**FAIT** — Un facteur **~100** sépare le transfert d'aujourd'hui de celui des quatre jours précédents (288 Go contre 0,9 à 3,3 Go).
82
83**SUGGÉRÉ, et fortement** — **La bascule des données vers Vultr est en cours ce matin.** Le profil est celui d'une machine qui tire des données d'ailleurs (288 Go entrants) et en pousse vers un stockage objet créé deux heures plus tôt (97 Go sortants). L'ordre de grandeur est compatible avec les 96,66 Go d'audio déjà basculés sur Scaleway le 06/09, et au-delà.
84
85**Ce que cela change pour un constat de la lecture Apteva** : le redémarrage des quatre agents de production à 09:47:40, survenu deux minutes après nos premiers appels, trouve ici une explication bien plus vraisemblable qu'une conséquence de nos lectures — **une matinée de migration active, avec redémarrages en série**. Le niveau reste `HYPOTHÈSE` ; c'est au contradicteur de trancher sur le code, mais le faisceau circonstanciel a changé de côté.
86
87## 5. Ce que le compte ne contient pas
88
89**FAIT** — Toutes ces lectures renvoient zéro élément : `/v2/bare-metals` (aucun serveur dédié), `/v2/load-balancers`, `/v2/blocks` (aucun volume), `/v2/databases`, `/v2/reserved-ips`, `/v2/startup-scripts`, `/v2/domains` (**aucune zone DNS chez Vultr** — le domaine reste chez Google), `/v2/billing/invoices` (**aucune facture émise à ce jour**).
90
91**FAIT** — **`GET /v2/account/activity` renvoie 404.** Le cadrage d'infrastructure signalait l'absence de journal d'actions comme son affirmation la plus fragile : **elle est vérifiée**. Il n'existe pas de journal d'actions lisible par l'API v2. **Conséquence : on ne saura jamais par cette voie qui a créé le stockage objet à 07:16 ni qui a agi sur le compte.** Seuls des relevés datés régulièrement, comme celui-ci, tiennent lieu de mémoire.
92
93**FAIT** — Toujours **aucun serveur dédié**, alors que Marco décrivait du matériel dédié (Ryzen PRO 3600, 6 cœurs / 12 fils, 32 Go, 2 × 1 To NVMe). La réserve du 08/09 tient : **ce n'est pas la machine annoncée**, et cinq jours plus tard elle n'a pas été remplacée.
94
95## 6. Coût réel — et l'écart avec le budget annoncé
96
97**FAIT** — `GET /v2/billing/pending-charges` :
98
99| Produit | Détail | Unités | Prix unitaire | Total |
100|---|---|---:|---:|---:|
101| Vultr Cloud Compute | `95.179.222.52 (16384 MB) [flexylead-vultr-vx1-paris]` | 114 heures | 0,153 $ | **17,45 $** |
102| Object Storage | `Standard (flexylead-vultr-storage-amsterdam)` | 4 heures | 0,0268 $ | 0,11 $ |
103| | | | | **17,56 $** |
104
105**FAIT** — `GET /v2/account` : `balance` **−10** (soit 10 $ d'avoir), `pending_charges` **17,56 $**, aucune facture émise.
106
107**PROJECTION, et à présenter comme telle** — 0,153 $/heure sur un mois plein (730 h) = **111,7 $/mois pour la seule machine**, hors stockage objet (0,0268 $/h ≈ 19,6 $/mois si maintenu). Soit **de l'ordre de 130 $/mois**. Ce n'est **pas une dépense constatée** : le compte n'a émis **aucune facture**, et les frais courus au moment du relevé sont de 17,56 $ pour 114 heures. Le tarif horaire, lui, est facturé et vérifié.
108
109**Le budget porté au dossier était « environ 45 €/mois »**, niveau `SUGGÉRÉ` (`contre-audit-migration-2026-09-03.md:113`). **L'écart est d'un facteur proche de 2,5.** À rapprocher d'un fait déjà établi : Apteva a corrigé « Vultr VX1 catalog **pricing** » le 08/09 à 18:11, soit **une heure après** la création de cette machine (`plateforme-mouvement-2026-09-09.md:34`) — le tarif affiché au moment du choix venait d'un catalogue contemporain de son propre correctif. **À porter à `audit-argent`.**
110
111**FAIT — le quota de transfert n'est pas un sujet**, contrairement à ce qu'un premier calcul pouvait suggérer. `GET /v2/account/bandwidth`, cycle du 01/09 au 13/09 10:14 : **354 Go entrants, 120 Go sortants**, pour **1 042 crédits acquis à ce jour** et **4 891 projetés** sur le mois complet, plus 2 048 crédits gratuits. Dépassement : **0**, au tarif de 0,01 $/Go. Même en poursuivant la bascule, la marge est large.
112
113## 7. Comptes et droits — l'état du 08/09 a tenu
114
115**FAIT** — `GET /v2/users` : **trois utilisateurs**.
116
117| Compte | Adresse | Accès programmatique | Droits | Sensibles |
118|---|---|---|---:|---|
119| JEREMY NORMAND | `j.normand@flexylead.com` | **non** | 17 | `manage_users`, `billing`, `provisioning`, `upgrade` |
120| Gregory DELALOEUF | `flexylead.gestion@gmail.com` | oui | 16 | `manage_users`, `billing`, `provisioning`, `upgrade` |
121| Marc Olivier Schwartz | `marcolivierschwartz@gmail.com` | oui | 14 | `provisioning`, `upgrade` |
122
123**FAIT** — **Le retrait de `manage_users` et `billing` au compte de Marco, appliqué le 08/09 à 18:25, a tenu.** Cinq jours plus tard, il ne les a pas récupérés. Le compte du propriétaire garde son accès programmatique désactivé.
124
125**FAIT** — `GET /v2/account` : `org_name` et `company_name` = **FLEXYLEAD GROUP**, siège 3 La Billiaie, Béganne, et **`TAXID: FR10949256226`** — **le numéro de TVA déposé le 08/09 est désormais enregistré sur le compte.** Le point ouvert du 08/09 est clos.
126
127**Rappel de constat, inchangé** — Deux des trois accès reposent sur des boîtes Gmail personnelles (Marco, Gregory). La chaîne de propriété passe par des messageries que FLEXYLEAD ne contrôle pas. Et `flexylead.gestion@gmail.com` est une boîte partagée, également utilisée comme identifiant du compte administrateur n°1 d'Apteva.
128
129## 8. Ce qui reste à établir
130
1311. **Que contient le stockage objet d'Amsterdam** et d'où viennent les 288 Go entrants. L'API Vultr ne donne ni le volume ni le contenu d'un bucket ; le savoir exige une lecture S3, donc les clés — que nous n'avons pas lues et ne demanderons pas sans nécessité.
1322. **Pourquoi le compute est à Paris et le stockage objet à Amsterdam.** Le point était signalé le 08/09 comme irréversible sans nouvelle migration. Deux régions, deux latences, et du transfert entre elles.
1333. **Si la machine sert déjà la production** ou si elle ne fait que recevoir des données. Le DNS pointe encore intégralement sur Hetzner, l'instance Apteva répond depuis Hetzner, et les ports 80/443 de la machine Vultr sont filtrés depuis l'extérieur. **SUGGÉRÉ : réception de données, pas encore mise en service.**
1344. **Qui a agi ce matin sur le compte** — non établissable, faute de journal d'actions (§5).
135
136## 9. À signaler à Jeremy, par ordre d'urgence
137
1381. **Aucune sauvegarde sur la machine qui reçoit la production.** Ni instantané, ni sauvegarde planifiée, ni volume séparé. Un incident disque aujourd'hui perd ce qui a été transféré ce matin. Le service de sauvegarde existe chez Vultr, il n'est pas activé.
1392. **Accès administrateur par mot de passe `root` sur un port 22 ouvert, sans pare-feu Vultr, sans aucune clé SSH déclarée.**
1403. **Le coût réel est de l'ordre de 130 $/mois**, contre environ 45 € annoncés.
1414. **Ce n'est toujours pas la machine annoncée** — instance cloud, pas serveur dédié, cinq jours après.
1425. **Il n'existe aucun journal d'actions.** Toute traçabilité repose sur des relevés datés pris à la main.
143
144---
145
146*Ce document décrit le compte Vultr de FLEXYLEAD GROUP au 13/09/2026 entre 10:19 et 10:25 UTC. Une bascule de données était en cours pendant la lecture : l'état a changé pendant que nous le lisions.*
147