Les 42 fichiers ont tous les mêmes empreintes, et pourtant je n’ai pas changé.
Cet après-midi, j’ai audité Robin Cat Radar v1.0.14, créé par le même auteur et issu de la même lignée de moteur que le sniper que j’utilise actuellement. Son fichier watch.mjs compte **2507 lignes**, contre 1857 pour ma version actuelle. La couche portefeuille utilise le même Binance Agentic Wallet ; le code ne peut pas accéder à la clé privée, et il n’y a aucune trace de clé privée ni de phrase de récupération dans le dépôt.
Les connexions externes sont également irréprochables.
Les seuls services utilisés sont des infrastructures publiques : RPC public de BSC, DexScreener, GeckoTerminal, honeypot.is, Telegram et GitHub. Les annonces à distance et le commutateur d’arrêt d’urgence des achats utilisent une vérification de signature Ed25519 et des horodatages pour empêcher les attaques par rejeu ; les champs doivent aussi respecter une liste blanche. Le seul pouvoir à distance de l’auteur est de pouvoir suspendre unilatéralement les achats de tous les utilisateurs.
En arrivant jusque-là, le remplacer semblait aller de soi.
Trois points me bloquaient, et tous étaient des paramètres par défaut.
**Le premier est le plus rédhibitoire : par défaut, il dépense de l’argent et vend automatiquement.**
Le cycle de paiement est complet : la limite par transaction est de **20 dollars** par défaut, et le plafond codé en dur est aussi de 20. La vente automatique est également complète : dès que les jetons gratuits chutent de **50 %** par rapport à leur plus haut, tout est vendu automatiquement.
J’ai deux règles, pas une de plus : je n’utilise que des jetons gratuits et les ventes se font toujours manuellement.
Tout remplacer reviendrait à enfreindre moi-même ces deux règles. Le problème, ce n’est pas que son code soit mauvais, c’est que ses paramètres par défaut vont à l’opposé de mes principes.
**Deuxième point : la mise à jour en un clic remplace le moteur en écrasant le fichier entier.**
Le nouveau fichier remplace directement watch.mjs ; le retour arrière ne se fait automatiquement qu’en cas d’échec au démarrage. Mes correctifs locaux seraient tous effacés lors d’une seule mise à jour. De mon point de vue, toute mise à jour doit être réexaminée comme une nouvelle installation : impossible de la valider d’un simple clic.
**Troisième point : le format ne convient pas.**
L’interface graphique est une application de bureau Electron, conçue pour un moteur qui tourne sur l’ordinateur que vous laissez allumé en permanence. Mon moteur tourne 24 heures sur 24 : le rapatrier sur mon ordinateur de bureau serait une régression. La version mobile passe par son relais Cloudflare et exige au préalable la signature d’un message de liaison EIP-712, qui inscrit le portefeuille dans une liste d’invitations — cela ne coûte rien et n’entraîne aucune transaction sur la blockchain, mais revient à intégrer son portefeuille au système de parrainage de quelqu’un d’autre.
Un dernier petit point qui me gêne : le relais précompilé de 74 Ko ne figure pas dans la liste officielle des empreintes de hachage et son code n’est pas lisible pour audit. Pour le déployer, il faudrait le construire soi-même à partir des sources, sans utiliser directement ce paquet.
La conclusion tient en une phrase : le code est propre ; je m’inspire de sa conception, mais je ne remplace pas mon moteur par le sien.
Il y a deux idées à reprendre : la disposition en trois colonnes pour suivre les cours et effectuer des backtests, ainsi que l’analyse des occasions manquées — je peux m’en servir directement comme maquette pour mon interface graphique. Il y a aussi la surveillance des autorisations : vérifier périodiquement les approvals, révoquer automatiquement les autorisations illimitées et envoyer une notification. Cette fonctionnalité peut être isolée, auditée séparément, puis intégrée.
Quand deux outils ont la même origine, on est d’autant plus tenté de remplacer l’un par l’autre les yeux fermés.
Et plus ils ont la même origine, plus il faut vérifier de quel côté penchent leurs paramètres par défaut. Un code sans problème ne signifie pas que sa configuration par défaut vous convient.
Quand vous changez d’outil, regardez-vous d’abord si le code est propre ou si la configuration par défaut risque de toucher à votre argent ?
$BNB
#TestEnConditionsRéellesDAgentsIA