Vue lecture

Il y a de nouveaux articles disponibles, cliquez pour rafraîchir la page.

Explorez les secrets des dépôts Git avec Grep.app

Vous êtes-vous déjà demandé ce qui se cache dans les profondeurs obscures des dépôts Git publics ? Eh bien, figurez-vous qu’il y a un outil en ligne qui permet de dénicher des trucs de dingue ! Ça s’appelle Grep.app et c’est un moteur de recherche qui va vous faire halluciner.

Concrètement, vous balancez votre recherche dans la barre et hop, ça vous sort tous les résultats où votre mot-clé apparaît dans les repos Git publics. Genre, vous tapez une adresse email et vous tombez sur tous les endroits où elle est mentionnée. Mais attention, hein… Y a pas que des trucs anodins qui traînent dans ces dépôts. Si vous cherchez un peu, vous pouvez même tomber sur des clés d’API AWS ou Google !

Bon, après faut pas déconner non plus. Si vous tombez sur des clés dans un dépôt public, considérez-les comme grillées direct. Même si le dépôt est supprimé par la suite, y a plein de petits malins qui font ce genre de recherches régulièrement. Donc méfiance !

Cela dit, Github a quand même mis en place un système d’alerte pour les clés, mots de passe, etc qui se retrouvent dans le code. Du coup, y a des chances que la plupart soient invalidées assez vite, soit par le développeur qui change sa clé, soit direct par le fournisseur. Mais on n’est jamais trop prudent…

En parlant de Github, ils ont aussi leur propre outil de recherche de code qui est plutôt balèze. Ça s’appelle Github Code Search. Ça indexe environ 45 millions de dépôts, ce qui est déjà pas mal !

En gros, ils utilisent un moteur de recherche maison qui indexe le contenu avec une technique appelée « sparse ngrams ». D’après eux, ça permet d’exécuter les recherches plus rapidement, tout en étant un index plus petit. Si vous voulez en savoir plus sur la technologie derrière, ils ont publié un article de blog super intéressant.

Maintenant, est-ce que Grep.app est à la hauteur face à Github Code Search ? Difficile à dire… Une chose est sûre, c’est que Grep.app a l’air de se concentrer uniquement sur le code en lui-même. Donc si vous cherchez des chaînes de texte dans de la prose qui se retrouve dans des recherches de code, vous risquez de passer à côté avec Grep.app. Genre pour chercher dans des fichiers texte ou Markdown.

Et ça, c’est un peu dommage. Parce que des fois, on a besoin de chercher du code avec plein de caractères spéciaux vicieux. Et là, la recherche de code actuelle de Github nous laisse tomber. Mais bon, on peut pas tout avoir non plus… En attendant, Grep.app reste quand même un outil bien pratique pour dénicher des infos cachées dans les entrailles de Git. Et puis c’est gratuit et open-source en plus !

AiFormat – Un outil en ligne de commande pour formater vos fichiers pour Claude

Si vous vous intéressez un peu aux outils IA, vous connaissez sûrement Claude, l’assistant IA dernière génération d’Anthropic. Depuis la sortie de sa version 3, c’est d’ailleurs devenu mon meilleur pote pour coder à la vitesse de l’éclair. j’ai même pris un abonnement payant en rusant un peu.

Toutefois, le seul truc qui me ralentissait dans mes grandes ambitions, c’était de devoir copier-coller à la main tous mes fichiers de code dans la fenêtre de contexte de Claude pour ensuite lui demander d’analyser ça, et me proposer des corrections ou une nouvelle fonction. Mais ça, c’était avant car je suis tombé sur un petit bijou opensource qui va vous changer la vie : AiFormat.

Ce petit outil en ligne de commande vous permet de sélectionner des fichiers et dossiers, et de les convertir automatiquement dans un format optimisé pour Claude. En deux clics, tout est dans le presse-papier, prêt à être envoyé à votre IA préférée.

