Aller au contenu
Korben, roi d’internet, logo bébé avec des lunettes en mode thug life

Tu aurais voulu découvrir cette astuce avant tout le monde ? Alors rejoins-moi sur Patreon !

On s’en doutait, mais là c’est prouvé scientifiquement : Les extensions Chrome peuvent sérieusement ralentir vos séances de surf !

C’est en tout cas ce que révèlent les tests menés par la bande de geeks de DebugBear qui ont passé au crible les 5000 extensions Chrome les plus populaires pour voir l’impact sur les performances. Et c’est décevant… Prenez par exemple Monica, un outil IA avec ses 2 millions d’utilisateurs. Et bien elle rajoute tranquillement 1,3 seconde de temps de traitement sur chaque page, même les plus basiques ! Pas glop…

Un autre exemple concerne Honey, un outil qui propose des coupons de réduction et qui compte 20 millions d’utilisateurs. Quand vous surfez sur un site de shopping comme Ikea, ce petit malin s’active et vous colle 1,5 seconde de CPU en plus. Bonjour l’addition !

Mais le pire du pire, c’est MaxAI et ses 800 000 utilisateurs. Cet outil infernal ajoute carrément 2,3 secondes de traitement à chaque page ! What the heck ? On n’est pas tous équipés d’un super GPU quantique de la mort pour compenser le laxisme des dev…

Notons aussi que « Superagent – Automatic cookie consent » cause plus de 4 secondes de traitement par page. Certains programmes de récompenses pour les compagnies aériennes présentent un impact similaire, ajoutant encore plus de délai lorsqu’ils sont actifs.

Heureusement, la plupart des extensions ne sont pas si terribles. 86% ont un impact négligeable, avec moins de 50 millisecondes de temps CPU supplémentaire. Ouf ! Par contre, il y en a quand même 1,7% qui dépassent allègrement la demi-seconde et ça c’est pas cool.

En creusant un peu, on voit que pas mal d’extensions VPN ou de gestionnaires de mots de passe ralentissent sévèrement le chargement des pages. Forcément, elles font transiter les données par des serveurs souvent lents à l’autre bout du monde, donc ça aide pas…

Mais il y a quand même une bonne nouvelle dans ce merdier ! Les bloqueurs de pubs, eux, accélèrent carrément la navigation. Normal, ils empêchent le chargement de tout un tas de contenus indésirables. uBlock Origin, l’un des plus populaires avec ses 37 millions d’utilisateurs, fait fondre le temps de traitement de 57 secondes à moins de 4 secondes sur les sites pleins de pubs ! Magique, mais pensez quand même à le débloquer sur mon site pour me soutenir ou à rejoindre mon Patreon si un jour l’un de mes articles vous a aidé et que vous appréciez mon boulot !

Et au niveau des données téléchargées, ça change la vie. Sans bloqueur, un site bourré de pubs pèse 41 Mo. Avec uBlock Origin, on tombe à moins de 3 Mo. Impressionnant ! Bon après, AdBlock et AdBlock Plus, je vous les déconseille car ils sont moins efficaces. Peut-être à cause du programme des « publicités acceptables » qui peut être désactivée pour améliorer les performances ? Va savoir…

Bref, avis aux développeurs d’extensions : optimisez votre code s’il vous plait ! Chargez le strict minimum, faites tourner vos scripts après le chargement de la page, pas avant. Et laissez les gens tranquilles, n’activez pas vos outils sur tous les sites par défaut quand ça n’a pas lieu d’être !

Google devrait aussi mettre un peu la pression et promouvoir les extensions légères et bien foutues car les gros scripts bien lourds qui se lancent de partout, ça va bien 5 minutes !

Bref, c’est le printemps (même s’il pleut tout le temps), alors profitez en pour faire le tri dans vos extensions ! Virez celles qui ne vous servent à rien et qui bouffent de la ressource comme pas permis ou à minima, désactivez-les quand vous n’en avez pas besoin. Votre navigateur vous dira merci !

Source



