Open testworksau opened 1 year ago
Hi, how often does this happen? Does it always happen with the same Docker image?
Hi @agateau-gg 👋🏼
I tried this twice in a row - the second not too long after the first one failed, to see if it was transient or not.
I've just tried again this morning, and have the same issue @agateau-gg
Sorry for the late reply.
Is your CI running behind an HTTP proxy? If so, what you are experiencing could be urllib3 issue #2164, which is in turn caused by Python issue #86793. This bug has been fixed in Python 3.9.13, 3.10.5 and in 3.11.0.
Hi @agateau-gg
We are running Python 3.11.4; at the time I raised the issue, we would have been running 3.11.3
Python reports no proxies are in use either:
Having more info could help us debug that. Can you try to add a call to ggshield --debug api-status
before the call to ggshield secret scan docker
?
You can also try adding --allow-self-signed
to ggshield secret scan docker
. If the problem goes away then it's quite possible there is an issue with your SSL setup on the machine or in the way it accesses our servers. I would not recommend leaving the option indefinitely though, since it weakens security.
Here's the output of the debug command, and the secret scan
command with --allow-self-signed
enabled:
2023-06-29 04:15:38,660 DEBUG 1964:23cc ggshield.cmd.debug_logs:setup_debug_logs:44 args=['C:\\docker-image-builder\\ggshield\\Scripts\\ggshield', '--debug', 'api-status']
2023-06-29 04:15:38,660 DEBUG 1964:23cc ggshield.cmd.debug_logs:setup_debug_logs:45 py-gitguardian=1.8.0
2023-06-29 04:15:38,668 DEBUG 1964:23cc ggshield.core.config.user_config:load:144 No global config
2023-06-29 04:15:38,668 DEBUG 1964:23cc ggshield.core.config.user_config:load:153 No local config
2023-06-29 04:15:38,668 DEBUG 1964:23cc ggshield.core.git_shell:git:80 command=['rev-parse', '--show-toplevel']
2023-06-29 04:15:38,670 DEBUG 1964:23cc ggshield.core.git_shell:_get_git_path:44 Found git at C:\Program Files\Git\mingw64\bin\git.EXE
2023-06-29 04:15:38,754 DEBUG 1964:23cc ggshield.core.git_shell:git:80 command=['rev-parse', '--show-toplevel']
2023-06-29 04:15:38,781 DEBUG 1964:23cc ggshield.core.config.config:api_key:149 Using API key from $GITGUARDIAN_API_KEY
2023-06-29 04:15:38,794 DEBUG 1964:23cc urllib3.connectionpool:_new_conn:1014 Starting new HTTPS connection (1): api.gitguardian.com:443
2023-06-29 04:15:39,286 DEBUG 1964:23cc urllib3.connectionpool:_make_request:473 https://api.gitguardian.com:443 "GET /v1/health HTTP/1.1" 200 27
2023-06-29 04:15:39,301 DEBUG 1964:23cc pygitguardian.client:request:204 method=get endpoint=health status_code=200 duration=0.517515
API URL: https://api.gitguardian.com
Status: healthy
App version: v2.33.0
Secrets engine version: 2.92.0
2023-06-29 04:15:39,302 DEBUG 1964:23cc ggshield.core.check_updates:check_for_updates:60 Checking the latest released version of ggshield...
2023-06-29 04:15:39,306 DEBUG 1964:23cc urllib3.connectionpool:_new_conn:1014 Starting new HTTPS connection (1): api.github.com:443
2023-06-29 04:15:39,628 DEBUG 1964:23cc urllib3.connectionpool:_make_request:473 https://api.github.com:443 "GET /repos/GitGuardian/GGShield/releases/latest HTTP/1.1" 200 975
ggshield secret scan docker artifactory.our.domain/docker/our-dotnet-framework:1.0 --docker-timeout=1200 --allow-self-signed
Saving docker image... OK
...
Skipped
\Files\Windows\servicing\Packages\Package_7_for_KB5027131~31bf3856ad364e35~amd6
4~~10.0.4050.2.cat: can't detect encoding
Skipped \Hives\DefaultUser_Delta: can't detect encoding
Skipped \Hives\Sam_Delta: can't detect encoding
Skipped \Hives\Security_Delta: can't detect encoding
Skipped \Hives\Software_Delta: can't detect encoding
Skipped \Hives\System_Delta: can't detect encoding
Scanning... ------------------- 85% 2227 files scanned out of 2630 0:00:02
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
WARNING: GitGuardian Shield returned non-zero exit code
The SSL errors may be caused by multiple network requests stepping on each other.
There is an undocumented environment variable to limit the number of network requests: GG_MAX_WORKERS
. Unfortunately it turns out secret scan docker
does not honor this variable. I just pushed a branch called agateau/docker-max-workers
to fix that.
Can you try the following?
agateau/docker-max-workers
branch (can be done with pip install --force-reinstall git+https://github.com/gitguardian/ggshield@agateau/docker-max-workers
),GG_MAX_WORKERS
to 1,You can verify the environment variable is taken into account by running the command with --debug
. There should be a log line like this (note the "scan_threads=1" at the end):
2023-06-29 17:13:10,919 DEBUG 1c71e:7f4f8f97b000 ggshield.secret.secret_scanner:scan:102
files=<ggshield.secret.secret_scanner.SecretScanner object at 0x7f4f8ccf9780>
command_id=7125d549-65ed-4352-b07f-0229a4beaf1e scan_threads=1
Thanks - I have set the env var via:
$Env:GG_MAX_WORKERS = "1"
which should work as that's the same syntax we are using elsewhere in our powershell script.
I tried again with the branch build but still have the same problem. I can't see the scan_threads
output so I'm not sure at this stage as to whether ggshield has detected it:
Collecting git+https://github.com/gitguardian/ggshield@agateau/docker-max-workers
Cloning https://github.com/gitguardian/ggshield (to revision agateau/docker-max-workers) to z:\temp\pip-req-build-_5evamal
Running command git clone --filter=blob:none --quiet https://github.com/gitguardian/ggshield 'Z:\Temp\pip-req-build-_5evamal'
Running command git checkout -b agateau/docker-max-workers --track origin/agateau/docker-max-workers
branch 'agateau/docker-max-workers' set up to track 'origin/agateau/docker-max-workers'.
Switched to a new branch 'agateau/docker-max-workers'
Resolved https://github.com/gitguardian/ggshield to commit c1e0e2eed827db362acd42de7feafd9ce89ef91e
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
...
2023-06-30 05:42:34,984 DEBUG 1274:152c ggshield.cmd.debug_logs:setup_debug_logs:44 args=['Z:\\\\docker-image-builder\\ggshield\\Scripts\\ggshield', '--debug', 'api-status']
2023-06-30 05:42:34,984 DEBUG 1274:152c ggshield.cmd.debug_logs:setup_debug_logs:45 py-gitguardian=1.8.0
2023-06-30 05:42:34,987 DEBUG 1274:152c ggshield.core.config.user_config:load:144 No global config
2023-06-30 05:42:34,987 DEBUG 1274:152c ggshield.core.config.user_config:load:153 No local config
2023-06-30 05:42:34,988 DEBUG 1274:152c ggshield.core.git_shell:git:80 command=['rev-parse', '--show-toplevel']
2023-06-30 05:42:34,990 DEBUG 1274:152c ggshield.core.git_shell:_get_git_path:44 Found git at C:\Program Files\Git\mingw64\bin\git.EXE
2023-06-30 05:42:35,007 DEBUG 1274:152c ggshield.core.git_shell:git:80 command=['rev-parse', '--show-toplevel']
2023-06-30 05:42:35,020 DEBUG 1274:152c ggshield.core.config.config:api_key:149 Using API key from $GITGUARDIAN_API_KEY
2023-06-30 05:42:35,034 DEBUG 1274:152c urllib3.connectionpool:_new_conn:1048 Starting new HTTPS connection (1): api.gitguardian.com:443
2023-06-30 05:42:35,592 DEBUG 1274:152c urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "GET /v1/health HTTP/1.1" 200 27
2023-06-30 05:42:35,596 DEBUG 1274:152c pygitguardian.client:request:204 method=get endpoint=health status_code=200 duration=0.573461
API URL: https://api.gitguardian.com
Status: healthy
App version: v2.33.0
Secrets engine version: 2.92.0
2023-06-30 05:42:35,598 DEBUG 1274:152c ggshield.core.check_updates:check_for_updates:60 Checking the latest released version of ggshield...
2023-06-30 05:42:35,602 DEBUG 1274:152c urllib3.connectionpool:_new_conn:1048 Starting new HTTPS connection (1): api.github.com:443
2023-06-30 05:42:35,896 DEBUG 1274:152c urllib3.connectionpool:_make_request:546 https://api.github.com:443 "GET /repos/GitGuardian/GGShield/releases/latest HTTP/1.1" 200 975
ggshield secret scan docker artifactory.our.domain/docker/dotnet-framework:1.0 --docker-timeout=1200 --allow-self-signed
Saving docker image... OK
...
Skipped \Hives\System_Delta: can't detect encoding
Scanning... --------------- 67% 1767 files scanned out of 2630 0:00:06
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
WARNING: GitGuardian Shield returned non-zero exit code
I think there is an issue with the way the ggshield branch has been installed: as long as --debug
is set, the scan_threads=N
log message should appear whether or not GG_MAX_WORKERS
has been defined.
Based on the log output you posted, the path to the ggshield command is Z:\docker-image-builder\ggshield\Scripts\ggshield
. Is it possible that the pip install
command installed ggshield somewhere else?
Ah, that is my bad @agateau-gg - I didn't have the --debug
command on the actual scan command.
Saving docker image... OK
2023-07-04 07:51:46,770 DEBUG 2538:195c urllib3.connectionpool:_new_conn:1048 Starting new HTTPS connection (1): api.gitguardian.com:443
2023-07-04 07:51:47,226 DEBUG 2538:195c urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "GET /v1/metadata HTTP/1.1" 200 401
2023-07-04 07:51:47,236 DEBUG 2538:195c pygitguardian.client:request:204 method=get endpoint=metadata status_code=200 duration=0.469432
Scanning Docker config
2023-07-04 07:51:47,263 DEBUG 2538:195c ggshield.secret.secret_scanner:scan:102 files=<ggshield.secret.secret_scanner.SecretScanner object at 0x00000266DF5FC6D0> command_id=76193842-473c-42f5-a59a-ad1bb3674f4c scan_threads=1
2023-07-04 07:51:47,636 DEBUG 2538:199c urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 108
2023-07-04 07:51:47,638 DEBUG 2538:199c pygitguardian.client:request:204 method=post endpoint=multiscan status_code=200 duration=0.374216
Scanning... ----------------------------- 100% 1 files scanned out of 1 0:00:00
Scanning layer sha256:ab13d27ccff3aa9ff945291a48a55a1bfc2c121b5f6437216a4e74501538a1c7
2023-07-04 07:51:49,926 DEBUG 2538:195c ggshield.secret.secret_scanner:scan:102 files=<ggshield.secret.secret_scanner.SecretScanner object at 0x00000266DF5FC6D0> command_id=76193842-473c-42f5-a59a-ad1bb3674f4c scan_threads=1
Skipped
\Files\ProgramData\USOShared\Logs\System\UpdateSessionOrchestration_Temp.1.etl:
can't detect encoding
...
23-07-04 07:52:22,257 DEBUG 2538:1bb0 pygitguardian.client:request:204 method=post endpoint=multiscan status_code=200 duration=0.336224
2023-07-04 07:52:22,536 DEBUG 2538:1bb0 urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2023-07-04 07:52:22,544 DEBUG 2538:1bb0 pygitguardian.client:request:204 method=post endpoint=multiscan status_code=200 duration=0.284853
2023-07-04 07:52:22,725 DEBUG 2538:1bb0 urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 322
2023-07-04 07:52:22,732 DEBUG 2538:1bb0 pygitguardian.client:request:204 method=post endpoint=multiscan status_code=200 duration=0.187401
Scanning... ----------------- 78% 2047 files scanned out of 2630 0:00:04
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
2023-07-04 07:52:23,498 DEBUG 2538:195c ggshield.cmd.main:exit_code:50 scan exit_code=128
OK, I pushed another branch: agateau/debug-555 with more changes:
I'd like to investigate if the problem is:
Can you start with running the scan from the agateau/debug-555 branch with GG_MAX_WORKERS to 1?
If it passes then A is probably the issue.
If it still does not pass, can you run the scan with GG_MAX_WORKERS and GG_MAX_DOCS both set to 1, at least 2 or 3 times?
If the scan always fail on the same file, then the problem is B and we need to investigate what's wrong with that particular file.
Warning: scanning with GG_MAX_WORKERS=1 and GG_MAX_DOCS=1 is going to be slow...
Hi @agateau-gg 👋🏼
The scan failed with the SSLEOFError with GG_MAX_WORKERS
= 1
The scan failed with different errors with GG_MAX_WORKERS
= 1
and GG_MAX_DOCS
= 1
.
Here's the last snippets of the bottom of each log (I tried 3 times) for the latter scenario; you'll notice effectively the same output, aside from the % completion:
2023-07-06 12:29:14 AEST | Skipped \Files\packages\python.3.8.10\tools\libs\winsound.lib: can't detect
2023-07-06 12:29:14 AEST | encoding
2023-07-06 12:29:14 AEST | Skipped \Hives\DefaultUser_Delta: can't detect encoding
2023-07-06 12:29:15 AEST | Skipped \Hives\Sam_Delta: can't detect encoding
2023-07-06 12:29:15 AEST | Skipped \Hives\Security_Delta: can't detect encoding
2023-07-06 12:29:15 AEST | Skipped \Hives\Software_Delta: can't detect encoding
2023-07-06 12:29:15 AEST | Skipped \Hives\System_Delta: can't detect encoding
2023-07-06 12:29:16 AEST | 2023-07-06 02:29:16,044 ERROR 156c:2910 ggshield.secret.secret_scanner:handle_scan_chunk_error:246 status_code=None detail=file exceeds the maximum allowed size of 10485800B
2023-07-06 12:29:16 AEST | Scanning... ------------ 56% 7722 files scanned out of 13695 0:00:01
2023-07-06 12:29:16 AEST |
2023-07-06 12:29:16 AEST |
2023-07-06 12:29:16 AEST |
2023-07-06 12:29:16 AEST |
2023-07-06 12:29:16 AEST |
2023-07-06 12:29:16 AEST |
2023-07-06 12:29:16 AEST | Error: Scanning failed: file exceeds the maximum allowed size of 10485800B
2023-07-06 12:29:17 AEST | 2023-07-06 02:29:17,169 DEBUG 156c:2910 ggshield.cmd.main:exit_code:50 scan exit_code=128
2023-07-06 16:45:22 AEST | Skipped \Files\packages\python.3.8.10\tools\libs\winsound.lib: can't detect
2023-07-06 16:45:22 AEST | encoding
2023-07-06 16:45:23 AEST | Skipped \Hives\DefaultUser_Delta: can't detect encoding
2023-07-06 16:45:23 AEST | Skipped \Hives\Sam_Delta: can't detect encoding
2023-07-06 16:45:23 AEST | Skipped \Hives\Security_Delta: can't detect encoding
2023-07-06 16:45:23 AEST | Skipped \Hives\Software_Delta: can't detect encoding
2023-07-06 16:45:23 AEST | Skipped \Hives\System_Delta: can't detect encoding
2023-07-06 16:45:24 AEST | 2023-07-06 06:45:24,020 ERROR 1a28:1454 ggshield.secret.secret_scanner:handle_scan_chunk_error:246 status_code=None detail=file exceeds the maximum allowed size of 10485800B
2023-07-06 16:45:24 AEST | Scanning... --------- 45% 6116 files scanned out of 13690 -:--:--
2023-07-06 16:45:24 AEST |
2023-07-06 16:45:24 AEST |
2023-07-06 16:45:24 AEST |
2023-07-06 16:45:24 AEST |
2023-07-06 16:45:24 AEST |
2023-07-06 16:45:24 AEST |
2023-07-06 16:45:24 AEST | Error: Scanning failed: file exceeds the maximum allowed size of 10485800B
2023-07-06 16:45:24 AEST | 2023-07-06 06:45:24,809 DEBUG 1a28:1454 ggshield.cmd.main:exit_code:50 scan exit_code=128
2023-07-06 18:00:13 AEST | Skipped \Files\packages\python.3.8.10\tools\libs\winsound.lib: can't detect
2023-07-06 18:00:13 AEST | encoding
2023-07-06 18:00:13 AEST | Skipped \Hives\DefaultUser_Delta: can't detect encoding
2023-07-06 18:00:13 AEST | Skipped \Hives\Sam_Delta: can't detect encoding
2023-07-06 18:00:13 AEST | Skipped \Hives\Security_Delta: can't detect encoding
2023-07-06 18:00:14 AEST | Skipped \Hives\Software_Delta: can't detect encoding
2023-07-06 18:00:14 AEST | Skipped \Hives\System_Delta: can't detect encoding
2023-07-06 18:00:14 AEST | 2023-07-06 08:00:14,675 ERROR 1b5c:19f8 ggshield.secret.secret_scanner:handle_scan_chunk_error:246 status_code=None detail=file exceeds the maximum allowed size of 10485800B
2023-07-06 18:00:14 AEST | Scanning... -- 13% 1732 files scanned out of 13690 0:00:36
2023-07-06 18:00:14 AEST |
2023-07-06 18:00:14 AEST |
2023-07-06 18:00:14 AEST |
2023-07-06 18:00:14 AEST |
2023-07-06 18:00:14 AEST |
2023-07-06 18:00:14 AEST |
2023-07-06 18:00:14 AEST | Error: Scanning failed: file exceeds the maximum allowed size of 10485800B
2023-07-06 18:00:15 AEST | 2023-07-06 08:00:15,458 DEBUG 1b5c:19f8 ggshield.cmd.main:exit_code:50 scan exit_code=128
On a side note, it would be really great if we could skip the first layer or so of known images. I saw some changes recently re. caching scan results, but that likely won't help us with our ephemeral build agents (unless you guys cache the results for each layer hash on your side).
That's interesting: the "maximum allowed size" bug is #561, which we plan to work on soon. I wonder if the SSL error could be caused by that 🤔. I am going to make some changes to the debug branch to artificially restrict this size so that you don't hit that bug anymore.
On a side note, it would be really great if we could skip the first layer or so of known images. I saw some changes recently re. caching scan results, but that likely won't help us with our ephemeral build agents (unless you guys cache the results for each layer hash on your side).
Skipping the first layer was our initial plan, but it felt less efficient if other layers add a lot of tools to the image as these layers would still be scanned every time. CI systems often have the ability to make a given directory persist between runs, even with ephemeral build agents. Have you looked into this?
Just pushed a new commit to the agateau/debug-555
branch which should avoid the bug. I just noticed you are scanning large documents (more than 10 MB). I wonder if that could be related.
Sorry @agateau-gg , I still get the same error. Additionally, I can't find the "to avoid bug" output in the build log
t=1688969928593 Resolved https://github.com/gitguardian/ggshield to commit 4e9c8668748c8b2962408ba4a427f632b4a0f29c
...
t=1688975316337Skipped \Hives\DefaultUser_Delta: can't detect encoding
t=1688975316342Skipped \Hives\Sam_Delta: can't detect encoding
t=1688975316348Skipped \Hives\Security_Delta: can't detect encoding
t=1688975317215Skipped \Hives\Software_Delta: can't detect encoding
t=1688975317262Skipped \Hives\System_Delta: can't detect encoding
t=16889753173332023-07-10 07:48:37,326 ERROR 1a94:ef0 ggshield.secret.secret_scanner:handle_scan_chunk_error:256 status_code=None detail=file exceeds the maximum allowed size of 10485800B
t=1688975317347Scanning... ------------ 57% 7809 files scanned out of 13690 -:--:--
t=1688975317347
t=1688975317347
t=1688975317347
t=1688975317347
t=1688975317347
t=1688975317347
t=1688975317347Error: Scanning failed: file exceeds the maximum allowed size of 10485800B
t=16889753181092023-07-10 07:48:38,095 DEBUG 1a94:ef0 ggshield.cmd.main:exit_code:50 scan exit_code=128
I found another issue which would cause the "Scanning failed: file exceeds the maximum allowed size of 10485800B". I pushed another commit to agateau/debug-555 to workaround it. Can you give it a try?
Same again, sorry @agateau-gg
2023-07-13 17:38:40 AEST | Skipped \Hives\DefaultUser_Delta: can't detect encoding
2023-07-13 17:38:40 AEST | Skipped \Hives\Sam_Delta: can't detect encoding
2023-07-13 17:38:40 AEST | Skipped \Hives\Security_Delta: can't detect encoding
2023-07-13 17:38:41 AEST | Skipped \Hives\Software_Delta: can't detect encoding
2023-07-13 17:38:41 AEST | Skipped \Hives\System_Delta: can't detect encoding
2023-07-13 17:38:41 AEST | 2023-07-13 07:38:41,848 ERROR 2f8c:1df4 ggshield.secret.secret_scanner:handle_scan_chunk_error:263 status_code=None detail=HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
2023-07-13 17:38:41 AEST | Scanning... ----- 26% 3571 files scanned out of 13692 0:00:01
2023-07-13 17:38:41 AEST |
2023-07-13 17:38:41 AEST |
2023-07-13 17:38:41 AEST |
2023-07-13 17:38:41 AEST |
2023-07-13 17:38:41 AEST |
2023-07-13 17:38:41 AEST |
2023-07-13 17:38:41 AEST | Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
2023-07-13 17:38:42 AEST | 2023-07-13 07:38:42,226 DEBUG 2f8c:1df4 ggshield.cmd.main:exit_code:50 scan exit_code=128
I'd like to eliminate the possibility of an SSL connection issue between your server and GitGuardian.
I attached a small Python script call netcheck.py to this comment. It works by repeatedly sending a GET request to our API server using a variety of methods.
Can you install it in the same virtualenv as ggshield, then run it with python netcheck.py -r 20
(or a higher number) and report the result?
Here's what that returned @agateau-gg
03:34:59 [INFO] Starting test using https://api.gitguardian.com
03:34:59 [INFO] Run 1/20
03:34:59 [INFO] Testing with requests (verify=True)
03:34:59 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
03:35:00 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
03:35:00 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
03:35:00 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
03:35:00 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
03:35:01 [INFO] OK
03:35:01 [INFO] Testing with requests (verify=False)
03:35:01 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
C:\Python311\Lib\site-packages\urllib3\connectionpool.py:1095: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.gitguardian.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
warnings.warn(
03:35:01 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
03:35:01 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
03:35:02 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
C:\Python311\Lib\site-packages\urllib3\connectionpool.py:1095: InsecureRequestWarning: Unverified HTTPS request is being made to host 'api.gitguardian.com'. Adding certificate verification is strongly advised. See: https://urllib3.readthedocs.io/en/latest/advanced-usage.html#tls-warnings
warnings.warn(
03:35:02 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
03:35:02 [INFO] OK
03:35:02 [INFO] Defining REQUESTS_CA_BUNDLE to C:\<directory>\builds\build-windows-i-<id>-2\docker-image-builder\scripts\cacert.pem
03:35:02 [INFO] Testing with requests (verify=True)
03:35:02 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
03:35:03 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
03:35:03 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
03:35:03 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
03:35:03 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
03:35:04 [INFO] OK
03:35:04 [INFO] Testing with urllib
03:35:04 [ERROR] Network error
Traceback (most recent call last):
File "C:\Python311\Lib\urllib\request.py", line 1348, in do_open
h.request(req.get_method(), req.selector, req.data, headers,
File "C:\Python311\Lib\http\client.py", line 1286, in request
self._send_request(method, url, body, headers, encode_chunked)
File "C:\Python311\Lib\http\client.py", line 1332, in _send_request
self.endheaders(body, encode_chunked=encode_chunked)
File "C:\Python311\Lib\http\client.py", line 1281, in endheaders
self._send_output(message_body, encode_chunked=encode_chunked)
File "C:\Python311\Lib\http\client.py", line 1041, in _send_output
self.send(msg)
File "C:\Python311\Lib\http\client.py", line 979, in send
self.connect()
File "C:\Python311\Lib\http\client.py", line 1458, in connect
self.sock = self._context.wrap_socket(self.sock,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\ssl.py", line 517, in wrap_socket
return self.sslsocket_class._create(
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\ssl.py", line 1075, in _create
self.do_handshake()
File "C:\Python311\Lib\ssl.py", line 1346, in do_handshake
self._sslobj.do_handshake()
ssl.SSLCertVerificationError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "C:\<directory>\builds\build-windows-i-<id>-2\docker-image-builder\scripts\netcheck.py", line 40, in run_test
response = request.urlopen(url)
^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\urllib\request.py", line 216, in urlopen
return opener.open(url, data, timeout)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\urllib\request.py", line 519, in open
response = self._open(req, data)
^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\urllib\request.py", line 536, in _open
result = self._call_chain(self.handle_open, protocol, protocol +
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\urllib\request.py", line 496, in _call_chain
result = func(*args)
^^^^^^^^^^^
File "C:\Python311\Lib\urllib\request.py", line 1391, in https_open
return self.do_open(http.client.HTTPSConnection, req,
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "C:\Python311\Lib\urllib\request.py", line 1351, in do_open
raise URLError(err)
urllib.error.URLError: <urlopen error [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1002)>
03:35:04 [INFO] Run 2/20
Thanks, the urllib error can be ignored because ggshield only uses requests.
I created a git repository for netcheck and made some improvements to it. Can you get it from https://github.com/agateau-gg/netcheck and re-run the test with -m requests -r 20
?
Here you go @agateau-gg
Running netcheck
Collecting requests
Downloading requests-2.31.0-py3-none-any.whl (62 kB)
---------------------------------------- 62.6/62.6 kB 3.3 MB/s eta 0:00:00
Collecting charset-normalizer<4,>=2 (from requests)
Downloading charset_normalizer-3.2.0-cp311-cp311-win_amd64.whl (96 kB)
---------------------------------------- 96.6/96.6 kB ? eta 0:00:00
Collecting idna<4,>=2.5 (from requests)
Downloading idna-3.4-py3-none-any.whl (61 kB)
---------------------------------------- 61.5/61.5 kB ? eta 0:00:00
Collecting urllib3<3,>=1.21.1 (from requests)
Downloading urllib3-2.0.4-py3-none-any.whl (123 kB)
---------------------------------------- 123.9/123.9 kB ? eta 0:00:00
Collecting certifi>=2017.4.17 (from requests)
Downloading certifi-2023.7.22-py3-none-any.whl (158 kB)
---------------------------------------- 158.3/158.3 kB ? eta 0:00:00
Installing collected packages: urllib3, idna, charset-normalizer, certifi, requests
Successfully installed certifi-2023.7.22 charset-normalizer-3.2.0 idna-3.4 requests-2.31.0 urllib3-2.0.4
[notice] A new release of pip is available: 23.1.2 -> 23.2.1
[notice] To update, run: python.exe -m pip install --upgrade pip
04:51:13 [INFO] Starting test using https://api.gitguardian.com
04:51:13 [INFO] Run 1/20
04:51:13 [INFO] Testing mode=requests
04:51:13 [INFO] - Testing SSL
04:51:13 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:14 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:14 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:14 [INFO] - Testing url=https://api.gitguardian.com
04:51:14 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:14 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:14 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:14 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:15 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:15 [INFO] Request took 1.6s
04:51:15 [INFO] OK
04:51:15 [INFO] Run 2/20
04:51:15 [INFO] Testing mode=requests
04:51:15 [INFO] - Testing SSL
04:51:15 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:16 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:16 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:16 [INFO] - Testing url=https://api.gitguardian.com
04:51:16 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:16 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:16 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:17 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:17 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:17 [INFO] Request took 1.4s
04:51:17 [INFO] OK
04:51:17 [INFO] Run 3/20
04:51:17 [INFO] Testing mode=requests
04:51:17 [INFO] - Testing SSL
04:51:17 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:18 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:18 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:18 [INFO] - Testing url=https://api.gitguardian.com
04:51:18 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:19 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:19 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:19 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:19 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:20 [INFO] Request took 1.4s
04:51:20 [INFO] OK
04:51:20 [INFO] Run 4/20
04:51:20 [INFO] Testing mode=requests
04:51:20 [INFO] - Testing SSL
04:51:20 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:20 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:20 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:20 [INFO] - Testing url=https://api.gitguardian.com
04:51:20 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:21 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:21 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:21 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:21 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:22 [INFO] Request took 1.4s
04:51:22 [INFO] OK
04:51:22 [INFO] Run 5/20
04:51:22 [INFO] Testing mode=requests
04:51:22 [INFO] - Testing SSL
04:51:22 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:23 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:23 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:23 [INFO] - Testing url=https://api.gitguardian.com
04:51:23 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:23 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:23 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:23 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:24 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:24 [INFO] Request took 1.4s
04:51:24 [INFO] OK
04:51:24 [INFO] Run 6/20
04:51:24 [INFO] Testing mode=requests
04:51:24 [INFO] - Testing SSL
04:51:24 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:25 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:25 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:25 [INFO] - Testing url=https://api.gitguardian.com
04:51:25 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:25 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:25 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:25 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:26 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:26 [INFO] Request took 1.4s
04:51:26 [INFO] OK
04:51:26 [INFO] Run 7/20
04:51:26 [INFO] Testing mode=requests
04:51:26 [INFO] - Testing SSL
04:51:26 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:27 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:27 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:27 [INFO] - Testing url=https://api.gitguardian.com
04:51:27 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:27 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:27 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:28 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:28 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:28 [INFO] Request took 1.4s
04:51:28 [INFO] OK
04:51:28 [INFO] Run 8/20
04:51:28 [INFO] Testing mode=requests
04:51:28 [INFO] - Testing SSL
04:51:28 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:29 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:29 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:29 [INFO] - Testing url=https://api.gitguardian.com
04:51:29 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:30 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:30 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:30 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:30 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:31 [INFO] Request took 1.4s
04:51:31 [INFO] OK
04:51:31 [INFO] Run 9/20
04:51:31 [INFO] Testing mode=requests
04:51:31 [INFO] - Testing SSL
04:51:31 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:31 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:31 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:31 [INFO] - Testing url=https://api.gitguardian.com
04:51:31 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:32 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:32 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:32 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:32 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:33 [INFO] Request took 1.4s
04:51:33 [INFO] OK
04:51:33 [INFO] Run 10/20
04:51:33 [INFO] Testing mode=requests
04:51:33 [INFO] - Testing SSL
04:51:33 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:34 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:34 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:34 [INFO] - Testing url=https://api.gitguardian.com
04:51:34 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:34 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:34 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:34 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:35 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:35 [INFO] Request took 1.4s
04:51:35 [INFO] OK
04:51:35 [INFO] Run 11/20
04:51:35 [INFO] Testing mode=requests
04:51:35 [INFO] - Testing SSL
04:51:35 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:36 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:36 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:36 [INFO] - Testing url=https://api.gitguardian.com
04:51:36 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:36 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:36 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:37 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:37 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:37 [INFO] Request took 1.5s
04:51:37 [INFO] OK
04:51:37 [INFO] Run 12/20
04:51:37 [INFO] Testing mode=requests
04:51:37 [INFO] - Testing SSL
04:51:37 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:38 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:38 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:38 [INFO] - Testing url=https://api.gitguardian.com
04:51:38 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:38 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:38 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:39 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:39 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:39 [INFO] Request took 1.4s
04:51:39 [INFO] OK
04:51:39 [INFO] Run 13/20
04:51:39 [INFO] Testing mode=requests
04:51:39 [INFO] - Testing SSL
04:51:39 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:40 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:40 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:40 [INFO] - Testing url=https://api.gitguardian.com
04:51:40 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:41 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:41 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:41 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:41 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:42 [INFO] Request took 1.4s
04:51:42 [INFO] OK
04:51:42 [INFO] Run 14/20
04:51:42 [INFO] Testing mode=requests
04:51:42 [INFO] - Testing SSL
04:51:42 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:42 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:42 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:42 [INFO] - Testing url=https://api.gitguardian.com
04:51:42 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:43 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:43 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:43 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:43 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:44 [INFO] Request took 1.4s
04:51:44 [INFO] OK
04:51:44 [INFO] Run 15/20
04:51:44 [INFO] Testing mode=requests
04:51:44 [INFO] - Testing SSL
04:51:44 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:45 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:45 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:45 [INFO] - Testing url=https://api.gitguardian.com
04:51:45 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:45 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:45 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:45 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:46 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:46 [INFO] Request took 1.4s
04:51:46 [INFO] OK
04:51:46 [INFO] Run 16/20
04:51:46 [INFO] Testing mode=requests
04:51:46 [INFO] - Testing SSL
04:51:46 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:47 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:47 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:47 [INFO] - Testing url=https://api.gitguardian.com
04:51:47 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:47 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:47 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:48 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:48 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:48 [INFO] Request took 1.4s
04:51:48 [INFO] OK
04:51:48 [INFO] Run 17/20
04:51:48 [INFO] Testing mode=requests
04:51:48 [INFO] - Testing SSL
04:51:48 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:49 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:49 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:49 [INFO] - Testing url=https://api.gitguardian.com
04:51:49 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:49 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:49 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:50 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:50 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:50 [INFO] Request took 1.4s
04:51:50 [INFO] OK
04:51:50 [INFO] Run 18/20
04:51:50 [INFO] Testing mode=requests
04:51:50 [INFO] - Testing SSL
04:51:50 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:51 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:51 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:51 [INFO] - Testing url=https://api.gitguardian.com
04:51:51 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:52 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:52 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:52 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:52 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:53 [INFO] Request took 1.4s
04:51:53 [INFO] OK
04:51:53 [INFO] Run 19/20
04:51:53 [INFO] Testing mode=requests
04:51:53 [INFO] - Testing SSL
04:51:53 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:53 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:53 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:53 [INFO] - Testing url=https://api.gitguardian.com
04:51:53 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:54 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:54 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:54 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:54 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:55 [INFO] Request took 1.4s
04:51:55 [INFO] OK
04:51:55 [INFO] Run 20/20
04:51:55 [INFO] Testing mode=requests
04:51:55 [INFO] - Testing SSL
04:51:55 [DEBUG] Starting new HTTPS connection (1): www.howsmyssl.com:443
04:51:56 [DEBUG] https://www.howsmyssl.com:443 "GET /a/check HTTP/1.1" 200 352
04:51:56 [INFO] {
"given_cipher_suites": [
"TLS_AES_256_GCM_SHA384",
"TLS_CHACHA20_POLY1305_SHA256",
"TLS_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_ECDHE_ECDSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_RSA_WITH_CHACHA20_POLY1305_SHA256",
"TLS_ECDHE_ECDSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384",
"TLS_ECDHE_ECDSA_WITH_AES_128_CBC_SHA256",
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_256_GCM_SHA384",
"TLS_DHE_RSA_WITH_AES_128_GCM_SHA256",
"TLS_DHE_RSA_WITH_AES_256_CBC_SHA256",
"TLS_DHE_RSA_WITH_AES_128_CBC_SHA256",
"TLS_EMPTY_RENEGOTIATION_INFO_SCSV"
],
"ephemeral_keys_supported": true,
"session_ticket_supported": false,
"tls_compression_supported": false,
"unknown_cipher_suite_supported": false,
"beast_vuln": false,
"able_to_detect_n_minus_one_splitting": false,
"insecure_cipher_suites": {},
"tls_version": "TLS 1.3",
"rating": "Probably Okay"
}
04:51:56 [INFO] - Testing url=https://api.gitguardian.com
04:51:56 [DEBUG] Starting new HTTPS connection (1): api.gitguardian.com:443
04:51:56 [DEBUG] https://api.gitguardian.com:443 "GET / HTTP/1.1" 301 162
04:51:56 [DEBUG] Starting new HTTP connection (1): api.gitguardian.com:80
04:51:56 [DEBUG] http://api.gitguardian.com:80 "GET /docs HTTP/1.1" 301 0
04:51:57 [DEBUG] https://api.gitguardian.com:443 "GET /docs HTTP/1.1" 200 None
04:51:57 [INFO] Request took 1.4s
04:51:57 [INFO] OK
04:51:57 [INFO] Errors: 0
OK thanks, so netcheck found nothing 😞. At least this culprit has been eliminated.
Another possible culprit might be the document size. From what I see in your log output, your server is configured with a maximum doc size of 10,485,800. That's quite large.
I just rebased the agateau/debug-555 branch on top of main and added yet another environment variable: GG_MAX_DOC_SIZE
. This variable makes it possible to set a smaller size limit without reconfiguring your server.
Can you try running a scan with GG_MAX_DOC_SIZE
set to 1048576 (the default value) and see if it works better? If it does then running with an increasing max doc size can help us identifying the tipping value.
I am going to do a similar test on my side.
Is there a new dep, or has one of the python deps removed their dependency on cryptography?
File "C:\builds\docker-image-builder\ggshield\Lib\site-packages\ggshield\hmsl\client.py", line 12, in <module>
from .crypto import decrypt, make_hint
File "C:\builds\docker-image-builder\ggshield\Lib\site-packages\ggshield\hmsl\crypto.py", line 6, in <module>
from cryptography.exceptions import InvalidTag
ModuleNotFoundError: No module named 'cryptography'
This is odd: the dependency on cryptography has been added as optional in 1.17.2. It is still optional as of now. In any case, the dependency is going to be mandatory in 1.18.0, so you might as well install it.
🎉 🎉 🎉 🎉 🎉
2023-08-09 07:51:26,542 DEBUG 2290:2950 urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2023-08-09 07:51:26,558 DEBUG 2290:2950 pygitguardian.client:request:209 method=post endpoint=multiscan status_code=200 duration=0.249610
Scanning... --------------------- 100% 13691 files scanned out of 13691 0:00:00
No secrets have been found
2023-08-09 07:51:27,396 DEBUG 2290:2354 ggshield.cmd.main:exit_code:50 scan exit_code=0
FWIW I think our max doc size was set by the support team as the scanner was causing windows docker image builds to fail with a non-zero exit code.
Interesting! Can you try a few different values for the maximum size so that we have a rough idea of the point it starts to cause problems?
Here you go @agateau-gg
GG_MAX_DOC_SIZE=5242880
Scanning... ---------------------- 96% 2535 files scanned out of 2635 0:00:01
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
2023-08-10 00:48:45,693 DEBUG 764:1ee4 ggshield.cmd.main:exit_code:50 scan exit_code=128
GG_MAX_DOC_SIZE=3145728
Scanning... -------------- 63% 1652 files scanned out of 2635 0:00:18
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
2023-08-10 02:17:38,997 DEBUG 1e4:1450 ggshield.cmd.main:exit_code:50 scan exit_code=128
GG_MAX_DOC_SIZE=2097152
Scanning... -------------------- 91% 2395 files scanned out of 2635 0:00:03
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
2023-08-10 04:33:47,049 DEBUG 10d4:1084 ggshield.cmd.main:exit_code:50 scan exit_code=128
GG_MAX_DOC_SIZE=1572864
2023-08-10 05:21:46,816 DEBUG 195c:161c urllib3.connectionpool:_make_request:546 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2023-08-10 05:21:46,818 DEBUG 195c:161c pygitguardian.client:request:209 method=post endpoint=multiscan status_code=200 duration=0.220404
Scanning... --------------------- 100% 13694 files scanned out of 13694 0:00:00
No secrets have been found
2023-08-10 05:21:47,170 DEBUG 195c:bd4 ggshield.cmd.main:exit_code:50 scan exit_code=0
Thanks, looks like it break at quite a low size :(. Going to try to reproduce on our side and see if we can fix this server side. I still don't understand why it causes SSL failures though.
I can reproduce the bug on our side, we are going to investigate. We'll keep you posted.
I spent more time investigating, and I now know more about what's happening.
Our SaaS instance has a payload limit of ~30M. Since ggshield sends documents to scan in batch of 20 and your maximum document size is set to 10,485,800 bytes, it's quite easy to create a payload larger than 30M. When this happens, the server abruptly stops the incoming HTTP request, causing the SSL layer to report an "unexpected EOF".
We are going to work on a proper solution to support scans of larger documents without hitting the server payload limit. In the mean time, I created the agateau/max-docs-1.18.x
branch to unblock you. It is based on ggshield 1.18.1 and adds the GG_MAX_DOCS and GG_MAX_DOC_SIZE environment variables we used during investigation. If my math is correct, you should be able to scan without errors using one of these two settings:
Let me know if this helps.
Thanks @agateau-gg - I think we'll await the official fix.
Hi @agateau-gg 👋🏼
Can you please confirm whether this issue was fixed by #823 ?
We are still seeing this problem crop up, but are pinned to 1.24.0
Oh, it should have been fixed in 1.24.0 😞. I am trying to reproduce on my side. In the mean time, can you add the --debug
option and post the failure?
Hi @agateau-gg, I'll be taking the reins on this as @testworksau is heading off on some well-deserved leave.
As requested, here's the failure when running with the --debug
option:
...
Skipped sha256:303e2c8666e4f0e61f2c1d980a9e8a32ebd16c8854938b102ebdf0e3504f7bf6:/Hives/DefaultUser_Delta: can't detect encoding
Skipped sha256:303e2c8666e4f0e61f2c1d980a9e8a32ebd16c8854938b102ebdf0e3504f7bf6:/Hives/Sam_Delta: can't detect encoding
Skipped sha256:303e2c8666e4f0e61f2c1d980a9e8a32ebd16c8854938b102ebdf0e3504f7bf6:/Hives/Security_Delta: can't detect encoding
2024-04-25 23:07:25,060 DEBUG 1b0c:640 urllib3.connectionpool:_make_request:474 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-04-25 23:07:25,127 DEBUG 1b0c:640 pygitguardian.client:request:238 method=post endpoint=multiscan status_code=200 duration=1.540674
2024-04-25 23:07:25,184 DEBUG 1b0c:74c urllib3.connectionpool:_make_request:474 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-04-25 23:07:25,225 DEBUG 1b0c:74c pygitguardian.client:request:238 method=post endpoint=multiscan status_code=200 duration=0.977397
Skipped sha256:303e2c8666e4f0e61f2c1d980a9e8a32ebd16c8854938b102ebdf0e3504f7bf6:/Hives/Software_Delta: can't detect encoding
Skipped sha256:303e2c8666e4f0e61f2c1d980a9e8a32ebd16c8854938b102ebdf0e3504f7bf6:/Hives/System_Delta: can't detect encoding
2024-04-25 23:07:25,428 ERROR 1b0c:1c38 ggshield.verticals.secret.secret_scanner:handle_scan_chunk_error:221 status_code=None detail=HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')))
2024-04-25 23:07:25,737 DEBUG 1b0c:694 urllib3.connectionpool:_make_request:474 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 964
2024-04-25 23:07:25,741 DEBUG 1b0c:694 pygitguardian.client:request:238 method=post endpoint=multiscan status_code=200 duration=0.313339
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')))
2024-04-25 23:07:26,111 DEBUG 1b0c:1c38 ggshield.__main__:exit_code:55 scan exit_code=128
...
Hi @santhonisz, I just pushed a branch which does two things:
You can install the branch with pip install --force-reinstall git+https://github.com/gitguardian/ggshield@agateau/debug-555-2
, then run it with --debug
.
If it fails, can you set the environment variable GG_MAX_PAYLOAD_SIZE
to 10000000 and try again?
No luck I'm afraid. Here's the (filtered) debug log output using your branch version:
GG_MAX_PAYLOAD_SIZE
not set:GG_MAX_PAYLOAD_SIZE= 10000000
:Damn, I thought we would have gotten more useful information from that run 😞. Going to prepare another branch tomorrow.
Hi, can you try again?
I added more logs and 5 retries in case of failures.
No need to set GG_MAX_PAYLOAD_SIZE
.
Still failing, here's the latest output:
2024-05-01 00:09:21,500 DEBUG 1ea8:1af0 ggshield.cmd.utils.debug_logs:setup_debug_logs:37 py-gitguardian=1.14.0
Saving docker image... OK
2024-05-01 00:15:49,642 DEBUG 1ea8:1af0 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (1): api.gitguardian.com:443
2024-05-01 00:15:50,404 DEBUG 1ea8:1af0 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "GET /v1/metadata HTTP/1.1" 200 434
2024-05-01 00:15:50,415 DEBUG 1ea8:1af0 pygitguardian.client:request:239 method=get endpoint=metadata status_code=200 duration=0.775036
Scanning Docker config
2024-05-01 00:15:50,425 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:scan:74 command_id=f76b6dc4-134a-420e-82f3-b4ce380e5a19 scan_threads=8
2024-05-01 00:15:50,437 DEBUG 1ea8:1af0 root:_start_scans:157 max_doc_size=10485800
2024-05-01 00:15:50,437 DEBUG 1ea8:1af0 root:_start_scans:158 max_docs=20
2024-05-01 00:15:50,437 DEBUG 1ea8:1af0 root:_start_scans:159 max_payload_size=26204160
2024-05-01 00:15:50,633 DEBUG 1ea8:708 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 108
2024-05-01 00:15:50,639 DEBUG 1ea8:708 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.201169
2024-05-01 00:15:50,640 DEBUG 1ea8:708 root:multi_content_scan_wrapper:110 Request OK
Scanning layer sha256:303e2c8666e4f0e61f2c1d980a9e8a32ebd16c8854938b102ebdf0e3504f7bf6
2024-05-01 00:15:53,545 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:scan:74 command_id=f76b6dc4-134a-420e-82f3-b4ce380e5a19 scan_threads=8
2024-05-01 00:15:53,545 DEBUG 1ea8:1af0 root:_start_scans:157 max_doc_size=10485800
2024-05-01 00:15:53,545 DEBUG 1ea8:1af0 root:_start_scans:158 max_docs=20
2024-05-01 00:15:53,545 DEBUG 1ea8:1af0 root:_start_scans:159 max_payload_size=26204160
2024-05-01 00:15:53,873 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=294613
2024-05-01 00:15:54,051 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=8240897
2024-05-01 00:15:54,131 DEBUG 1ea8:e2c urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (2): api.gitguardian.com:443
2024-05-01 00:15:54,282 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=592569
2024-05-01 00:15:54,293 DEBUG 1ea8:b70 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (3): api.gitguardian.com:443
2024-05-01 00:15:54,567 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=1421767
2024-05-01 00:15:54,603 DEBUG 1ea8:418 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (4): api.gitguardian.com:443
2024-05-01 00:15:54,804 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:54,805 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.917420
2024-05-01 00:15:54,805 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:54,988 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=1869976
2024-05-01 00:15:55,018 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=647678
2024-05-01 00:15:55,045 DEBUG 1ea8:1154 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (5): api.gitguardian.com:443
2024-05-01 00:15:55,132 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=1278934
2024-05-01 00:15:55,133 DEBUG 1ea8:1108 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (6): api.gitguardian.com:443
2024-05-01 00:15:55,406 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=1978488
2024-05-01 00:15:55,431 DEBUG 1ea8:17fc urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (7): api.gitguardian.com:443
2024-05-01 00:15:56,875 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:56,952 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=2.662955
2024-05-01 00:15:56,996 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:57,218 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:57,266 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=2.267895
2024-05-01 00:15:57,296 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:57,470 DEBUG 1ea8:418 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:57,534 DEBUG 1ea8:418 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=2.955547
2024-05-01 00:15:57,547 DEBUG 1ea8:418 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:57,725 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:57,817 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=2.683598
2024-05-01 00:15:57,833 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:57,950 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=752774
2024-05-01 00:15:57,971 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:57,991 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=2.962229
2024-05-01 00:15:57,993 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:58,425 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:58,474 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.514307
2024-05-01 00:15:58,500 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:15:58,597 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:15:58,613 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=3.194412
2024-05-01 00:15:58,614 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:01,228 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:01,279 DEBUG 1ea8:e2c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=7.215866
2024-05-01 00:16:01,309 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:20,433 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=6322490
2024-05-01 00:16:20,774 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=231141
2024-05-01 00:16:20,805 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=321585
2024-05-01 00:16:20,889 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=2339497
2024-05-01 00:16:21,054 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=83218
2024-05-01 00:16:21,058 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,069 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.283155
2024-05-01 00:16:21,073 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,126 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,146 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.326535
2024-05-01 00:16:21,148 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,161 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=163835
2024-05-01 00:16:21,189 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=58173
2024-05-01 00:16:21,265 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=178474
2024-05-01 00:16:21,354 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,361 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.303611
2024-05-01 00:16:21,371 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,418 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=169327
2024-05-01 00:16:21,454 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,456 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.293648
2024-05-01 00:16:21,466 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,495 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,510 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=92592
2024-05-01 00:16:21,515 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.312533
2024-05-01 00:16:21,516 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,583 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,604 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.328437
2024-05-01 00:16:21,604 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,622 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=132149
2024-05-01 00:16:21,730 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=111604
2024-05-01 00:16:21,783 DEBUG 1ea8:418 urllib3.util.retry:increment:517 Incremented Retry for (url='/v1/multiscan?ignore_known_secrets=True'): Retry(total=4, connect=None, read=None, redirect=None, status=None)
2024-05-01 00:16:21,785 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,785 WARNING 1ea8:418 urllib3.connectionpool:urlopen:874 Retrying (Retry(total=4, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')': /v1/multiscan?ignore_known_secrets=True
2024-05-01 00:16:21,791 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.366848
2024-05-01 00:16:21,812 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,824 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,844 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.328666
2024-05-01 00:16:21,847 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:21,858 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=103397
2024-05-01 00:16:21,941 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:21,961 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.331280
2024-05-01 00:16:21,962 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=61474
2024-05-01 00:16:21,962 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,060 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:22,103 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.352312
2024-05-01 00:16:22,103 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,104 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=105176
2024-05-01 00:16:22,162 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=255208
2024-05-01 00:16:22,172 DEBUG 1ea8:17fc urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (8): api.gitguardian.com:443
2024-05-01 00:16:22,185 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:22,202 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.328523
2024-05-01 00:16:22,202 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,224 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=666645
2024-05-01 00:16:22,244 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:22,250 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.286061
2024-05-01 00:16:22,252 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,263 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:22,272 DEBUG 1ea8:e2c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.352772
2024-05-01 00:16:22,274 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,371 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:22,373 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.261727
2024-05-01 00:16:22,375 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,451 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=2331493
2024-05-01 00:16:22,574 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=891177
2024-05-01 00:16:22,651 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:22,658 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.425543
2024-05-01 00:16:22,666 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:22,679 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=560893
2024-05-01 00:16:22,750 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=378352
2024-05-01 00:16:22,875 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=1583947
2024-05-01 00:16:22,948 DEBUG 1ea8:418 urllib3.util.retry:increment:517 Incremented Retry for (url='/v1/multiscan?ignore_known_secrets=True'): Retry(total=3, connect=None, read=None, redirect=None, status=None)
2024-05-01 00:16:23,032 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:23,042 DEBUG 1ea8:e2c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.460158
2024-05-01 00:16:23,043 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:23,094 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:23,104 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.416584
2024-05-01 00:16:23,106 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:23,106 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=760818
2024-05-01 00:16:23,211 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=511798
2024-05-01 00:16:23,327 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=310436
2024-05-01 00:16:23,355 DEBUG 1ea8:1a74 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (9): api.gitguardian.com:443
2024-05-01 00:16:23,364 WARNING 1ea8:418 urllib3.connectionpool:urlopen:874 Retrying (Retry(total=3, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')': /v1/multiscan?ignore_known_secrets=True
2024-05-01 00:16:23,364 DEBUG 1ea8:418 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (10): api.gitguardian.com:443
2024-05-01 00:16:23,396 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=417461
2024-05-01 00:16:23,442 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=272421
2024-05-01 00:16:23,482 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:23,495 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.042654
2024-05-01 00:16:23,562 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=786597
2024-05-01 00:16:23,645 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:23,647 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.478962
2024-05-01 00:16:23,648 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:23,667 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:23,672 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.919989
2024-05-01 00:16:23,674 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:23,681 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:23,726 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:23,726 DEBUG 1ea8:e2c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.619122
2024-05-01 00:16:23,727 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:23,759 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=24347
2024-05-01 00:16:23,778 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=2332877
2024-05-01 00:16:23,822 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=97812
2024-05-01 00:16:23,833 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=150055
2024-05-01 00:16:23,837 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=56029
2024-05-01 00:16:23,845 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=187675
2024-05-01 00:16:23,857 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=161120
2024-05-01 00:16:23,866 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=103628
2024-05-01 00:16:23,872 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=124313
2024-05-01 00:16:23,877 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=123157
2024-05-01 00:16:23,891 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=90478
2024-05-01 00:16:23,899 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=60285
2024-05-01 00:16:23,928 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=142812
2024-05-01 00:16:23,938 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=165791
2024-05-01 00:16:23,941 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=546870
2024-05-01 00:16:24,040 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.281015
2024-05-01 00:16:24,041 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,079 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=872350
2024-05-01 00:16:24,090 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,092 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.410149
2024-05-01 00:16:24,093 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,102 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=925631
2024-05-01 00:16:24,113 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=461879
2024-05-01 00:16:24,121 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,122 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.472408
2024-05-01 00:16:24,122 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,134 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=993177
2024-05-01 00:16:24,147 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=943814
2024-05-01 00:16:24,223 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,224 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.707637
2024-05-01 00:16:24,231 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,290 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=805537
2024-05-01 00:16:24,310 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,316 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.272695
2024-05-01 00:16:24,365 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=404464
2024-05-01 00:16:24,369 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,369 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.245940
2024-05-01 00:16:24,371 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,374 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,375 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.281035
2024-05-01 00:16:24,376 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,392 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=180022
2024-05-01 00:16:24,636 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,647 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,658 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,663 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.292698
2024-05-01 00:16:24,676 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,686 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,809 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,817 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.925314
2024-05-01 00:16:24,817 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,851 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,860 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.312586
2024-05-01 00:16:24,860 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,940 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:24,973 DEBUG 1ea8:e2c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.176587
2024-05-01 00:16:24,979 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:24,989 DEBUG 1ea8:17fc root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,019 DEBUG 1ea8:1a74 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,030 DEBUG 1ea8:1a74 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.694421
2024-05-01 00:16:25,036 DEBUG 1ea8:1a74 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,038 DEBUG 1ea8:1154 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,065 DEBUG 1ea8:1154 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,119 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,119 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.290948
2024-05-01 00:16:25,120 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,275 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,284 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.413611
2024-05-01 00:16:25,285 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,380 DEBUG 1ea8:418 urllib3.util.retry:increment:517 Incremented Retry for (url='/v1/multiscan?ignore_known_secrets=True'): Retry(total=2, connect=None, read=None, redirect=None, status=None)
2024-05-01 00:16:25,439 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,469 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,483 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,631 DEBUG 1ea8:17fc urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,641 DEBUG 1ea8:17fc pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.630292
2024-05-01 00:16:25,716 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,727 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:25,805 DEBUG 1ea8:b70 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:25,815 DEBUG 1ea8:b70 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.368885
2024-05-01 00:16:25,815 DEBUG 1ea8:b70 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:26,031 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:26,084 DEBUG 1ea8:1154 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.012891
2024-05-01 00:16:26,191 WARNING 1ea8:418 urllib3.connectionpool:urlopen:874 Retrying (Retry(total=2, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')': /v1/multiscan?ignore_known_secrets=True
2024-05-01 00:16:26,200 DEBUG 1ea8:418 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (11): api.gitguardian.com:443
2024-05-01 00:16:26,647 DEBUG 1ea8:1a74 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:26,647 DEBUG 1ea8:1a74 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.608331
2024-05-01 00:16:26,657 DEBUG 1ea8:1a74 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:29,108 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=1595377
2024-05-01 00:16:29,590 WARNING 1ea8:418 urllib3.connectionpool:urlopen:874 Retrying (Retry(total=1, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')': /v1/multiscan?ignore_known_secrets=True
2024-05-01 00:16:29,590 DEBUG 1ea8:418 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (12): api.gitguardian.com:443
2024-05-01 00:16:29,692 DEBUG 1ea8:1af0 ggshield.verticals.secret.secret_scanner:_start_scans:187 sending chunk len(chunk)=20 utf8_encoded_chunk_size=334192
2024-05-01 00:16:30,568 DEBUG 1ea8:1108 urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:30,575 DEBUG 1ea8:1108 pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.871140
2024-05-01 00:16:30,576 DEBUG 1ea8:1108 root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:30,659 DEBUG 1ea8:e2c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 None
2024-05-01 00:16:30,660 DEBUG 1ea8:e2c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=1.540286
2024-05-01 00:16:30,661 DEBUG 1ea8:e2c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:30,858 DEBUG 1ea8:c6c urllib3.connectionpool:_make_request:549 https://api.gitguardian.com:443 "POST /v1/multiscan?ignore_known_secrets=True HTTP/1.1" 200 964
2024-05-01 00:16:30,865 DEBUG 1ea8:c6c pygitguardian.client:request:239 method=post endpoint=multiscan status_code=200 duration=0.300348
2024-05-01 00:16:30,873 DEBUG 1ea8:c6c root:multi_content_scan_wrapper:110 Request OK
2024-05-01 00:16:31,460 DEBUG 1ea8:418 urllib3.util.retry:increment:517 Incremented Retry for (url='/v1/multiscan?ignore_known_secrets=True'): Retry(total=0, connect=None, read=None, redirect=None, status=None)
2024-05-01 00:16:34,670 WARNING 1ea8:418 urllib3.connectionpool:urlopen:874 Retrying (Retry(total=0, connect=None, read=None, redirect=None, status=None)) after connection broken by 'SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')': /v1/multiscan?ignore_known_secrets=True
2024-05-01 00:16:34,670 DEBUG 1ea8:418 urllib3.connectionpool:_new_conn:1055 Starting new HTTPS connection (13): api.gitguardian.com:443
2024-05-01 00:16:36,371 ERROR 1ea8:418 root:multi_content_scan_wrapper:107 Request failed: exception=HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')))
2024-05-01 00:16:36,383 ERROR 1ea8:1af0 ggshield.verticals.secret.secret_scanner:handle_scan_chunk_error:259 status_code=None detail=HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')))
Error: Scanning failed: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2406)')))
2024-05-01 00:16:36,527 DEBUG 1ea8:1af0 ggshield.__main__:exit_code:57 scan exit_code=128
I am running out of ideas here :/. Going to check with my colleagues how to debug that. Sorry for the inconvenience.
Sorry for the lack of response, we are still investigating on our side. In the mean time, do you have a way to run the same scan from a Linux machine? I am wondering if the OS could have an impact on that bug.
Environment
Describe the bug
We are seeing this issue on one of our builds:
Steps to reproduce:
Actual result:
ERROR: Error scanning: HTTPSConnectionPool(host='api.gitguardian.com', port=443): Max retries exceeded with url: /v1/multiscan?ignore_known_secrets=True (Caused by SSLError(SSLEOFError(8, 'EOF occurred in violation of protocol (_ssl.c:2423)')))
Expected result:
The build should work successfully.