diff --git a/.devcontainer/devcontainer-lock.json b/.devcontainer/devcontainer-lock.json index 86dadd89ad5..f81d71a5473 100644 --- a/.devcontainer/devcontainer-lock.json +++ b/.devcontainer/devcontainer-lock.json @@ -11,4 +11,4 @@ "integrity": "sha256:fedd4c11f7adfb64283b578dddc7da906728daa25fa293351c9d913231acf12f" } } -} +} \ No newline at end of file diff --git a/megalinter/descriptors/repository.megalinter-descriptor.yml b/megalinter/descriptors/repository.megalinter-descriptor.yml index 6dcdbb1bd34..7f66208691f 100644 --- a/megalinter/descriptors/repository.megalinter-descriptor.yml +++ b/megalinter/descriptors/repository.megalinter-descriptor.yml @@ -70,7 +70,8 @@ linters: test_folder: repository_checkov # DEVSKIM - - linter_name: devskim + - class: DevskimLinter + linter_name: devskim can_output_sarif: true descriptor_flavors: - all diff --git a/megalinter/linters/DevskimLinter.py b/megalinter/linters/DevskimLinter.py new file mode 100644 index 00000000000..6fc5c02fa47 --- /dev/null +++ b/megalinter/linters/DevskimLinter.py @@ -0,0 +1,14 @@ +#!/usr/bin/env python3 +""" +Use Devskim as a set of language analyzers and rules that provide security "linting" capabilities +""" + + +class DevskimLinter(Linter): + def execute_lint_command(self, command): + return_code, return_stdout = super().execute_lint_command(command) + if '-E' in command: + # w/-E exit >0 denotes warnings, <0 errors + min(return_code, 0), return_stdout + + return return_code, return_stdout