Vous êtes-vous déjà retrouvé frustré par les limites de tokens lorsque vous demandiez à ChatGPT de résumer de longs textes ? Ou découragé par les coûts élevés de l’API GPT-3.5/4 malgré d’excellents résultats ? Si c’est le cas, LLMLingua est fait pour vous !

Développé par des chercheurs de Microsoft, LLMLingua-2 est un outil révolutionnaire de compression de prompts qui permet d’accélérer l’inférence des grands modèles de langage (LLM) comme GPT-3 et GPT-4. Grâce à des techniques avancées d’identification et de suppression des tokens non essentiels, il peut réduire jusqu’à 20 fois la taille des prompts, tout en préservant les performances des modèles.

Que vous soyez un développeur cherchant à optimiser ses coûts d’API ou un utilisateur souhaitant dépasser les limites de contexte, LLMLingua vous offre de nombreux avantages :

  • 💰 Réduction des coûts : En compressant à la fois les prompts et les réponses générées, LLMLingua permet de réaliser des économies significatives sur votre facture d’API.
  • 📝 Support de contextes étendus : Fini le casse-tête du « perdu au milieu » ! LLMLingua gère efficacement les longs contextes et booste les performances globales.
  • ⚖️ Robustesse : Pas besoin d’entraînement supplémentaire pour les LLM. LLMLingua fonctionne de manière transparente.
  • 🕵️ Préservation des connaissances : Toutes les informations clés des prompts originaux, comme l’apprentissage en contexte et le raisonnement, sont conservées.
  • 📜 Compression du cache KV : Le processus d’inférence est accéléré grâce à l’optimisation du cache clé-valeur.
  • 🪃 Récupération complète : GPT-4 est capable de reconstituer l’intégralité des informations à partir des prompts compressés. Bluffant !

Prenons un exemple simple et imaginons que vous vouliez compresser le prompt suivant avec LLMLingua :

python from llmlingua import PromptCompressor

llm_lingua = PromptCompressor()

prompt = "Sam a acheté une douzaine de boîtes contenant chacune 30 surligneurs, pour 10 $ chacune..."

compressed_prompt = llm_lingua.compress_prompt(prompt)

print(compressed_prompt)

Et voilà le travail ! En quelques lignes de code, vous obtenez un prompt compressé prêt à être envoyé à votre modèle favori :

Sam acheté boîtes contenant chacune 30 surligneurs, 10 $ chacune.

Avec un taux de compression de 11,2x, le nombre de tokens passe de 2365 à seulement 211 ! Et ce n’est qu’un début. Sur des exemples plus complexes comme les prompts Chain-of-Thought, LLMLingua maintient des performances similaires avec un taux de compression allant jusqu’à 20x.

Alors bien sûr, pour l’avoir bien testé, faut quand même comprendre que vous n’obtiendrez pas forcement un résultat identique entre le prompte compressé et celui non compressé mais pour un gain de 60 / 70 voire 80%, le résultat généré à partir du prompt compressé reste précis à hauteur de 70 / 80 %, ce qui est très bien.

Pour démarrer avec LLMLingua, rien de plus simple. Installez le package avec pip :

pip install llmlingua

Puis laissez libre cours à votre créativité ! Que vous soyez un adepte du Retrieval Augmented Generation (RAG), des réunions en ligne, du Chain-of-Thought ou même du code, LLMLingua saura répondre à vos besoins. De nombreux exemples et une documentation complète sont à votre disposition pour vous guider.

Perso, je l’ai testé sur de longs prompts que j’avais dans mes scripts, avec Claude3 d’ailleurs et pas ChatGPT et le résultat est top !

A tester ici !


Oyez, oyez braves gens, je me reveille et j’apprends que des développeurs de choc ont créé un hack de Super Mario 64 qui permet de créer ses propres niveaux ! Oui, vous allez pouvoir réaliser vos propres niveaux dans ce jeu mythique de la Nintendo 64. Enfin !