Sous le capot, AiFormat utilise Ink, une chouette librairie pour créer des CLI avec une belle interface utilisateur. Ça vous permet de filtrer et naviguer dans vos fichiers, de les sélectionner avec les flèches, et tout ça de façon super intuitive.

Pour l’installer et le prendre en main, c’est hyper simple, tout est expliqué sur la page Github du projet. Ça commence par un simple :

npm install --global aiformat

Ensuite, pour utiliser aiformat, accédez au répertoire contenant les fichiers et dossiers que vous souhaitez partager avec Claude puis lancez la commande suivante :

aiformat

Le créateur a eu la bonne idée de mettre le projet en opensource (MIT license), du coup n’hésitez pas à y jeter un œil et même contribuer si le cœur vous en dit. La communauté vous dira merci !

Franchement, si vous utilisez souvent Claude pour coder ou analyser des projets, c’est un indispensable à avoir dans sa boîte à outils. Ça vous fera gagner un temps fou au quotidien.

Alacritty – Le terminal nouvelle génération ultra rapide

Envie d’un terminal nouvelle génération qui allie performance et flexibilité ? Ne cherchez plus, Alacritty est fait pour votre bonheur !

Disponible sur toutes les plateformes qui comptent (Linux, macOS, Windows, BSD ^^), ce terminal au look sobre et épuré cache sous son capot une configuration ultra complète. Pas besoin de réinventer la roue, Alacritty s’intègre avec vos applications préférées pour vous offrir une expérience sur-mesure sans compromis sur la vitesse. Bon OK, c’est encore un peu jeune, il est un peu long à configurer et il reste quelques fonctionnalités à ajouter et bugs à corriger, mais ça n’empêche pas de nombreux baroudeurs du shell de l’utiliser quotidiennement. YOLO comme on dit.

Mais Alacritty, c’est pas qu’un simple émulateur de terminal de base. Il embarque des features bien pratiques pour améliorer la vie des accros de la ligne de commande :

  • Vous aimez vim ? Ça tombe bien, avec le mode Vi vous pouvez retrouver vos réflexes pour vous déplacer et sélectionner du texte.
  • Vous avez la flemme de scroller manuellement pour retrouver une commande ou une erreur ? Utilisez la recherche intégrée pour localiser ce que vous voulez en un clin d’œil.
  • Vous en avez marre de jongler entre votre souris et votre clavier ? Avec les hints façon regex, plus besoin de quitter le clavier, interagissez avec n’importe quel texte à l’écran.
  • Votre PC rame quand vous ouvrez 10 terminaux en même temps ? Pas de problème, avec le mode multi-fenêtres , un seul process Alacritty est partagé intelligemment.

Et je vous ai parlé que de quelques fonctionnalités, y’en a bien d’autres à découvrir dans la doc.

Après la théorie, passons à la pratique. Pour l’installer, c’est ultra simple. Si vous êtes sur macOS ou Windows, direction la page des releases GitHub pour chopper le binaire. Sous Linux ou BSD, il est sûrement déjà dans le gestionnaire de paquets de votre distrib. Sinon, les instructions détaillées vous expliqueront comment compiler depuis les sources.

Une fois installé, pas besoin de vous embêter à configurer, les options par défaut sont déjà pas mal. Mais si vous voulez quand même mettre votre patte, le fichier de config en TOML se trouve, en fonction de votre OS, dans $XDG_CONFIG_HOME/alacritty, $HOME/.config/alacritty ou %APPDATA%\alacritty.

Par exemple, pour l’installer sous macOS, vous pouvez faire également :

brew install --cask alacritty

Puis créer un fichier de config comme ceci :

mkdir -p ~/.config/alacritty && touch ~/.config/alacritty/alacritty.toml

Voici un exemple de config à mettre dedans pour obtenir un truc comme ça :

# Configuration du shell et des variables d'environnement
shell = { program = "/bin/zsh", args = ["-l"] }

