# Puppet Security Linter Puppet linter focused on finding security vulnerabilities in code. ![puppet-sec-lint console execution](docs/images/puppet-sec-lint_console.png) ## Installation Install the Ruby gem: ```bash gem install puppet-sec-lint ``` ## Usage To analyze a puppet file, simply call the newly installed linter: ```bash puppet-sec-lint /folder/script.pp ``` If the linter is called with a folder, all puppet files inside are recursively analyzed: ```bash puppet-sec-lint /folder ``` ### Integration with Visual Studio Code The linter can also work inside Visual Studio code. For it, please ensure that the 'puppet-sec-lint' gem was installed on your system. Then, install the [puppet-sec-lint VSCode extension](https://marketplace.visualstudio.com/items?itemName=tiago1998.puppet-sec-lint-vscode). Now, after that the extension is activate, it should be activated automatically when a Puppet file is opened, analyzing and displaying warnings in real time. ![puppet-sec-lint console execution](docs/images/puppet-sec-lint_vscode.png) ###Customization of Linter Rules All rules applied by the linter to detect vulnerabilities can be configured to better adapt the tool to any project conventions and requirements. To open the configurations page, use the appropriate flag: ```bash puppet-sec-lint -c ``` (this will open the configurations page on the computer default web browser) ![puppet-sec-lint configurations page](docs/images/puppet-sec-lint_configurations.png) ## Development ### Development of new rules The linter was built on top of a modular architecture, which means that new customizable rules can be added fairly easy facing the discovery of new scenarios and vulnerabilities. ## Contributing ## License ## Code of Conduct