Alors, parlons un peu de Mario Builder 64. Déjà c’est un outil plutôt intuitif et bien conçu. Pas besoin d’être développeur pour s’en servir et avec un peu de prise en main, vous allez pouvoir façonner les niveaux de vos rêves en un rien de temps. Placez des plateformes par-ci, des ennemis par-là, ajoutez des pièces à collectionner, des power-ups, des passages secrets… Bref, laissez libre cours à votre créativité pour créer des niveaux fun, challengeants ou complètement WTF, un peu comme vous le feriez dans un Minecraft en mode créatif !

Techniquement, Mario Builder 64 est un hack de la ROM de Super Mario 64. Ça signifie qu’il faut bidouiller un peu pour le faire fonctionner mais c’est à la portée de tous. Il vous faudra une ROM de Super Mario 64, un émulateur Nintendo 64 et le patch Mario Builder 64 dispo ici, idéalement en ayant une copie légale du jeu original évidemment.

Pour installer Mario Builder 64, suivez ces étapes :

  1. Téléchargez un émulateur Nintendo 64 comme Parallel Launcher qui supporte l’émulation de carte SD virtuelle, nécessaire pour Mario Builder 64.
  2. Procurez-vous une ROM de Super Mario 64 au format .z64 (version US de préférence). Décompressez-la si besoin.
  3. Téléchargez le patch BPS de Mario Builder 64 sur Romhacking.com ou gamebanana.com.
  4. Patchez la ROM SM64 avec le fichier BPS, soit directement dans Parallel Launcher (menu Options > Manage ROM Sources > onglet BPS Patches) soit avec un outil comme Romhacking.net’s patcher. La ROM de Mario Builder 64 est alors créée !

Une fois tout installé, c’est parti pour des heures de level design intense ! L’interface de Mario Builder 64 est claire et bien pensée. Vous avez accès à une bibliothèque de plus de 100 éléments à disposer dans votre niveau : des blocs, des tuyaux, des ennemis, des obstacles, etc. Vous pouvez aussi régler des paramètres comme la musique, le temps imparti, la position de départ de Mario, et même personnaliser le thème visuel de votre niveau. Que vous souhaitiez créer un niveau speedrun, un parcours à 8 étoiles ou même une calculatrice 8-bit, vous aurez tous les outils nécessaires. Bref, c’est hyper complet !

Vos créations sont stockées sur une carte SD virtuelle créée automatiquement par l’émulateur au premier lancement. Dans Parallel Launcher, cliquez sur le bouton à côté du menu déroulant de la carte SD puis « Browse Files » pour accéder au dossier « Mario Builder 64 Levels » contenant tous vos niveaux au format .mb64.

Mais le plus cool, c’est qu’il est ultra simple d’accéder aux niveaux créés par la communauté. Il suffit de placer les fichiers .mb64 téléchargés dans ce même dossier sur votre carte SD. Que vous soyez fan de niveaux rétro ou de plateformes kaizo hardcore, vous trouverez forcément votre bonheur sur des sites comme Level Share Square ou le serveur Discord Roundtable de Rovertronic. Et si vous ne trouvez pas ce que vous voulez, vous pouvez toujours le créer vous-même !

En plus de tout ça, Mario Builder 64 propose même un thème spécial ‘Beyond the Cursed Mirror‘ qui intègre des éléments issus du hack du même nom, comme le système de ‘Badges’ donnant des power-ups permanents déblocables au joueur, ou encore un boss inédit appelé Showrunner. De quoi pousser encore plus loin les possibilités de création !

Et une fois que votre chef-d’œuvre est terminé, vous pourrez le partager avec le monde entier ! C’est génial de pouvoir jouer aux niveaux créés par d’autres, de voir leur ingéniosité et parfois de s’arracher les cheveux sur des niveaux bien hardcores et inversement, c’est super cool de voir sa création appréciée et commentée par d’autres joueurs.

Bref, j’espère que ce petit article vous aura donné envie de tester Mario Builder 64. A vous de créer maintenant !

Source