[env]
TERM = "xterm-256color"

# Activation du rechargement dynamique de la configuration
#live_config_reload = true

# Configuration de la fenêtre pour un look minimaliste et semi-transparent
[window]
decorations = "buttonless"
dynamic_padding = false
opacity = 0.9
padding = { x = 25, y = 20 }

# Configuration de la police personnalisée avec styles spécifiques pour différents états du texte
[font]
size = 20.0
[font.normal]
family = "JetBrains Mono"
style = "Medium"
[font.bold]
family = "JetBrains Mono"
style = "Heavy"
[font.italic]
family = "JetBrains Mono"
style = "Medium Italic"
[font.bold_italic]
family = "JetBrains Mono"
style = "Heavy Italic"

# Configuration des couleurs
[colors]
[colors.primary]
background = '#282a36' # Arrière-plan foncé
foreground = '#f8f8f2' # Texte clair
[colors.cursor]
text = 'CellBackground'
cursor = '#ff79c6' # Couleur du curseur
[colors.selection]
text = 'CellBackground'
background = '#44475a'

# Configuration du curseur
[cursor]
style = { shape = "Block", blinking = "On" }
thickness = 0.25

# Ajout de raccourcis clavier pour améliorer l'efficacité
[keyboard]
bindings = [
  { key = 'N', mods = 'Control|Shift', action = 'CreateNewWindow' },
  { key = 'C', mods = 'Control|Shift', action = 'Copy' },
  { key = 'V', mods = 'Control|Shift', action = 'Paste' },
  { key = '+', mods = 'Control', action = 'IncreaseFontSize' },
  { key = '-', mods = 'Control', action = 'DecreaseFontSize' },
  { key = '0', mods = 'Control', action = 'ResetFontSize' }
]

Mais du coup, c’est vraiment le terminal le plus rapide ?

Difficile à dire… Mesurer les perfs d’un terminal, c’est compliqué. Sur les benchmarks, en tout cas, Alacritty s’en sort bien, surtout grâce à l’accélération GPU. Après, sur des critères plus subjectifs comme la latence ou la fluidité de l’affichage, difficile de départager les challengers. Le mieux est de l’essayer et de voir s’il convient à VOS usages.

Par contre, ne vous attendez pas à retrouver toutes les fonctionnalités de terminaux plus anciens. Pas de tabs, pas de splits, Alacritty se concentre sur son cœur de métier. Pour ces features, votre gestionnaire de fenêtres ou un multiplexeur comme tmux feront très bien l’affaire. Et si vous voulez faire un peu de customisation, il faudra vous plonger dans la doc.

Après, si jamais il vous manque un truc indispensable, le projet est ouvert aux contributions. Alacritty est d’ailleurs distribué sous licence Apache 2.0. Donc si vous vous sentez de rajouter ce p’tit truc manquant, la communauté vous accueillera à bras ouverts. Comme quoi, y’a pas que Microsoft qui sait faire dans l’open source ! mdr.

En attendant de voir vos pull requests pleuvoir sur ce projet, je ne peux que vous conseiller de tester Alacritty. Vous verrez, c’est le genre d’outil auquel on s’habitue vite et qui change la vie. Bon OK, ça reste un terminal, faut pas exagérer non plus. N’empêche que depuis que j’ai goûté à la fluidité de son rendu, j’avoue que j’aurais du mal à revenir en arrière !

Merci à Lorenper

Avec l’IA, GitHub va détecter et corriger les vulnérabilités dans votre code !

"Code Scanning Autofix", c'est le nom de la nouvelle fonctionnalité lancée par GitHub ! Elle a pour objectif d'analyser votre code à la recherche de vulnérabilités, et surtout, d'automatiser la correction à votre place.

