--- a/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/tarfileUnsafeMembers.py Mon Mar 11 15:35:12 2024 +0100 +++ b/src/eric7/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/tarfileUnsafeMembers.py Mon Mar 11 16:13:14 2024 +0100 @@ -52,6 +52,23 @@ return {} +def _isFilterData(context): + """ + Function to check for the filter argument to be 'data'. + + @param context security context object + @type SecurityContext + @return flag indicating the 'data' filter + @rtype bool + """ + for kw in context.node.keywords: + if kw.arg == "filter": + arg = kw.value + return isinstance(arg, ast.Str) and arg.s == "data" + + return False + + def checkTarfileUnsafeMembers(reportError, context, config): # noqa: U100 """ Function to check for insecure use of 'tarfile.extracall()'. @@ -69,6 +86,9 @@ "extractall" in context.callFunctionName, ] ): + if "filter" in context.callKeywords and _isFilterData(context): + return + if "members" in context.callKeywords: members = _getMembersValue(context) if "Function" in members: