Skip to content
KitploitKITPLOIT
OutilsExploitsBlog
Log in
Soumettre
OutilsExploitsBlog
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é.

FluxContactConfidentialité© 2026 Kitploit

Répertoire d'outils

Catégories

Voir toutes les catégories
Loading categories
brakeman — Un analyseur statique de vulnérabilités de sécurité pour les applications Ruby on Rails | Kitploit
Outils/GitHubGitHub/presidentbeef/brakeman
Analyse StatiqueScanners de VulnérabilitésAnalyse de CodeSécurité WebDevSecOps
GitHubpresidentbeef/brakeman

brakeman

Un analyseur statique de vulnérabilités de sécurité pour les applications Ruby on Rails

Voir le dépôt
7.3k77360il y a 6 joursVérifié par Kitploit

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 →
Site web
Partager
[![Logo Brakeman](https://assets.kitploit.com/production/public/readmes/placeholders/f0fc86cfe65f76d40e15aaec61704ec8220a56dc89d4be03c46f67cb31b9fa8c.svg)](http://brakemanscanner.org/)

[![Build Status](https://circleci.com/gh/presidentbeef/brakeman.svg?style=svg)](https://circleci.com/gh/presidentbeef/brakeman)
[![Code Coverage](https://qlty.sh/gh/presidentbeef/projects/brakeman/coverage.svg)](https://qlty.sh/gh/presidentbeef/projects/brakeman)

# Brakeman

Brakeman est un outil d'analyse statique qui vérifie la présence de vulnérabilités de sécurité dans les applications Ruby on Rails.

# Installation

Avec RubyGems :

    gem install brakeman

Avec Bundler :

```ruby
group :development do
  gem 'brakeman', require: false
end
```

Avec Docker :

    docker pull presidentbeef/brakeman

Avec Docker pour compiler à partir des sources :

    git clone https://github.com/presidentbeef/brakeman.git
    cd brakeman
    docker build . -t brakeman

# Utilisation

#### Exécution locale

Depuis le répertoire racine d'une application Rails :

    brakeman

En dehors de la racine Rails :

    brakeman /path/to/rails/application

#### Exécution avec Docker

Depuis le répertoire racine d'une application Rails :

    docker run -v "$(pwd)":/code presidentbeef/brakeman

Avec des couleurs un peu plus agréables :

    docker run -v "$(pwd)":/code presidentbeef/brakeman --color

Pour un rapport HTML :

    docker run -v "$(pwd)":/code presidentbeef/brakeman -o brakeman_results.html

En dehors de la racine Rails (notez que le fichier de sortie est relatif à path/to/rails/application) :

    docker run -v 'path/to/rails/application':/code presidentbeef/brakeman -o brakeman_results.html

# Compatibilité

Brakeman devrait fonctionner avec toutes les versions de Rails de 2.3.x à 8.x.

Brakeman peut analyser du code écrit avec la syntaxe Ruby 2.0 et plus récente, mais nécessite au moins Ruby 3.2.0 pour s'exécuter.

# Options de base

Pour une liste complète des options, utilisez `brakeman --help` ou consultez le fichier [OPTIONS.md](https://github.com/presidentbeef/brakeman/blob/main/OPTIONS.md).

Pour spécifier un fichier de sortie pour les résultats :

    brakeman -o output_file

Le format de sortie est déterminé par l'extension du fichier ou par l'utilisation de l'option `-f`. Les options actuelles sont : `text`, `html`, `tabs`, `json`, `junit`, `markdown`, `csv`, `codeclimate`, `github`, `sarif` et `sonar`.

Plusieurs fichiers de sortie peuvent être spécifiés :

    brakeman -o output.html -o output.json

Pour générer une sortie à la fois dans un fichier et sur la console, avec des couleurs :

    brakeman --color -o /dev/stdout -o output.json

Pour supprimer les avertissements informatifs et afficher uniquement le rapport :

    brakeman -q

Notez que toutes les sorties de Brakeman, à l'exception des rapports, sont envoyées sur stderr, ce qui permet de rediriger facilement stdout vers un fichier pour n'obtenir que le rapport.

Pour voir toutes sortes d'informations de débogage :

    brakeman -d

Certaines vérifications peuvent être ignorées, si souhaité. Le nom doit être écrit avec la casse correcte. Par exemple, pour ignorer la recherche de routes par défaut (`DefaultRoutes`) :

    brakeman -x DefaultRoutes

Plusieurs vérifications doivent être séparées par une virgule :

    brakeman -x DefaultRoutes,Redirect

Pour faire l'inverse et n'exécuter qu'un certain ensemble de tests :

    brakeman -t SQL,ValidationRegex

Si Brakeman est un peu lent, essayez

    brakeman --faster

Cela désactivera certaines fonctionnalités, mais sera probablement beaucoup plus rapide (actuellement, cela équivaut à `--skip-libs --no-branching`). *ATTENTION* : Cela peut amener Brakeman à manquer certaines vulnérabilités.

Par défaut, Brakeman renvoie un code de sortie non nul si des avertissements de sécurité sont trouvés ou si des erreurs d'analyse sont rencontrées. Pour désactiver ce comportement :

    brakeman --no-exit-on-warn --no-exit-on-error

Pour ignorer certains fichiers ou répertoires que Brakeman pourrait avoir du mal à analyser, utilisez :

    brakeman --skip-files file1,/path1/,path2/

Pour comparer les résultats d'une analyse avec ceux d'une analyse précédente, utilisez l'option de sortie JSON, puis :

    brakeman --compare old_report.json

Cela produira un JSON avec deux listes : une des avertissements corrigés et une des nouveaux avertissements.

Brakeman ignorera les avertissements s'il est configuré pour le faire. Par défaut, il cherche un fichier de configuration dans `config/brakeman.ignore`. Pour créer et gérer ce fichier, utilisez :

    brakeman -I

Si vous souhaitez voir temporairement les avertissements que vous avez ignorés sans affecter le code de sortie, utilisez :

    brakeman --show-ignored

# Informations sur les avertissements

Consultez [warning\_types](https://github.com/presidentbeef/brakeman/blob/main/docs/warning_types) pour plus d'informations sur les avertissements signalés par cet outil.

# Contexte des avertissements

Le format de sortie HTML fournit un extrait du code source original de l'application à l'endroit où un avertissement a été déclenché. En raison du traitement effectué lors de la recherche de vulnérabilités, le code source peut ne pas ressembler à l'avertissement signalé et les numéros de ligne rapportés peuvent être légèrement décalés. Cependant, le contexte offre néanmoins un aperçu rapide du code qui a déclenché l'avertissement.

# Niveaux de confiance

Brakeman attribue un niveau de confiance à chaque avertissement. Cela donne une estimation approximative de la certitude de l'outil qu'un avertissement donné est effectivement un problème. Naturellement, ces évaluations ne doivent pas être considérées comme une vérité absolue.

Il existe trois niveaux de confiance :

 + Élevé - Soit il s'agit d'un avertissement simple (valeur booléenne), soit les entrées utilisateur sont très probablement utilisées de manière non sécurisée.
 + Moyen - Cela indique généralement une utilisation non sécurisée d'une variable, mais cette variable peut ou non être une entrée utilisateur.
 + Faible - Signifie généralement que des entrées utilisateur ont été utilisées indirectement d'une manière potentiellement non sécurisée.

Pour n'obtenir que les avertissements au-dessus d'un niveau de confiance donné :

    brakeman -w3

L'option `-w` prend un nombre de 1 à 3, 1 étant faible (tous les avertissements) et 3 étant élevé (uniquement les avertissements de confiance la plus élevée).

# Fichiers de configuration

Les options de Brakeman peuvent être stockées et lues à partir de fichiers YAML.

Pour simplifier le processus d'écriture d'un fichier de configuration, l'option `-C` affichera les options actuellement définies :

```sh
$ brakeman -C --skip-files plugins/
---
:skip_files:
- plugins/
```

Les options passées en ligne de commande ont priorité sur les fichiers de configuration.

Les emplacements de configuration par défaut sont `./config/brakeman.yml`, `~/.brakeman/config.yml` et `/etc/brakeman/config.yml`.

L'option `-c` peut être utilisée pour spécifier un fichier de configuration à utiliser.

# Intégration continue

Un [plugin est disponible](http://brakemanscanner.org/docs/jenkins/) pour Jenkins/Hudson.

Pour encore plus de tests continus, essayez le [plugin Guard](https://github.com/guard/guard-brakeman).

Plusieurs [Actions GitHub](https://github.com/marketplace?type=actions&query=brakeman) sont disponibles.

# Compilation

    git clone git://github.com/presidentbeef/brakeman.git
    cd brakeman
    gem build brakeman.gemspec
    gem install brakeman*.gem

# Qui utilise Brakeman ?

* [Code Climate](https://codeclimate.com/)
* [GitHub](https://github.com/)
* [Groupon](http://www.groupon.com/)
* [New Relic](http://newrelic.com)
* [Twitter](https://twitter.com/)

[… et plus encore !](http://brakemanscanner.org/brakeman_users)

# Page d'accueil/Actualités

Site web : http://brakemanscanner.org/

Twitter : https://twitter.com/brakeman

Chat : https://gitter.im/presidentbeef/brakeman

# Licence

Brakeman est gratuit pour une utilisation non commerciale.

Voir [COPYING](https://github.com/presidentbeef/brakeman/blob/main/COPYING.md) pour plus de détails.
Télécharger l’outil