|
1 | 1 | { |
2 | 2 | "errors": [], |
3 | | - "generated_at": "2024-05-23T09:59:11Z", |
| 3 | + "generated_at": "2024-06-03T07:52:17Z", |
4 | 4 | "metrics": { |
5 | 5 | "_totals": { |
6 | 6 | "CONFIDENCE.HIGH": 0.0, |
|
11 | 11 | "SEVERITY.LOW": 1.0, |
12 | 12 | "SEVERITY.MEDIUM": 2.0, |
13 | 13 | "SEVERITY.UNDEFINED": 0.0, |
14 | | - "loc": 2096, |
| 14 | + "loc": 3405, |
15 | 15 | "nosec": 0 |
16 | 16 | }, |
17 | 17 | "src/setup.py": { |
|
23 | 23 | "SEVERITY.LOW": 0.0, |
24 | 24 | "SEVERITY.MEDIUM": 0.0, |
25 | 25 | "SEVERITY.UNDEFINED": 0.0, |
26 | | - "loc": 39, |
| 26 | + "loc": 29, |
27 | 27 | "nosec": 0 |
28 | 28 | }, |
29 | 29 | "src/sqlitecloud/__init__.py": { |
|
35 | 35 | "SEVERITY.LOW": 0.0, |
36 | 36 | "SEVERITY.MEDIUM": 0.0, |
37 | 37 | "SEVERITY.UNDEFINED": 0.0, |
38 | | - "loc": 1, |
| 38 | + "loc": 3, |
39 | 39 | "nosec": 0 |
40 | 40 | }, |
41 | 41 | "src/sqlitecloud/client.py": { |
|
47 | 47 | "SEVERITY.LOW": 0.0, |
48 | 48 | "SEVERITY.MEDIUM": 0.0, |
49 | 49 | "SEVERITY.UNDEFINED": 0.0, |
50 | | - "loc": 119, |
| 50 | + "loc": 104, |
51 | 51 | "nosec": 0 |
52 | 52 | }, |
53 | | - "src/sqlitecloud/conn_info.py": { |
| 53 | + "src/sqlitecloud/dbapi2.py": { |
54 | 54 | "CONFIDENCE.HIGH": 0.0, |
55 | 55 | "CONFIDENCE.LOW": 0.0, |
56 | 56 | "CONFIDENCE.MEDIUM": 0.0, |
|
59 | 59 | "SEVERITY.LOW": 0.0, |
60 | 60 | "SEVERITY.MEDIUM": 0.0, |
61 | 61 | "SEVERITY.UNDEFINED": 0.0, |
62 | | - "loc": 6, |
| 62 | + "loc": 377, |
63 | 63 | "nosec": 0 |
64 | 64 | }, |
65 | 65 | "src/sqlitecloud/download.py": { |
|
83 | 83 | "SEVERITY.LOW": 0.0, |
84 | 84 | "SEVERITY.MEDIUM": 0.0, |
85 | 85 | "SEVERITY.UNDEFINED": 0.0, |
86 | | - "loc": 727, |
| 86 | + "loc": 765, |
87 | 87 | "nosec": 0 |
88 | 88 | }, |
89 | 89 | "src/sqlitecloud/pubsub.py": { |
|
107 | 107 | "SEVERITY.LOW": 0.0, |
108 | 108 | "SEVERITY.MEDIUM": 0.0, |
109 | 109 | "SEVERITY.UNDEFINED": 0.0, |
110 | | - "loc": 62, |
| 110 | + "loc": 80, |
111 | 111 | "nosec": 0 |
112 | 112 | }, |
113 | 113 | "src/sqlitecloud/types.py": { |
|
119 | 119 | "SEVERITY.LOW": 1.0, |
120 | 120 | "SEVERITY.MEDIUM": 0.0, |
121 | 121 | "SEVERITY.UNDEFINED": 0.0, |
122 | | - "loc": 143, |
| 122 | + "loc": 194, |
123 | 123 | "nosec": 0 |
124 | 124 | }, |
125 | 125 | "src/sqlitecloud/upload.py": { |
|
155 | 155 | "SEVERITY.LOW": 0.0, |
156 | 156 | "SEVERITY.MEDIUM": 0.0, |
157 | 157 | "SEVERITY.UNDEFINED": 0.0, |
158 | | - "loc": 22, |
| 158 | + "loc": 35, |
159 | 159 | "nosec": 0 |
160 | 160 | }, |
161 | 161 | "src/tests/integration/__init__.py": { |
|
179 | 179 | "SEVERITY.LOW": 0.0, |
180 | 180 | "SEVERITY.MEDIUM": 0.0, |
181 | 181 | "SEVERITY.UNDEFINED": 0.0, |
182 | | - "loc": 471, |
| 182 | + "loc": 492, |
| 183 | + "nosec": 0 |
| 184 | + }, |
| 185 | + "src/tests/integration/test_dbapi2.py": { |
| 186 | + "CONFIDENCE.HIGH": 0.0, |
| 187 | + "CONFIDENCE.LOW": 0.0, |
| 188 | + "CONFIDENCE.MEDIUM": 0.0, |
| 189 | + "CONFIDENCE.UNDEFINED": 0.0, |
| 190 | + "SEVERITY.HIGH": 0.0, |
| 191 | + "SEVERITY.LOW": 0.0, |
| 192 | + "SEVERITY.MEDIUM": 0.0, |
| 193 | + "SEVERITY.UNDEFINED": 0.0, |
| 194 | + "loc": 181, |
183 | 195 | "nosec": 0 |
184 | 196 | }, |
185 | 197 | "src/tests/integration/test_download.py": { |
|
206 | 218 | "loc": 18, |
207 | 219 | "nosec": 0 |
208 | 220 | }, |
| 221 | + "src/tests/integration/test_pandas.py": { |
| 222 | + "CONFIDENCE.HIGH": 0.0, |
| 223 | + "CONFIDENCE.LOW": 0.0, |
| 224 | + "CONFIDENCE.MEDIUM": 0.0, |
| 225 | + "CONFIDENCE.UNDEFINED": 0.0, |
| 226 | + "SEVERITY.HIGH": 0.0, |
| 227 | + "SEVERITY.LOW": 0.0, |
| 228 | + "SEVERITY.MEDIUM": 0.0, |
| 229 | + "SEVERITY.UNDEFINED": 0.0, |
| 230 | + "loc": 50, |
| 231 | + "nosec": 0 |
| 232 | + }, |
209 | 233 | "src/tests/integration/test_pubsub.py": { |
210 | 234 | "CONFIDENCE.HIGH": 0.0, |
211 | 235 | "CONFIDENCE.LOW": 1.0, |
|
215 | 239 | "SEVERITY.LOW": 0.0, |
216 | 240 | "SEVERITY.MEDIUM": 1.0, |
217 | 241 | "SEVERITY.UNDEFINED": 0.0, |
218 | | - "loc": 109, |
| 242 | + "loc": 118, |
| 243 | + "nosec": 0 |
| 244 | + }, |
| 245 | + "src/tests/integration/test_sqlite3_parity.py": { |
| 246 | + "CONFIDENCE.HIGH": 0.0, |
| 247 | + "CONFIDENCE.LOW": 0.0, |
| 248 | + "CONFIDENCE.MEDIUM": 0.0, |
| 249 | + "CONFIDENCE.UNDEFINED": 0.0, |
| 250 | + "SEVERITY.HIGH": 0.0, |
| 251 | + "SEVERITY.LOW": 0.0, |
| 252 | + "SEVERITY.MEDIUM": 0.0, |
| 253 | + "SEVERITY.UNDEFINED": 0.0, |
| 254 | + "loc": 176, |
219 | 255 | "nosec": 0 |
220 | 256 | }, |
221 | 257 | "src/tests/integration/test_upload.py": { |
|
242 | 278 | "loc": 48, |
243 | 279 | "nosec": 0 |
244 | 280 | }, |
| 281 | + "src/tests/unit/test_dbapi2.py": { |
| 282 | + "CONFIDENCE.HIGH": 0.0, |
| 283 | + "CONFIDENCE.LOW": 0.0, |
| 284 | + "CONFIDENCE.MEDIUM": 0.0, |
| 285 | + "CONFIDENCE.UNDEFINED": 0.0, |
| 286 | + "SEVERITY.HIGH": 0.0, |
| 287 | + "SEVERITY.LOW": 0.0, |
| 288 | + "SEVERITY.MEDIUM": 0.0, |
| 289 | + "SEVERITY.UNDEFINED": 0.0, |
| 290 | + "loc": 242, |
| 291 | + "nosec": 0 |
| 292 | + }, |
245 | 293 | "src/tests/unit/test_driver.py": { |
246 | 294 | "CONFIDENCE.HIGH": 0.0, |
247 | 295 | "CONFIDENCE.LOW": 0.0, |
|
251 | 299 | "SEVERITY.LOW": 0.0, |
252 | 300 | "SEVERITY.MEDIUM": 0.0, |
253 | 301 | "SEVERITY.UNDEFINED": 0.0, |
254 | | - "loc": 76, |
| 302 | + "loc": 188, |
255 | 303 | "nosec": 0 |
256 | 304 | }, |
257 | 305 | "src/tests/unit/test_resultset.py": { |
|
263 | 311 | "SEVERITY.LOW": 0.0, |
264 | 312 | "SEVERITY.MEDIUM": 0.0, |
265 | 313 | "SEVERITY.UNDEFINED": 0.0, |
266 | | - "loc": 77, |
| 314 | + "loc": 113, |
| 315 | + "nosec": 0 |
| 316 | + }, |
| 317 | + "src/tests/unit/test_types.py": { |
| 318 | + "CONFIDENCE.HIGH": 0.0, |
| 319 | + "CONFIDENCE.LOW": 0.0, |
| 320 | + "CONFIDENCE.MEDIUM": 0.0, |
| 321 | + "CONFIDENCE.UNDEFINED": 0.0, |
| 322 | + "SEVERITY.HIGH": 0.0, |
| 323 | + "SEVERITY.LOW": 0.0, |
| 324 | + "SEVERITY.MEDIUM": 0.0, |
| 325 | + "SEVERITY.UNDEFINED": 0.0, |
| 326 | + "loc": 14, |
267 | 327 | "nosec": 0 |
268 | 328 | } |
269 | 329 | }, |
270 | 330 | "results": [ |
271 | 331 | { |
272 | | - "code": "95 class SqliteCloudAccount:\n96 def __init__(\n97 self,\n98 username: Optional[str] = \"\",\n99 password: Optional[str] = \"\",\n100 hostname: Optional[str] = \"\",\n101 dbname: Optional[str] = \"\",\n102 port: Optional[int] = SQCLOUD_DEFAULT.PORT.value,\n103 apikey: Optional[str] = \"\",\n104 ) -> None:\n105 # User name is required unless connectionstring is provided\n106 self.username = username\n107 # Password is required unless connection string is provided\n108 self.password = password\n109 # Password is hashed\n110 self.password_hashed = False\n111 # API key instead of username and password\n112 self.apikey = apikey\n113 # Name of database to open\n114 self.dbname = dbname\n115 # Like mynode.sqlitecloud.io\n116 self.hostname = hostname\n117 self.port = port\n118 \n", |
| 332 | + "code": "107 class SQLiteCloudAccount:\n108 def __init__(\n109 self,\n110 username: Optional[str] = \"\",\n111 password: Optional[str] = \"\",\n112 hostname: str = \"\",\n113 dbname: Optional[str] = \"\",\n114 port: int = SQLITECLOUD_DEFAULT.PORT.value,\n115 apikey: Optional[str] = \"\",\n116 ) -> None:\n117 # User name is required unless connectionstring is provided\n118 self.username = username\n119 # Password is required unless connection string is provided\n120 self.password = password\n121 # Password is hashed\n122 self.password_hashed = False\n123 # API key instead of username and password\n124 self.apikey = apikey\n125 # Name of database to open\n126 self.dbname = dbname\n127 # Like mynode.sqlitecloud.io\n128 self.hostname = hostname\n129 self.port = port\n130 \n", |
273 | 333 | "col_offset": 4, |
274 | 334 | "filename": "src/sqlitecloud/types.py", |
275 | 335 | "issue_confidence": "MEDIUM", |
276 | 336 | "issue_severity": "LOW", |
277 | 337 | "issue_text": "Possible hardcoded password: ''", |
278 | | - "line_number": 96, |
| 338 | + "line_number": 108, |
279 | 339 | "line_range": [ |
280 | | - 96, |
281 | | - 97, |
282 | | - 98, |
283 | | - 99, |
284 | | - 100, |
285 | | - 101, |
286 | | - 102, |
287 | | - 103, |
288 | | - 104, |
289 | | - 105, |
290 | | - 106, |
291 | | - 107, |
292 | 340 | 108, |
293 | 341 | 109, |
294 | 342 | 110, |
|
298 | 346 | 114, |
299 | 347 | 115, |
300 | 348 | 116, |
301 | | - 117 |
| 349 | + 117, |
| 350 | + 118, |
| 351 | + 119, |
| 352 | + 120, |
| 353 | + 121, |
| 354 | + 122, |
| 355 | + 123, |
| 356 | + 124, |
| 357 | + 125, |
| 358 | + 126, |
| 359 | + 127, |
| 360 | + 128, |
| 361 | + 129 |
302 | 362 | ], |
303 | 363 | "more_info": "https://bandit.readthedocs.io/en/latest/plugins/b107_hardcoded_password_default.html", |
304 | 364 | "test_id": "B107", |
305 | 365 | "test_name": "hardcoded_password_default" |
306 | 366 | }, |
307 | 367 | { |
308 | | - "code": "155 client.exec_query(\n156 f\"UPDATE genres SET Name = '{new_name}' WHERE GenreId = 1;\", connection\n157 )\n", |
| 368 | + "code": "164 client.exec_query(\n165 f\"UPDATE genres SET Name = '{new_name}' WHERE GenreId = 1;\", connection\n166 )\n", |
309 | 369 | "col_offset": 12, |
310 | 370 | "filename": "src/tests/integration/test_pubsub.py", |
311 | 371 | "issue_confidence": "LOW", |
312 | 372 | "issue_severity": "MEDIUM", |
313 | 373 | "issue_text": "Possible SQL injection vector through string-based query construction.", |
314 | | - "line_number": 156, |
| 374 | + "line_number": 165, |
315 | 375 | "line_range": [ |
316 | | - 156 |
| 376 | + 165 |
317 | 377 | ], |
318 | 378 | "more_info": "https://bandit.readthedocs.io/en/latest/plugins/b608_hardcoded_sql_expressions.html", |
319 | 379 | "test_id": "B608", |
|
0 commit comments