credential-digger icon indicating copy to clipboard operation
credential-digger copied to clipboard

postgres add_discoveries broken for NUL characters

Open marcorosa opened this issue 3 years ago • 0 comments

During the scan, when adding discoveries via postgres, some discoveries may raise an exception

Traceback (most recent call last):                                               
  File "/Users/marco/git/credential-digger/venv/bin/credentialdigger", line 8, in <module>                                                                      
    sys.exit(main())                                                             
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/__main__.py", line 7, in main                                      
    cli.main(sys.argv)                                                           
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/cli/cli.py", line 145, in main                                     
    args.func(client, args)                                                      
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/cli/scan.py", line 109, in run                                     
    discoveries = client.scan(                                                   
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/client.py", line 794, in scan                                      
    return self._scan(                                                           
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/client.py", line 1169, in _scan                                    
    new_id = self.add_discovery(                                                 
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/client_postgres.py", line 95, in add_discovery                     
    return super().add_discovery(
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/client.py", line 116, in add_discovery
    return self.query_id(
  File "/Users/marco/git/credential-digger/venv/lib/python3.9/site-packages/credentialdigger/client_postgres.py", line 57, in query_id
    cursor.execute(query, args)
ValueError: A string literal cannot contain NUL (0x00) characters.

Possible reason: the snippet may contain a character not supported

NB: verify if #246 (when solved) automatically fixes this bug

marcorosa avatar Jul 08 '22 09:07 marcorosa