Les livres électroniques ont vraiment modifié mon rapport à la lecture… Je peux emporter toute une bibliothèque dans ma poche, acheter des livres directement depuis le kindle, prendre des notes, lire dans le noir…etc. Mais est ce que vous saviez qu’il est également possible d’optimiser encore plus votre expérience de lecture numérique grâce à la bionification ? Oui terme chelou mais je crois que c’est comme ça qu’on dit.

Je vous en ai déjà parlé y’a quelques années mais cette technique nouvelle, inspirée de recherches en sciences cognitives, consiste à mettre en gras les premières lettres des mots pour faciliter leur reconnaissance visuelle et accélérer la vitesse de lecture. Des études ont ainsi montré que notre cerveau ne lit pas lettre par lettre mais plutôt mot par mot, en se basant sur sa forme globale. Ainsi, en accentuant le début des mots, la bionification guide l’œil pour une lecture plus fluide et efficace.

Évidemment, bionifier manuellement chaque livre de votre bibliothèque serait un travail titanesque. C’est là qu’intervient Zippy, un outil en ligne de commande développé en Python qui automatise le processus pour les ebooks au format ePub. Avec juste quelques lignes de code, vous pouvez transformer n’importe quel livre en version bionique, prête à être transférée sur votre liseuse Kindle ou autre.

Pour en profiter, la première étape est de cloner le dépôt de Zippy sur GitHub :

git clone https://github.com/nimish-ks/zippy.git cd zippy

Pour éviter tout conflit intergalactique entre les dépendances Python, on va ensuite créer un environnement virtuel et y installer les bibliothèques requises via pip :

python -m venv venv source venv/bin/activate # Sous Windows, utilisez plutôt `venv\Scripts\activate` pip install -r requirements.txt

Voilà, votre laboratoire secret est fin prêt pour lancer la bionification à grande échelle ! La formule magique est la suivante :

python zippy.py <fichier_entrée> <fichier_sortie> [--algorithm <algorithme>]

Remplacez <fichier_entrée> par le chemin vers le livre ePub original et <fichier_sortie> par le nom du fichier bionifié à générer. Par exemple :

python zippy.py "Hypérion.epub" "Hypérion_Bionique.epub"

Et hop, quelques nanosecondes plus tard, vous obtenez une version dopée aux hormones de croissance de votre bouquin préféré de science-fiction ! L’algorithme de bionification par défaut, noté "- 0 1 1 2 0.4", détermine le nombre de lettres à mettre en gras en fonction de la longueur des mots et d’autres critères. Mais tel un savant fou, vous pouvez concocter votre propre formule en passant le paramètre --algorithm.

Maintenant que vous maîtrisez le pouvoir de la bionification, vous allez pouvoir dévorer « Hypérion » et tous les autres tomes du cycle d’Endymion à une vitesse supraluminique ! Fini les voyages interstellaires qui durent des plombes, les bouquins bioniques vous téléporteront en un éclair dans des univers extraordinaires.

Comme Zippy s’intègre dans votre flux de travail, vous pouvez adapter les ebooks à vos préférences avant de les transférer sur votre liseuse. Vos yeux vous diront merci !

Évidemment, en bon cyberrebelle, vous pouvez bionifier tous les ebooks qui vous passent sous la main, même ceux protégés par des DRM abusifs. Un petit coup de Calibre et de DeDRM pour les libérer, et hop, à vous la lecture augmentée !

En bidouillant un peu le code de Zippy, vous pourriez même imaginer plein d’autres optimisations à appliquer à vos bouquins voire en faire un plugin pour Calibre. Si c’est le cas, dites le moi, ça m’intéresse.

A vous de jouer !

Source


Les chasseurs de bugs et les experts en sécurité web sont toujours à la recherche d’outils pour optimiser leur boulot et dénicher des vulnérabilités et justement, il y a un nouveau venu qui risque bien de faire parler de lui : WebCopilot !

Open source, cet outil d’automatisation combine les fonctionnalités de dizaines d’autres outils réputés comme Subfinder, Nuclei, Amass ou encore SQLMap histoire de vous faire gagner un temps précieux en prenant en charge de A à Z les tâches répétitives et chronophages de l’énumération des sous-domaines, du filtrage des paramètres à risque et du scan des vulnérabilités les plus critiques.

