eric6/Plugins/CheckerPlugins/CodeStyleChecker/Security/Checks/generalHardcodedPassword.py

changeset 8222
5994b80b8760
parent 8205
4a0f1f896341
equal deleted inserted replaced
8221:0572a215bd2f 8222:5994b80b8760
94 ) 94 )
95 95
96 elif isinstance(node._securityParent, ast.Compare): 96 elif isinstance(node._securityParent, ast.Compare):
97 # looks for "candidate == 'some_string'" 97 # looks for "candidate == 'some_string'"
98 comp = node._securityParent 98 comp = node._securityParent
99 if isinstance(comp.left, ast.Name): 99 if (
100 if RE_CANDIDATES.search(comp.left.id): 100 isinstance(comp.left, ast.Name) and
101 if AstUtilities.isString(comp.comparators[0]): 101 RE_CANDIDATES.search(comp.left.id) and
102 reportError( 102 AstUtilities.isString(comp.comparators[0])
103 context.node.lineno - 1, 103 ):
104 context.node.col_offset, 104 reportError(
105 "S105", 105 context.node.lineno - 1,
106 "L", 106 context.node.col_offset,
107 "M", 107 "S105",
108 comp.comparators[0].s 108 "L",
109 ) 109 "M",
110 comp.comparators[0].s
111 )
110 112
111 113
112 def checkHardcodedPasswordAsFunctionArg(reportError, context, config): 114 def checkHardcodedPasswordAsFunctionArg(reportError, context, config):
113 """ 115 """
114 Function to check for use of hard-coded password function arguments. 116 Function to check for use of hard-coded password function arguments.
151 len(context.node.args.defaults)) 153 len(context.node.args.defaults))
152 defs.extend(context.node.args.defaults) 154 defs.extend(context.node.args.defaults)
153 155
154 # go through all (param, value)s and look for candidates 156 # go through all (param, value)s and look for candidates
155 for key, val in zip(context.node.args.args, defs): 157 for key, val in zip(context.node.args.args, defs):
156 if isinstance(key, (ast.Name, ast.arg)): 158 if (
157 if AstUtilities.isString(val) and RE_CANDIDATES.search(key.arg): 159 isinstance(key, (ast.Name, ast.arg)) and
158 reportError( 160 AstUtilities.isString(val) and RE_CANDIDATES.search(key.arg)
159 context.node.lineno - 1, 161 ):
160 context.node.col_offset, 162 reportError(
161 "S107", 163 context.node.lineno - 1,
162 "L", 164 context.node.col_offset,
163 "M", 165 "S107",
164 val.s 166 "L",
165 ) 167 "M",
168 val.s
169 )

eric ide

mercurial