La fonctionnalité "Code Scanning Autofix" est disponible en beta publique, et elle est activée par défaut sur tous les dépôts privés des utilisateurs de GitHub Advanced Security. Elle bénéficie de l'intelligence artificielle au travers de GitHub Copilot et CodeQL, ce dernier étant le moteur d'analyse de code développé par GitHub pour automatiser les contrôles de sécurité.

Au sein de son article de blog, GitHub annonce que la correction automatique du code "couvre plus de 90% des types d'alertes en JavaScript, Typescript, Java et Python, et propose des suggestions de code permettant de corriger plus des deux tiers des vulnérabilités trouvées avec peu ou pas de modifications."

Il est à noter que cette fonctionnalité ne va pas uniquement corriger le code, elle va aussi prendre le temps de vous expliquer en langage naturel la suggestion de correction permettant d'améliorer la sécurité de votre code. GitHub précise que le développeur peut accepter, modifier ou rejeter la suggestion proposée par l'IA. L'analyse peut être effectuée sur un ou plusieurs fichiers, ainsi que sur les dépendances d'un projet.

Source : GitHub

Cette fonctionnalité est particulièrement intéressante pour augmenter le niveau de sécurité du code produit par les développeurs. Ceci permet d'avoir un suivi en "temps réel" de son code et de pouvoir être proactif dans la détection de vulnérabilités. Néanmoins, il faut garder à l'esprit que l'IA peut tenter de corriger une vulnérabilité, mais le correctif est-il réellement complet ? Il semble important de s'en assurer.

Dans les prochains mois, GitHub ajoutera la prise en charge de deux autres langages : C# et Go. En attendant, je vous laisse avec la vidéo de présentation de cette nouveauté :

Pour en savoir plus, vous pouvez consulter cette documentation officielle.

The post Avec l’IA, GitHub va détecter et corriger les vulnérabilités dans votre code ! first appeared on IT-Connect.

Code Scanning Autofix – GitHub lance la correction de vulnérabilités par IA

Les failles de sécurité dans le code sont le cauchemar des développeurs et des équipes de sécurité et font surtout le régal des hackers. Alors pour y remédier, GitHub a décidé de sortir l’artillerie lourde avec Code Scanning Autofix ! Attention les yeux, cet outil mêle IA et analyse statique et nous fait la promesse de corriger les vulnérabilités en un clin d’œil pendant que vous codez.

Concrètement, Code Scanning Autofix (actuellement en bêta publique) est activé par défaut sur tous les dépôts privés des clients GitHub Advanced Security. Et devinez quoi ? Il gère déjà plus de 90% des types d’alertes pour JavaScript, TypeScript, Java et Python. De quoi mettre une sacrée claque à la dette de sécurité applicative !

En coulisse, cette magie opère grâce à deux technologies de pointe made in GitHub : Copilot pour l’IA et CodeQL pour l’analyse statique. Une fois Code Scanning Autofix activé, il vous propose des correctifs quasi tout cuits qui sont censés régler les deux tiers des vulnérabilités détectées, le tout sans trop d’efforts de votre part.

Voici un exemple de correctif proposé :

Pour chaque faille repérée dans un des langages pris en charge, vous obtenez une explication en langage naturel du correctif suggéré, avec un aperçu du bout de code à valider, modifier ou rejeter. Cela peut inclure des changements dans le fichier en cours, d’autres fichiers, voire des dépendances du projet. Bien entendu, vous gardez le contrôle et pouvez vérifier si le correctif résout bien le problème sans casser la fonctionnalité.

L’intérêt est donc de décharger les experts en sécurité de la fastidieuse traque aux vulnérabilités introduites pendant le développement. Ils pourront alors se concentrer sur la sécurité globale de leur projet.

GitHub promet d’étendre prochainement Code Scanning Autofix à d’autres langages, en commençant par C# et Go. Et pour en savoir plus, foncez sur la doc de GitHub !

Source

En 2023, près de 12,8 millions de secrets d’authentification ont été divulgués sur GitHub !

