credsweeper 1.11.2__py3-none-any.whl → 1.11.3__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Potentially problematic release.
This version of credsweeper might be problematic. Click here for more details.
- credsweeper/__init__.py +1 -1
- credsweeper/__main__.py +6 -4
- credsweeper/app.py +7 -3
- credsweeper/common/keyword_pattern.py +15 -9
- credsweeper/common/morpheme_checklist.txt +4 -2
- credsweeper/credentials/line_data.py +14 -10
- credsweeper/deep_scanner/abstract_scanner.py +10 -1
- credsweeper/deep_scanner/deep_scanner.py +19 -8
- credsweeper/deep_scanner/docx_scanner.py +1 -1
- credsweeper/deep_scanner/encoder_scanner.py +2 -2
- credsweeper/deep_scanner/html_scanner.py +3 -3
- credsweeper/deep_scanner/jks_scanner.py +2 -4
- credsweeper/deep_scanner/lang_scanner.py +2 -2
- credsweeper/deep_scanner/lzma_scanner.py +40 -0
- credsweeper/deep_scanner/pkcs12_scanner.py +3 -5
- credsweeper/deep_scanner/xml_scanner.py +2 -2
- credsweeper/file_handler/data_content_provider.py +21 -12
- credsweeper/filters/value_array_dictionary_check.py +3 -1
- credsweeper/filters/value_azure_token_check.py +1 -2
- credsweeper/filters/value_base64_part_check.py +30 -21
- credsweeper/filters/value_discord_bot_check.py +1 -2
- credsweeper/filters/value_entropy_base32_check.py +11 -31
- credsweeper/filters/value_entropy_base36_check.py +11 -34
- credsweeper/filters/value_entropy_base64_check.py +19 -48
- credsweeper/filters/value_entropy_base_check.py +37 -0
- credsweeper/filters/value_file_path_check.py +1 -1
- credsweeper/filters/value_hex_number_check.py +3 -3
- credsweeper/filters/value_json_web_token_check.py +4 -5
- credsweeper/filters/value_string_type_check.py +11 -3
- credsweeper/filters/value_token_base32_check.py +0 -4
- credsweeper/filters/value_token_base36_check.py +0 -4
- credsweeper/filters/value_token_base64_check.py +0 -4
- credsweeper/filters/value_token_check.py +1 -1
- credsweeper/ml_model/features/file_extension.py +1 -1
- credsweeper/ml_model/features/morpheme_dense.py +0 -4
- credsweeper/ml_model/features/rule_name.py +1 -1
- credsweeper/ml_model/features/word_in_path.py +0 -9
- credsweeper/ml_model/features/word_in_postamble.py +0 -11
- credsweeper/ml_model/features/word_in_preamble.py +0 -11
- credsweeper/ml_model/features/word_in_transition.py +0 -11
- credsweeper/ml_model/features/word_in_value.py +0 -11
- credsweeper/ml_model/features/word_in_variable.py +0 -11
- credsweeper/ml_model/ml_validator.py +4 -3
- credsweeper/rules/config.yaml +238 -208
- credsweeper/scanner/scan_type/scan_type.py +2 -3
- credsweeper/scanner/scanner.py +7 -1
- credsweeper/secret/config.json +16 -5
- credsweeper/utils/pem_key_detector.py +4 -5
- credsweeper/utils/util.py +67 -144
- {credsweeper-1.11.2.dist-info → credsweeper-1.11.3.dist-info}/METADATA +1 -1
- {credsweeper-1.11.2.dist-info → credsweeper-1.11.3.dist-info}/RECORD +54 -53
- credsweeper/utils/entropy_validator.py +0 -72
- {credsweeper-1.11.2.dist-info → credsweeper-1.11.3.dist-info}/WHEEL +0 -0
- {credsweeper-1.11.2.dist-info → credsweeper-1.11.3.dist-info}/entry_points.txt +0 -0
- {credsweeper-1.11.2.dist-info → credsweeper-1.11.3.dist-info}/licenses/LICENSE +0 -0
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
credsweeper/__init__.py,sha256=
|
|
2
|
-
credsweeper/__main__.py,sha256=
|
|
3
|
-
credsweeper/app.py,sha256=
|
|
1
|
+
credsweeper/__init__.py,sha256=L-vND0eGgSHFmpgZGvaEciE_TKM0FcH5DDa2yQdb9gQ,632
|
|
2
|
+
credsweeper/__main__.py,sha256=iYL8byo3Ytq_RYqhF8kS4bFKzTGltDj93PCYGwZ72ZA,17244
|
|
3
|
+
credsweeper/app.py,sha256=M0f6G97lsF2JALkr4IwQEKSZ__JicJGhOrgNmNDanyQ,21633
|
|
4
4
|
credsweeper/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
5
5
|
credsweeper/common/__init__.py,sha256=mYiHEDV0hSeWcFx0Wb8oIRDCPR92ben0mCuC9-gCTgI,184
|
|
6
6
|
credsweeper/common/constants.py,sha256=plBHrIVfj4CBpymIgLxTPiYr66_By3QKlgCoHYVKPLc,5534
|
|
7
7
|
credsweeper/common/keyword_checklist.py,sha256=6EKNdMMryZykedAOhEc-MF1byi5oXmAiljq61T_nco4,2258
|
|
8
8
|
credsweeper/common/keyword_checklist.txt,sha256=a8GW-wF6D83uVFYxMWEsUFlth6c1B_KDpF8_Xpj0mE8,7169
|
|
9
|
-
credsweeper/common/keyword_pattern.py,sha256=
|
|
10
|
-
credsweeper/common/morpheme_checklist.txt,sha256=
|
|
9
|
+
credsweeper/common/keyword_pattern.py,sha256=ZBJshY8hEP8CUFWQIrqQHcSLwPnUBTblNgFMOEoYUCY,3285
|
|
10
|
+
credsweeper/common/morpheme_checklist.txt,sha256=pHFCXfPE02R_HcbXHAVsyWyDK6xv75vF95K7SQ2_wsU,8870
|
|
11
11
|
credsweeper/config/__init__.py,sha256=3_lLgF2P-EurNupTYmHvY11Ba8rdjhLJAAfTiMJW4mY,45
|
|
12
12
|
credsweeper/config/config.py,sha256=Rfc8YLa4bcG_AMequbfQ-HggS74jC4OqTtaWOoGxJdA,2630
|
|
13
13
|
credsweeper/credentials/__init__.py,sha256=bn7BEgGqKcwlCLi5-7_sXlBmIpK7s5RrNcG_e01L4Ck,333
|
|
@@ -16,34 +16,35 @@ credsweeper/credentials/candidate.py,sha256=a6CNNKqCEnOm_EEHVFBPGOgqheXegvTDh1TW
|
|
|
16
16
|
credsweeper/credentials/candidate_group_generator.py,sha256=rN_c4-ogPz0h-z2aPgzbu0hUz68L69xfd9oyzkooTUc,1243
|
|
17
17
|
credsweeper/credentials/candidate_key.py,sha256=uaO4YzDs-NdYg0sAM7F7x7uoSLHOitJTAOZYHgvxfYY,913
|
|
18
18
|
credsweeper/credentials/credential_manager.py,sha256=CjZ4_fd-tK2hobxASOf5vTOPzdpGmzpJYqxCpt1_La0,4149
|
|
19
|
-
credsweeper/credentials/line_data.py,sha256=
|
|
19
|
+
credsweeper/credentials/line_data.py,sha256=dLP-zViA7nfPVPn5b4HlK4-a6sdeD7FWJDluCsXKG9w,20647
|
|
20
20
|
credsweeper/deep_scanner/__init__.py,sha256=Lp94BjQPZTgEa77E0v6xZaXZvQf2A-QTHsjqCzZxUFw,62
|
|
21
|
-
credsweeper/deep_scanner/abstract_scanner.py,sha256=
|
|
21
|
+
credsweeper/deep_scanner/abstract_scanner.py,sha256=fVS-IuR_9A2vVmAiEzlMund3VnrTOZv4bAXvIUgB11k,1725
|
|
22
22
|
credsweeper/deep_scanner/byte_scanner.py,sha256=oHeA8mGe995SHqWvONhTDBIE5j50TQASHA9Mv6LHYuQ,1125
|
|
23
23
|
credsweeper/deep_scanner/bzip2_scanner.py,sha256=74RsjmeuffEuxmKl04lXIZt3q_Zvxj-gLHXACqVSU_o,1619
|
|
24
|
-
credsweeper/deep_scanner/deep_scanner.py,sha256=
|
|
25
|
-
credsweeper/deep_scanner/docx_scanner.py,sha256=
|
|
24
|
+
credsweeper/deep_scanner/deep_scanner.py,sha256=OQzMAs78vFJl2rZlIxu-puhv-ssToWigZlMTMPFXndY,17936
|
|
25
|
+
credsweeper/deep_scanner/docx_scanner.py,sha256=_xIuw5SkGU1wO_9C3fXVycM-iSmU9qUzWa53etuFvMI,4153
|
|
26
26
|
credsweeper/deep_scanner/eml_scanner.py,sha256=iRLr2yvBWGktT2oXxl-haqnhJN3tglO1Mej10hFk0as,3512
|
|
27
|
-
credsweeper/deep_scanner/encoder_scanner.py,sha256=
|
|
27
|
+
credsweeper/deep_scanner/encoder_scanner.py,sha256=ULv9AgfG_ZLCYYgyUeQicna9u1i-rlmOiE4euvqahmY,1315
|
|
28
28
|
credsweeper/deep_scanner/gzip_scanner.py,sha256=jIOHZ9oYBV_LIzJjY5JU6NgbGhrLg2rbOYp3X-iv4QU,1696
|
|
29
|
-
credsweeper/deep_scanner/html_scanner.py,sha256=
|
|
30
|
-
credsweeper/deep_scanner/jks_scanner.py,sha256=
|
|
31
|
-
credsweeper/deep_scanner/lang_scanner.py,sha256=
|
|
29
|
+
credsweeper/deep_scanner/html_scanner.py,sha256=Mh6gUxvlMnI4Kys7V8ZBBExQSsOYqYUbil7FYiXX4lc,1486
|
|
30
|
+
credsweeper/deep_scanner/jks_scanner.py,sha256=1BqHfOmqcznrhMN-9aH-L8yamIAj72OYr7_DBuuj0_c,1867
|
|
31
|
+
credsweeper/deep_scanner/lang_scanner.py,sha256=6d_n3Gjj8HPvNayalDn48QGbRMofmOwFUyS6V8JQsVU,1340
|
|
32
|
+
credsweeper/deep_scanner/lzma_scanner.py,sha256=RTx9AdIJNblKupXLtO-K6vz8RBO9z_vYc0A15Ij0db4,1693
|
|
32
33
|
credsweeper/deep_scanner/mxfile_scanner.py,sha256=Qq2-9nfqYr63chDzzKsMIyHKvagPcWIpF4ngLFGwLyM,2098
|
|
33
34
|
credsweeper/deep_scanner/pdf_scanner.py,sha256=LMyIoVJPNFOFnAfcZ5Akr7PTWSUBNPT6GtQB1U5hI0g,3048
|
|
34
|
-
credsweeper/deep_scanner/pkcs12_scanner.py,sha256=
|
|
35
|
+
credsweeper/deep_scanner/pkcs12_scanner.py,sha256=49UbyYxAXnqFQdyrGqHUMKWDL_sGMgAZM6sZ8hYGUIk,2082
|
|
35
36
|
credsweeper/deep_scanner/pptx_scanner.py,sha256=aMX6GgnUEShonHjlqhaI5w970b-2yxmKsld5kY1XdeQ,1828
|
|
36
37
|
credsweeper/deep_scanner/tar_scanner.py,sha256=L3a9OUhQQweDNLVbe_LNLhldtVeU8DlS0Ux3ip_KN2w,2425
|
|
37
38
|
credsweeper/deep_scanner/tmx_scanner.py,sha256=6BsMysSSSJrxtssh4bf1e4vwpps7yXDDvByFkyLhC_o,1946
|
|
38
39
|
credsweeper/deep_scanner/xlsx_scanner.py,sha256=Ck8j14OWy9LTXK0GBASCdPq9VhZe5ceUv0uZShFFpo8,2706
|
|
39
|
-
credsweeper/deep_scanner/xml_scanner.py,sha256=
|
|
40
|
+
credsweeper/deep_scanner/xml_scanner.py,sha256=NqTTGFAjNtjayUTuRN1W84jR-5UeJfViVTH5c7W1CD8,1338
|
|
40
41
|
credsweeper/deep_scanner/zip_scanner.py,sha256=rWNV43OV8FTpXGMkAlRCwnnaJ-WdiIpreI9FUpx7wb0,2431
|
|
41
42
|
credsweeper/file_handler/__init__.py,sha256=fAQvFQvgPQ7lAPVjPWmAdKArRCS5pB4QEk01jkVVB-E,662
|
|
42
43
|
credsweeper/file_handler/abstract_provider.py,sha256=sl0XrlbRDak885UzD7HBruXAD9vJHso-glqI_ekZxuo,1437
|
|
43
44
|
credsweeper/file_handler/analysis_target.py,sha256=FEznSNcUbTaqGa3ZKy8FusdqDR7CxFX1fwIrA_LdwoY,2752
|
|
44
45
|
credsweeper/file_handler/byte_content_provider.py,sha256=o_oNK6ovAhKJGw8C4gDDYrtqMQ_ErsEL5_HVOjshEi4,1926
|
|
45
46
|
credsweeper/file_handler/content_provider.py,sha256=ZMhEa83HZHGFTNhFVq_qhdd00GLYm6vlybk9XIk7EQc,3890
|
|
46
|
-
credsweeper/file_handler/data_content_provider.py,sha256=
|
|
47
|
+
credsweeper/file_handler/data_content_provider.py,sha256=r2mUG4iwPwOmwfIU05Ei4SvN7JC1vYiYBWWrEeYoQYg,17665
|
|
47
48
|
credsweeper/file_handler/descriptor.py,sha256=LQHjzmRL0fl8mlKwA--Nl_D4mKFtg9VsUJnWZqtjFhU,185
|
|
48
49
|
credsweeper/file_handler/diff_content_provider.py,sha256=-gwyWJU62F0EpiUP5HH1WgaoP2_e3nRA0Fu4he6YcVQ,3209
|
|
49
50
|
credsweeper/file_handler/file_path_extractor.py,sha256=I_gPZSw1s-QSsa0ynVEfveGvRyHqVAifYk4V76pWcHo,6907
|
|
@@ -58,30 +59,31 @@ credsweeper/filters/line_git_binary_check.py,sha256=G5N-woSLXC1mdiD80AhXbOpJCjGw
|
|
|
58
59
|
credsweeper/filters/line_specific_key_check.py,sha256=rM66tPmUCXPaCUpNokIkJukOyxOL4FB8ig74ezYrbBs,1536
|
|
59
60
|
credsweeper/filters/line_uue_part_check.py,sha256=xmJr2Klz3H8yc-ymlGwPmIjRIoXxvBD9NvW0gW22i9o,1519
|
|
60
61
|
credsweeper/filters/value_allowlist_check.py,sha256=WS1yokEUp-ikcZWr4WLOhKsRNCqgLHh8Qvm6pt4wJvg,2163
|
|
61
|
-
credsweeper/filters/value_array_dictionary_check.py,sha256=
|
|
62
|
+
credsweeper/filters/value_array_dictionary_check.py,sha256=mxfEvqDtRsjil8kfxONSndabROmCP2N8Uvx8fRelGAA,1343
|
|
62
63
|
credsweeper/filters/value_atlassian_token_check.py,sha256=rAuMC5JUxnXZwPxoKtrwFVKTWCNXf-gf9mv5h6IQC7M,2914
|
|
63
|
-
credsweeper/filters/value_azure_token_check.py,sha256=
|
|
64
|
+
credsweeper/filters/value_azure_token_check.py,sha256=GlIqmzinjtQ4GU8-_ZyFTM2uo1ylRxRFKqnJaW_0110,1946
|
|
64
65
|
credsweeper/filters/value_base32_data_check.py,sha256=nS_X5vb5e0fXnjxGjyGE9wedmAj6B14AG8dEjRClREQ,1390
|
|
65
66
|
credsweeper/filters/value_base64_data_check.py,sha256=J5dMgJsfs13MxijOMqGLYU8PZz5eEDUBrWVKp0mE3T0,1449
|
|
66
67
|
credsweeper/filters/value_base64_encoded_pem_check.py,sha256=sX80Uo_7b7HQm4KjNkRHqB8FQvxuuvMLhxAUalSQeaU,1607
|
|
67
68
|
credsweeper/filters/value_base64_key_check.py,sha256=6JrIGNphjM9gN8oi1OKyvm4MUvvLxsQPxGP5BkaTC1w,2131
|
|
68
|
-
credsweeper/filters/value_base64_part_check.py,sha256=
|
|
69
|
+
credsweeper/filters/value_base64_part_check.py,sha256=wV_qGv9xK4H8EB903Qw5xbVtjAQ19ZZKhhHFoQ53AT8,4958
|
|
69
70
|
credsweeper/filters/value_blocklist_check.py,sha256=CSsD68QRF1zFLM2MB5pGRRs95O8IepZ9AUZYdxlBf-c,1145
|
|
70
71
|
credsweeper/filters/value_camel_case_check.py,sha256=cCBogfL5X9ufAbkl5QwqN6qvHz4XYaeaENC6ew4m4Ac,1233
|
|
71
72
|
credsweeper/filters/value_couple_keyword_check.py,sha256=zbY_TqsVHuwcf4ANp83g36wgxNLkHLk_r-Pm7-nmSZ8,1004
|
|
72
73
|
credsweeper/filters/value_dictionary_keyword_check.py,sha256=6-RqiROZJC6g2zD4v0AtFKhlNE4tY-iYhestwTI4vbE,1263
|
|
73
74
|
credsweeper/filters/value_dictionary_value_length_check.py,sha256=lQj6pmKitFJXqBI4Am7rzvHLAuMQfvaPRvs8Gb27n7M,963
|
|
74
|
-
credsweeper/filters/value_discord_bot_check.py,sha256=
|
|
75
|
-
credsweeper/filters/value_entropy_base32_check.py,sha256=
|
|
76
|
-
credsweeper/filters/value_entropy_base36_check.py,sha256=
|
|
77
|
-
credsweeper/filters/value_entropy_base64_check.py,sha256=
|
|
78
|
-
credsweeper/filters/
|
|
75
|
+
credsweeper/filters/value_discord_bot_check.py,sha256=Zv8SIkYGvd2mn6MGo4JGH-amGnJJBXqa992aQ9ZXlK4,1480
|
|
76
|
+
credsweeper/filters/value_entropy_base32_check.py,sha256=PKFp6eOXZ8yiK00JNxWPbxw4LnAeE16u39ePNozTGEg,642
|
|
77
|
+
credsweeper/filters/value_entropy_base36_check.py,sha256=ZHa_AUtskBCmfhUQwjgkolB1OuB2t1GRDi8SDl7o_A8,651
|
|
78
|
+
credsweeper/filters/value_entropy_base64_check.py,sha256=7q-lGKp0SvWz4ZE_iD2aajVkIU6CtYaxRuyye2VLdh0,908
|
|
79
|
+
credsweeper/filters/value_entropy_base_check.py,sha256=Z4ymeTPs5tPL37BtQQe05yp6kyY8c_caYZXwpOF9-ZU,1241
|
|
80
|
+
credsweeper/filters/value_file_path_check.py,sha256=2hwqr2xCwzuL6Ya6X1uyClQld0RSMBGRJvAJCKPcRzw,3512
|
|
79
81
|
credsweeper/filters/value_github_check.py,sha256=nRYvTxvhFo2PCMwneg5K4I7gJ3tBNzOOYDEhun0pxwg,1441
|
|
80
82
|
credsweeper/filters/value_grafana_check.py,sha256=4wagCuVCSDoO5Kc0-U4Y7eUvBlYUAJffMXmTD79FcnU,1506
|
|
81
83
|
credsweeper/filters/value_grafana_service_check.py,sha256=fL8v4pXS-GopeE_WKNB6rlm9XFzdNapCxO5dH0Z14B4,1133
|
|
82
|
-
credsweeper/filters/value_hex_number_check.py,sha256=
|
|
84
|
+
credsweeper/filters/value_hex_number_check.py,sha256=XuMw6zBQP4WQoH3Y7a4DZnKMVVVC09_bAfB21I8FBfA,976
|
|
83
85
|
credsweeper/filters/value_jfrog_token_check.py,sha256=jugEhQBRjd6Zb9VYoQqBlki1TyeNoupIrzXB-frpjho,1656
|
|
84
|
-
credsweeper/filters/value_json_web_token_check.py,sha256=
|
|
86
|
+
credsweeper/filters/value_json_web_token_check.py,sha256=Tvu0rsb8NJ2jnZc5EWZ_dbJCQZlSDdBoGpB0WM18n64,2829
|
|
85
87
|
credsweeper/filters/value_last_word_check.py,sha256=ZEJ-pqpMLSBQE_bCz325WZK5g_fXbfk6bv5Csz0J_MM,900
|
|
86
88
|
credsweeper/filters/value_method_check.py,sha256=mkTmSGnQBKtELTpNrKh6v_5VyORrVLVH8Zps7nJI4e4,1113
|
|
87
89
|
credsweeper/filters/value_not_allowed_pattern_check.py,sha256=Hq0ToZ_XL70N4CAwbSG0XD9mRTsqIhTqgT5YWlgfwwg,1178
|
|
@@ -90,12 +92,12 @@ credsweeper/filters/value_number_check.py,sha256=UxRQ24XFKPpEbpkOH3_YgrrBSBTeP9W
|
|
|
90
92
|
credsweeper/filters/value_pattern_check.py,sha256=OJLm6h7nIXjrN0JMgh3e49_WZo8hwGdaTcz9nd6VKgE,3998
|
|
91
93
|
credsweeper/filters/value_similarity_check.py,sha256=qa2NPSpyP8RIqllXIlky66Bk85PDU2ss_dQW-vcm3Qw,1172
|
|
92
94
|
credsweeper/filters/value_split_keyword_check.py,sha256=MY-EZmHSYzuglxVug9MQYtwWlMTAAwr1L3lyaOaT6VE,1113
|
|
93
|
-
credsweeper/filters/value_string_type_check.py,sha256=
|
|
94
|
-
credsweeper/filters/value_token_base32_check.py,sha256=
|
|
95
|
-
credsweeper/filters/value_token_base36_check.py,sha256=
|
|
96
|
-
credsweeper/filters/value_token_base64_check.py,sha256=
|
|
95
|
+
credsweeper/filters/value_string_type_check.py,sha256=QmgniKlNTPKB4fLrvj9QxMmt8yQkmB9gxtZv50J4YYI,1985
|
|
96
|
+
credsweeper/filters/value_token_base32_check.py,sha256=nI6Xz3Vu-ps6Uq4svRjNAvz4TzC1n1Vhjhd1DGpusws,1875
|
|
97
|
+
credsweeper/filters/value_token_base36_check.py,sha256=qYVVSZByF1ZoLfAuxbHrSlYtcekuHYzGhi4FFW9A8zI,1885
|
|
98
|
+
credsweeper/filters/value_token_base64_check.py,sha256=Gy8_X9SscffIjp6VOA1RttdFQVEv28uaeqPt8xYefPQ,1891
|
|
97
99
|
credsweeper/filters/value_token_base_check.py,sha256=jHj17I6E35_1CJOTaUk52zoFCEBq5LbxpsJ6n8r7XyE,2021
|
|
98
|
-
credsweeper/filters/value_token_check.py,sha256=
|
|
100
|
+
credsweeper/filters/value_token_check.py,sha256=3vaHcrvHSaXIVPr8iE4d2uG1csXTIgWvZ55wdnojQu8,1407
|
|
99
101
|
credsweeper/filters/group/__init__.py,sha256=_a_XEmFbEA4kumIF2bAN3oHl3R6uLTJj7G2EjZWAfr0,567
|
|
100
102
|
credsweeper/filters/group/general_keyword.py,sha256=mnd4cNG5GgnXx-i9wGRSbYvaUTVGQOC0Of9KGUg2d3g,411
|
|
101
103
|
credsweeper/filters/group/general_pattern.py,sha256=dGneD7HSnVm1qO807uKwzonUAvIJ6TPh3WJMq2CnyjE,290
|
|
@@ -110,43 +112,42 @@ credsweeper/logger/logger.py,sha256=E427IHUgX5jOCUKYlXKwQiyXNIUSYBpP45ldNCfVjFw,
|
|
|
110
112
|
credsweeper/ml_model/__init__.py,sha256=Bvw_WgOmNwzFrBP0tKgWapasYcU7IRT0zMpbmWD6DwU,58
|
|
111
113
|
credsweeper/ml_model/ml_config.json,sha256=QDPNRl-QT9TY7NPgOjjsekDdPvxI3IZkyXcr5VSa6eY,16049
|
|
112
114
|
credsweeper/ml_model/ml_model.onnx,sha256=1z_vsA2d74qvEUfDDxGGsWmUvRLotd7AM1C7QlkO1bE,10979845
|
|
113
|
-
credsweeper/ml_model/ml_validator.py,sha256=
|
|
115
|
+
credsweeper/ml_model/ml_validator.py,sha256=DcvoRh361ussH7YfUcqdE4EqCCqxpC0G0_ofGVVbRLw,11924
|
|
114
116
|
credsweeper/ml_model/features/__init__.py,sha256=OtWcKTbXsM4hi4P8G6f-T_FC6pQVOz_le2FbN2Kak1c,1020
|
|
115
117
|
credsweeper/ml_model/features/entropy_evaluation.py,sha256=Mzv6bSui2XbX-WBLHk0gI0x_9RHgRjM7n9ep0VfDCIw,2605
|
|
116
118
|
credsweeper/ml_model/features/feature.py,sha256=6qYXKh1vDC0rgFn1zrXsCbr52W4r3jL6Ju1UUECBPWY,1094
|
|
117
|
-
credsweeper/ml_model/features/file_extension.py,sha256=
|
|
119
|
+
credsweeper/ml_model/features/file_extension.py,sha256=aHtoatjQ9YkKd47Y-3HEDn4-JrCuRmaxmcnPhXqX60Y,694
|
|
118
120
|
credsweeper/ml_model/features/has_html_tag.py,sha256=ZvcW1gU1_v9iMjb4ho1a3jHbWioOxtggCc1ZqmtSWl8,1116
|
|
119
121
|
credsweeper/ml_model/features/is_secret_numeric.py,sha256=eSI2glS_WdFuozX5E7YbFoF7gZlFHu1zj4dd8nJpSrk,401
|
|
120
122
|
credsweeper/ml_model/features/length_of_attribute.py,sha256=8H4Zc1mOjGXV5mwZkjvCt7xKKiiKPIEJDBhdlz8j3PE,1192
|
|
121
|
-
credsweeper/ml_model/features/morpheme_dense.py,sha256=
|
|
122
|
-
credsweeper/ml_model/features/rule_name.py,sha256=
|
|
123
|
+
credsweeper/ml_model/features/morpheme_dense.py,sha256=e-ICEyAacuDIGWpwPo6oocg9ogcxfKkmTiBFwdQWEPQ,733
|
|
124
|
+
credsweeper/ml_model/features/rule_name.py,sha256=goyNbJfgtrCoXjGiEajUUVmP7VqEiOak5WCZt8Y0nUE,672
|
|
123
125
|
credsweeper/ml_model/features/search_in_attribute.py,sha256=aHwUZ5iF4BUtNLa5BUi3ufEhcQWPa7647Oy5hBauwhQ,692
|
|
124
126
|
credsweeper/ml_model/features/word_in.py,sha256=TE6fjP0UZHq3pbydxUFIvwN8M-V82VFbjd_a76B-l_k,1996
|
|
125
|
-
credsweeper/ml_model/features/word_in_path.py,sha256=
|
|
126
|
-
credsweeper/ml_model/features/word_in_postamble.py,sha256=
|
|
127
|
-
credsweeper/ml_model/features/word_in_preamble.py,sha256=
|
|
128
|
-
credsweeper/ml_model/features/word_in_transition.py,sha256=
|
|
129
|
-
credsweeper/ml_model/features/word_in_value.py,sha256=
|
|
130
|
-
credsweeper/ml_model/features/word_in_variable.py,sha256=
|
|
127
|
+
credsweeper/ml_model/features/word_in_path.py,sha256=JpZDrdsmkiGi7UdXkT8IN7FkEtoiwHtmPLiH2Atzxdw,963
|
|
128
|
+
credsweeper/ml_model/features/word_in_postamble.py,sha256=RbOMb6K5BTd1Zg-myKtPW4n6M5nLuRRjFbk5X5AM_hs,937
|
|
129
|
+
credsweeper/ml_model/features/word_in_preamble.py,sha256=nkjKpgJEbFNgkmxU3a1QmSvDu42PxQoOJxWuvTXMbMs,1285
|
|
130
|
+
credsweeper/ml_model/features/word_in_transition.py,sha256=SgG8D37lXnDaFOKagi9lbWbfoM9NAH-LcBmp2e0R-ZU,889
|
|
131
|
+
credsweeper/ml_model/features/word_in_value.py,sha256=QCVJRpcqEg-xC9a94fppqQbvReQLZSHNi0Zrtmr9Ul0,571
|
|
132
|
+
credsweeper/ml_model/features/word_in_variable.py,sha256=aETM5N2AF7FJhmrzLYDvMpKt-K1D8J0ZULxsgSRMXPU,534
|
|
131
133
|
credsweeper/rules/__init__.py,sha256=alXS8IivUs-AKKbVHiWvSjFpg1urJZLKItuFr61HHyg,40
|
|
132
|
-
credsweeper/rules/config.yaml,sha256=
|
|
134
|
+
credsweeper/rules/config.yaml,sha256=UpeAYbZWulS1TV2eRDv2jor1s9Jndi15DHmV-6hQWiM,38281
|
|
133
135
|
credsweeper/rules/rule.py,sha256=rU6vJ4cVoeAZdUMWalRTMuAdRuYgFxeTltvSYUJRHOU,10224
|
|
134
136
|
credsweeper/scanner/__init__.py,sha256=KUh1uUEgZOd12DiXV-TQP3OvByI9tsyqN1KCdw994h8,48
|
|
135
|
-
credsweeper/scanner/scanner.py,sha256=
|
|
137
|
+
credsweeper/scanner/scanner.py,sha256=2znRjqV9Mx4D0z9elUslOQIoLbfDybu1hF1TEaRzTkc,10127
|
|
136
138
|
credsweeper/scanner/scan_type/__init__.py,sha256=JHOdDZv5bmGsj0dhIiApvjcFzQ8LYkCQdWmhxAs4lgI,288
|
|
137
139
|
credsweeper/scanner/scan_type/multi_pattern.py,sha256=VUEkwry19FMdb8wlQ-znfaTGoCf9gR6Fx-i19B3kZnI,3872
|
|
138
140
|
credsweeper/scanner/scan_type/pem_key_pattern.py,sha256=R_rxKS-cx79g08BOdnhHUyDU9_je3qQuPsVPqEMPB18,1501
|
|
139
|
-
credsweeper/scanner/scan_type/scan_type.py,sha256=
|
|
141
|
+
credsweeper/scanner/scan_type/scan_type.py,sha256=AtKfIsYgvxmHp508j3DfwiEDp0zD77YPzYjrrwKy1no,9396
|
|
140
142
|
credsweeper/scanner/scan_type/single_pattern.py,sha256=TCbjbeK0NrWzU6eBMZqHjYXo3xAfc0a7z3HDbbyHY-c,954
|
|
141
|
-
credsweeper/secret/config.json,sha256=
|
|
143
|
+
credsweeper/secret/config.json,sha256=7pZiSBQtINsgE3Qc8V9peznH5wBCzSmkrZaVZLuWVe8,3504
|
|
142
144
|
credsweeper/secret/log.yaml,sha256=h29atN5Kvk68oKuTYG2Mi4f2uNO3dvwhOkzCRBKo1rg,952
|
|
143
145
|
credsweeper/utils/__init__.py,sha256=wPdTkrSBAkR3rppFZ68k6MiT_P7tIHuAb3AcwndJCWg,63
|
|
144
|
-
credsweeper/utils/entropy_validator.py,sha256=711xCIBGAy-Pb6wqbMpEToa4dOYj5_CmkbKHygLeQrI,2796
|
|
145
146
|
credsweeper/utils/hop_stat.py,sha256=0D7xB1CVAUhseOZWvLZXxn3MYHKZnfnFJ8hj7tONiyU,2978
|
|
146
|
-
credsweeper/utils/pem_key_detector.py,sha256=
|
|
147
|
-
credsweeper/utils/util.py,sha256=
|
|
148
|
-
credsweeper-1.11.
|
|
149
|
-
credsweeper-1.11.
|
|
150
|
-
credsweeper-1.11.
|
|
151
|
-
credsweeper-1.11.
|
|
152
|
-
credsweeper-1.11.
|
|
147
|
+
credsweeper/utils/pem_key_detector.py,sha256=JQex5KxQfWBP7SvhX2qf6tlQcma9a9yvsvDJX13EZe0,7633
|
|
148
|
+
credsweeper/utils/util.py,sha256=Me-fEpM8hQPERl-YV1MN2B-NARHTLwE1obSiqZq3h68,28730
|
|
149
|
+
credsweeper-1.11.3.dist-info/METADATA,sha256=PvTMsbARLWplOGHVaz4LwYgaO0IDruIsqlfo2azA_gE,10504
|
|
150
|
+
credsweeper-1.11.3.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
151
|
+
credsweeper-1.11.3.dist-info/entry_points.txt,sha256=SLGNZshvi3zpWPhVmRP-oDXRMRPBS4tzRDy6xYOXwqA,58
|
|
152
|
+
credsweeper-1.11.3.dist-info/licenses/LICENSE,sha256=aU7mGjBKbmRHNLVXXzcPdKmTtBxRwDPtjflQRfN7fFg,1065
|
|
153
|
+
credsweeper-1.11.3.dist-info/RECORD,,
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
from functools import cached_property
|
|
2
|
-
from typing import Optional
|
|
3
|
-
|
|
4
|
-
from credsweeper.common.constants import Chars, ENTROPY_LIMIT_BASE64, ENTROPY_LIMIT_BASE3x
|
|
5
|
-
from credsweeper.utils import Util
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
class EntropyValidator:
|
|
9
|
-
"""Verifies data entropy with base64, base36 and base16(hex)"""
|
|
10
|
-
CHARS_LIMIT_MAP = {
|
|
11
|
-
Chars.BASE64STDPAD_CHARS: ENTROPY_LIMIT_BASE64,
|
|
12
|
-
Chars.BASE36_CHARS: ENTROPY_LIMIT_BASE3x,
|
|
13
|
-
Chars.HEX_CHARS: ENTROPY_LIMIT_BASE3x
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
def __init__(self, data: str, iterator: Optional[Chars] = None):
|
|
17
|
-
self.__valid: Optional[bool] = None
|
|
18
|
-
self.__entropy: Optional[float] = None
|
|
19
|
-
self.__iterator: Optional[str] = None
|
|
20
|
-
if isinstance(data, str):
|
|
21
|
-
if isinstance(iterator, Chars):
|
|
22
|
-
self.__entropy = Util.get_shannon_entropy(data, iterator.value)
|
|
23
|
-
if _limit := self.CHARS_LIMIT_MAP.get(iterator):
|
|
24
|
-
self.__valid = _limit < self.__entropy
|
|
25
|
-
self.__iterator = iterator.name
|
|
26
|
-
else:
|
|
27
|
-
for _iterator, _limit in self.CHARS_LIMIT_MAP.items():
|
|
28
|
-
entropy = Util.get_shannon_entropy(data, _iterator.value)
|
|
29
|
-
if _limit < entropy:
|
|
30
|
-
self.__entropy = entropy
|
|
31
|
-
self.__iterator = _iterator.name
|
|
32
|
-
self.__valid = True
|
|
33
|
-
break
|
|
34
|
-
else:
|
|
35
|
-
# keep maximal entropy value
|
|
36
|
-
if self.__entropy:
|
|
37
|
-
if self.__entropy < entropy:
|
|
38
|
-
self.__entropy = entropy
|
|
39
|
-
self.__iterator = _iterator.name
|
|
40
|
-
else:
|
|
41
|
-
self.__entropy = entropy
|
|
42
|
-
self.__iterator = _iterator.name
|
|
43
|
-
else:
|
|
44
|
-
self.__valid = False
|
|
45
|
-
|
|
46
|
-
@cached_property
|
|
47
|
-
def valid(self) -> Optional[bool]:
|
|
48
|
-
"""Shows whether validation was successful"""
|
|
49
|
-
return self.__valid
|
|
50
|
-
|
|
51
|
-
@cached_property
|
|
52
|
-
def entropy(self) -> Optional[float]:
|
|
53
|
-
"""Value success entropy or maximal value"""
|
|
54
|
-
return self.__entropy
|
|
55
|
-
|
|
56
|
-
@cached_property
|
|
57
|
-
def iterator(self) -> Optional[str]:
|
|
58
|
-
"""Which iterator was used for the entropy"""
|
|
59
|
-
return self.__iterator
|
|
60
|
-
|
|
61
|
-
def __repr__(self) -> str:
|
|
62
|
-
if isinstance(self.entropy, float):
|
|
63
|
-
return f"{self.iterator} {self.entropy:.6f} {self.valid}"
|
|
64
|
-
else:
|
|
65
|
-
return f"{self.iterator} {self.entropy} {self.valid}"
|
|
66
|
-
|
|
67
|
-
def __str__(self) -> str:
|
|
68
|
-
return self.__repr__()
|
|
69
|
-
|
|
70
|
-
def to_dict(self) -> dict:
|
|
71
|
-
"""Representation to dictionary"""
|
|
72
|
-
return {"iterator": self.iterator, "entropy": self.entropy, "valid": self.valid}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|