Pour cela, il suffit de lancer WebCopilot sur un domaine cible et il s’occupe de tout :

  • Énumération des sous-domaines via une batterie d’outils (Assetfinder, Sublist3r, Amass, Findomain…)
  • Crawl de tous les endpoints des sous-domaines identifiés
  • Filtrage des paramètres potentiellement vulnérables aux failles XSS, SQLi, LFI, SSRF, Open Redirect… grâce aux patterns de l’outil gf
  • Et enfin, scan des vulnérabilités via des outils comme Nuclei, Dalfox, kxss, SQLMap ou crlfuzz

Vous obtiendrez ensuite un rapport complet qui répertoriera tous les points d’entrée intéressants.

             
                                ──────▄▀▄─────▄▀▄
                                ─────▄█░░▀▀▀▀▀░░█▄
                                ─▄▄──█░░░░░░░░░░░█──▄▄
                                █▄▄█─█░░▀░░┬░░▀░░█─█▄▄█
 ██╗░░░░░░░██╗███████╗██████╗░░█████╗░░█████╗░██████╗░██╗██╗░░░░░░█████╗░████████╗
░██║░░██╗░░██║██╔════╝██╔══██╗██╔══██╗██╔══██╗██╔══██╗██║██║░░░░░██╔══██╗╚══██╔══╝
░╚██╗████╗██╔╝█████╗░░██████╦╝██║░░╚═╝██║░░██║██████╔╝██║██║░░░░░██║░░██║░░░██║░░░
░░████╔═████║░██╔══╝░░██╔══██╗██║░░██╗██║░░██║██╔═══╝░██║██║░░░░░██║░░██║░░░██║░░░
░░╚██╔╝░╚██╔╝░███████╗██████╦╝╚█████╔╝╚█████╔╝██║░░░░░██║███████╗╚█████╔╝░░░██║░░░
░░░╚═╝░░░╚═╝░░╚══════╝╚═════╝░░╚════╝░░╚════╝░╚═╝░░░░░╚═╝╚══════╝░╚════╝░░░░╚═╝░░░
                                                      [●] @h4r5h1t.hrs | G!2m0

Usage:
webcopilot -d <target>
webcopilot -d <target> -s
webcopilot [-d target] [-o output destination] [-t threads] [-b blind server URL] [-x exclude domains]

Flags:  
  -d        Add your target [Requried]
  -o        To save outputs in folder [Default: domain.com]
  -t        Number of threads [Default: 100]
  -b        Add your server for BXSS [Default: False]
  -x        Exclude out of scope domains [Default: False]
  -s        Run only Subdomain Enumeration [Default: False]
  -h        Show this help message

Example: webcopilot  -d domain.com -o domain -t 333 -x exclude.txt -b testServer.xss
Use https://xsshunter.com/ or https://interact.projectdiscovery.io/ to get your server

Fini les heures passées à lancer des dizaines de commandes et à corréler les résultats comme ça, vous pourrez vous concentrer sur l’analyse des vulnérabilités.

Côté utilisation, c’est ultra simple. Il suffit de cloner le repo Github, d’installer les dépendances…

git clone https://github.com/h4r5h1t/webcopilot && cd webcopilot/ && chmod +x webcopilot install.sh && mv webcopilot /usr/bin/ && ./install.sh

…et vous pouvez lancer des scans en une seule commande :

webcopilot -d domain.com -o rapport

Et si vous voulez pousser la configuration plus loin, pas de problème ! WebCopilot propose tout un tas d’options bien pratiques comme :

  • -s pour ne faire que de l’énumération de sous-domaines
  • -x pour exclure certains domaines du scan
  • -b pour spécifier un serveur « blind XSS » externe
  • -t pour régler le nombre de threads et accélérer les scans

Bref, c’est l’outil pratique pour industrialiser encore un peu plus votre processus de bug bounty.

A découvrir ici !