Un nouveau rapport publié par GitGuardian met en lumière les problèmes de sécurité associés aux dépôts GitHub. En 2023, les utilisateurs ont exposé 12,8 millions de secrets d'authentification dans un total de 3 millions de dépôts publics !

Les experts en sécurité de GitGuardian ont mis en ligne un nouveau rapport qui permet de se rendre compte à quel point les dépôts GitHub sont susceptibles de contenir des données sensibles pouvant mettre en péril la sécurité d'une organisation. En l'occurrence, il s'agit d'informations d'authentifications disponibles en libre accès au sein de millions de dépôts GitHub publics.

En 2023, GitGuardian a détecté près de 12,8 millions de secrets dans répartis dans 3 millions de dépôts publics, ce qui représente une augmentation de 28% vis-à-vis de l'année précédente. Au total, il est question de près de 3,7 millions de secrets uniques. Pour essayer d'améliorer la situation, GitGuardian a émis 1,8 million d'alertes par e-mail afin d'alerter certains utilisateurs ayant divulgué des secrets sur GitHub. Néanmoins, seul 1,8 % des utilisateurs contactés ont fait le nécessaire dans les jours suivant la notification.

Des millions de secrets dans les dépôts publics GitHub
Source : GitGuardian

À quoi correspondent ces secrets ?

Il s'agit de mots de passe de comptes, de clés d'API, de certificats SSL/TLS, de clés de chiffrement, de jetons OAuth, ou d'autres identifiants. Autrement dit, ce sont des informations pouvant permettre à un tiers d'obtenir un accès à des ressources privées.

Grâce à un algorithme de machine learning, GitGuardian est capable de différencier les secrets basiques de ceux un peu plus spécifiques. Si l'on s'intéresse plus particulièrement à des secrets spécifiques, nous avons trouvé plus de 1 million de secrets d'API Google valides (occurrences), 250 000 secrets Google Cloud et 140 000 secrets AWS IAM.", peut-on lire.

La très forte augmentation de l'utilisation de plusieurs intelligences artificielles se traduit par la fuite de clés d'API : "En 2023, GitGuardian a observé une multiplication par 1212 du nombre de fuites de clés API OpenAI par rapport à l'année précédente, ce qui en fait sans surprise le détecteur ayant connu la plus forte croissance." - OpenAI étant la société créatrice de ChatGPT. Dans une moindre mesure, ceci s'applique à d'autres IA comme Google Bard, Claude, ou Cohere.

À qui appartiennent ces secrets ?

D'après le rapport de GitGuardian, le secteur de l'IT est le plus impacté et arrive en tête avec 65,9 %, suivi par le secteur de l'éducation avec 20,1 %. Pour le reste, ce qui représente 14%, GitGuardian ne fait pas la distinction et regroupe tous les autres secteurs.

Parlons maintenant de la provenance géographique de ces secrets. Et, ce n'est pas rassurant, car la France se classe 5ème dans le "Top 10" des pays avec le plus de leaks de secrets dans GitHub (GitGuardian s'appuie sur la localisation précisée sur le profil GitHub des utilisateurs). Surtout, le classement de la France a progressé, de façon négative, vis-à-vis de l'année précédente.

GitHub - Pays avec le plus de leak de secrets
Source : GitGuardian

Comment se protéger ?

Tout cela est effrayant quand on sait que de nombreuses attaques et fuites de données sont souvent associées à la compromission d'un compte... Pour lutter contre ce problème, GitGuardian a mis en ligne un outil gratuit nommé "Has My Secret Leaked?". Nous en avions parlé dans cet article :

En complément, sachez que le mois dernier, GitHub a activé par défaut une protection pour éviter l'exposition accidentelle de secrets lors d'un push vers un dépôt GitHub.

Source

The post En 2023, près de 12,8 millions de secrets d’authentification ont été divulgués sur GitHub ! first appeared on IT-Connect.

❌