Skip to content
KitploitKITPLOIT
OutilsBlog
Soumettre
OutilsBlog
Soumettre

Outils de Hacking, PenTest et Cybersécurité pour votre Arsenal de Sécurité !

Kitploit est un répertoire d'outils de hacking, de cybersécurité et de pentesting. Découvrez les dernières mises à jour des projets pour trouver des vulnérabilités, analyser des systèmes, automatiser les tests et renforcer votre sécurité.

··Flux·Contact·Confidentialité·© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
Outils/GitHubGitHub/loserlab/bigint-buffer-safe
Utilitaires GénérauxOutils de Chiffrement/DéchiffrementAnalyse des VulnérabilitésSécurité de la Chaîne LogistiqueApprentissage et Éducation
GitHubloserlab/bigint-buffer-safe

bigint-buffer-safe

Remplacement direct sûr, en pur JS, pour bigint-buffer. Corrige CVE-2025-3194 (CVSS 7.5). Zéro dépendance, aucune liaison native.

Voir le dépôt
13il y a 5 moisPas encore vérifié

Populaires

Voir tout →

Découvrez les outils les plus utilisés par notre communauté.

Explorer tous les outils

Parcourez notre collection d'outils

Voir tous les outils →
Partager

bigint-buffer-safe

bigint-buffer-safe

Remplacement direct sûr, 100 % JavaScript, pour bigint-buffer. Corrige CVE-2025-3194 (CVSS 7.5, dépassement de tampon / DoS).

Zéro dépendance. Aucun binding natif. Fonctionne dans Node.js et les navigateurs.

Pourquoi ce paquet existe-t-il ?

Le paquet bigint-buffer d'origine présente une vulnérabilité de dépassement de tampon de sévérité élevée (CVE-2025-3194, CVSS 7.5), qui fait planter votre processus lorsque toBigIntLE(null) ou une autre entrée invalide est passé. Le mainteneur n'a pas publié de mise à jour depuis octobre 2019. Le paquet @solana/buffer-layout-utils qui en dépend a été archivé en janvier 2025. Aucun correctif en amont n'est à venir.

Cette vulnérabilité affecte tout l'écosystème Solana via la chaîne de dépendances transitive :

root@kitploit:~
bigint-buffer → @solana/buffer-layout-utils → @solana/web3.js v1.x → @solana/wallet-adapter-*

bigint-buffer-safe est un remplacement en pur JavaScript avec une validation correcte des entrées. Compatible avec l'API de [email protected].

Installation

root@kitploit:~
npm install bigint-buffer-safe

Remplacement direct pour les projets Solana (recommandé)

Ajoutez à votre package.json pour remplacer bigint-buffer dans tout votre arbre de dépendances :

npm (v8.3+) :

root@kitploit:~
{
  "overrides": {
    "bigint-buffer": "npm:bigint-buffer-safe@^1.0.0"
  }
}

yarn :

root@kitploit:~
{
  "resolutions": {
    "bigint-buffer": "npm:bigint-buffer-safe@^1.0.0"
  }
}

pnpm :

root@kitploit:~
{
  "pnpm": {
    "overrides": {
      "bigint-buffer": "npm:bigint-buffer-safe@^1.0.0"
    }
  }
}

