From 8eaccb963dc83919639aadc5371105d52d848c16 Mon Sep 17 00:00:00 2001 From: bersbersbers <12128514+bersbersbers@users.noreply.github.com> Date: Wed, 13 Sep 2023 08:35:38 +0200 Subject: [PATCH 1/2] Support `configfile` in `.bandit file --- flake8_bandit.py | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/flake8_bandit.py b/flake8_bandit.py index 83ac95d..588f241 100644 --- a/flake8_bandit.py +++ b/flake8_bandit.py @@ -19,6 +19,7 @@ class Flake8BanditConfig(NamedTuple): + config_file: str profile: Dict target_paths: Set excluded_paths: Set @@ -27,6 +28,7 @@ class Flake8BanditConfig(NamedTuple): @lru_cache(maxsize=32) def from_config_file(cls) -> "Flake8BanditConfig": # set defaults + config_file = "" profile = {} target_paths = set() excluded_paths = set() @@ -37,6 +39,7 @@ def from_config_file(cls) -> "Flake8BanditConfig": bandit_config = {k: v for k, v in cfg["bandit"].items()} # test-set profile + config_file = bandit_config.get("config", "") if bandit_config.get("skips"): profile["exclude"] = ( bandit_config.get("skips").replace("S", "B").split(",") @@ -66,7 +69,7 @@ def from_config_file(cls) -> "Flake8BanditConfig": except (ExecutionError, KeyError, TypeError) as e: profile = {} - return cls(profile, target_paths, excluded_paths) + return cls(config_file, profile, target_paths, excluded_paths) class BanditTester(object): @@ -106,7 +109,7 @@ def _check_source(self): fname=self.filename, fdata=None, metaast=BanditMetaAst(), - testset=BanditTestSet(BanditConfig(), profile=config.profile), + testset=BanditTestSet(BanditConfig(config.config_file), profile=config.profile), debug=False, nosec_lines={}, metrics=Metrics(), @@ -116,7 +119,7 @@ def _check_source(self): bnv = BanditNodeVisitor( fname=self.filename, metaast=BanditMetaAst(), - testset=BanditTestSet(BanditConfig(), profile=config.profile), + testset=BanditTestSet(BanditConfig(config.config_file), profile=config.profile), debug=False, nosec_lines=[], metrics=Metrics(), From 79d1a0a6d24b7e219e024fc7128ed7cdf7844501 Mon Sep 17 00:00:00 2001 From: bersbersbers <12128514+bersbersbers@users.noreply.github.com> Date: Wed, 13 Sep 2023 08:36:16 +0200 Subject: [PATCH 2/2] Use `configfile` instead of `config` --- flake8_bandit.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/flake8_bandit.py b/flake8_bandit.py index 588f241..f2e4861 100644 --- a/flake8_bandit.py +++ b/flake8_bandit.py @@ -39,7 +39,7 @@ def from_config_file(cls) -> "Flake8BanditConfig": bandit_config = {k: v for k, v in cfg["bandit"].items()} # test-set profile - config_file = bandit_config.get("config", "") + config_file = bandit_config.get("configfile", "") if bandit_config.get("skips"): profile["exclude"] = ( bandit_config.get("skips").replace("S", "B").split(",")