Utilisation directe depuis GitHub (si le paquet n'est pas publié sur npm) :

root@kitploit:~
{
  "overrides": {
    "bigint-buffer": "github:LoserLab/bigint-buffer-safe"
  }
}

Puis réinstallez :

root@kitploit:~
rm -rf node_modules package-lock.json && npm install

Vérifiez que la vulnérabilité est corrigée :

root@kitploit:~
npm audit

API

Identique à [email protected] :

root@kitploit:~
import { toBigIntBE, toBigIntLE, toBufferBE, toBufferLE } from "bigint-buffer-safe";

// Buffer → BigInt
toBigIntBE(Buffer.from([0x01, 0x00])); // 256n
toBigIntLE(Buffer.from([0x00, 0x01])); // 256n

// BigInt → Buffer
toBufferBE(256n, 2); // <Buffer 01 00>
toBufferLE(256n, 2); // <Buffer 00 01>

Qu'est-ce qui diffère de l'original ?

Validation des entrées. Une entrée invalide lève une TypeError au lieu de faire planter votre processus :

root@kitploit:~
// Original bigint-buffer: CRASHES (CVE-2025-3194)
toBigIntLE(null);

// bigint-buffer-safe: throws TypeError
toBigIntLE(null); // TypeError: toBigIntLE: expected a Buffer, got null

Aucun binding natif. L'original fournit des bindings C++ N-API qui échouent silencieusement dans les navigateurs et les bundlers (le fameux avertissement "bigint: Failed to load bindings"). Ce paquet est en pur JavaScript.

Benchmarks

JS pur, sans binding natif. Testé sur Apple Silicon (série M), Node.js, 1 million d'itérations pour chaque.

OpérationTailleOps/sec
toBigIntBEu64 (8 bytes)9 079 934
toBigIntLEu64 (8 bytes)6 128 182
toBigIntBEu128 (16 bytes)7 018 804
toBigIntLEu128 (16 bytes)5 069 809
toBufferBEu64 (8 bytes)5 569 161
toBufferLEu64 (8 bytes)5 183 747
toBufferBEu128 (16 bytes)7 063 305
toBufferLEu128 (16 bytes)6 533 752

Pour les entiers u64 et u128 utilisés dans les programmes Solana (lamports, montants de jetons, horodatages), les performances sont plus que suffisantes. Les bindings N-API de l'original étaient plus rapides pour les très grands tampons, mais ces tailles ne sont pas utilisées dans Solana.

Exécutez les benchmarks vous-même :

root@kitploit:~
npx tsx bench/index.ts

FAQ

Qui est concerné ?

Tout projet utilisant @solana/web3.js v1.x (versions 1.43.1 à 1.98.x). Exécutez npm ls bigint-buffer pour vérifier s'il est dans votre arbre de dépendances.

Cela affecte-t-il @solana/kit (web3.js v2) ?

Non. @solana/kit a zéro dépendance tierce et n'utilise pas bigint-buffer. Si vous avez déjà migré vers Kit, vous n'êtes pas concerné.

Qu'en est-il de l'avertissement « bigint: Failed to load bindings » ?

Cet avertissement provient des bindings natifs N-API de bigint-buffer qui ne parviennent pas à se charger dans les environnements empaquetés. Le remplacer par bigint-buffer-safe l'élimine, car ce paquet est en pur JavaScript.

Est-ce un correctif permanent ?

C'est une passerelle pour les projets encore sur @solana/web3.js v1.x. La solution permanente est de migrer vers @solana/kit, qui a zéro dépendance externe.

En quoi est-ce différent de bigint-buffer-fixed ?

bigint-buffer-fixed est un autre fork communautaire. bigint-buffer-safe supprime entièrement les bindings natifs N-API (éliminant l'avertissement « Failed to load bindings »), inclut une suite de tests complète de 64 tests et fournit des définitions de types TypeScript.

La solution à long terme

Ce paquet est une passerelle pour les projets sous @solana/web3.js v1.x. La solution permanente est de migrer vers @solana/kit (web3.js v2), qui a zéro dépendance externe et n'utilise pas du tout bigint-buffer. La Fondation Solana a également publié ConnectorKit (@solana/connector) comme remplacement moderne de l'écosystème des wallet adapters, avec prise en charge double v1/v2.

Fait partie de la boîte à outils de migration Solana

Quatre outils qui fonctionnent ensemble pour faire passer votre projet de web3.js v1 à Kit v2 :

OutilRôle
solana-depsRetrace pourquoi les paquets hérités sont dans votre arbre de dépendances
solana-auditDétecte les CVE et les API dépréciées que npm audit ne voit pas
solana-codemodMigre automatiquement le code de web3.js v1 vers Kit v2
bigint-buffer-safe (cet outil)Correctif CVE direct pour bigint-buffer

Flux de travail recommandé : solana-deps (identifiez ce qui est hérité) -> solana-audit (vérifiez les vulnérabilités) -> solana-codemod (corrigez le code) -> solana-audit (vérifiez le résultat).

Auteur

Créé par Heathen

Développé dans Mirra

Licence

Licence MIT

Copyright (c) 2026 Heathen

Télécharger l’outil