credsweeper 1.12.1__tar.gz → 1.12.2__tar.gz
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-1.12.1 → credsweeper-1.12.2}/PKG-INFO +1 -1
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/__init__.py +1 -1
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/__main__.py +8 -5
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/common/morpheme_checklist.txt +2 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/deep_scanner.py +1 -1
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_camel_case_check.py +2 -2
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/rules/config.yaml +47 -16
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/utils/util.py +2 -2
- {credsweeper-1.12.1 → credsweeper-1.12.2}/.gitignore +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/LICENSE +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/README.md +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/app.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/common/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/common/constants.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/common/keyword_checklist.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/common/keyword_checklist.txt +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/common/keyword_pattern.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/config/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/config/config.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/augment_candidates.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/candidate.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/candidate_group_generator.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/candidate_key.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/credential_manager.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/line_data.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/abstract_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/byte_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/bzip2_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/deb_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/docx_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/eml_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/encoder_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/gzip_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/html_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/jclass_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/jks_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/lang_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/lzma_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/mxfile_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/patch_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/pdf_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/pkcs_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/pptx_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/rpm_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/sqlite3_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/tar_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/tmx_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/xlsx_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/xml_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/deep_scanner/zip_scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/abstract_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/analysis_target.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/byte_content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/data_content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/descriptor.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/diff_content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/file_path_extractor.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/files_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/patches_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/string_content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/struct_content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/text_content_provider.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/filter.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/general_keyword.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/general_pattern.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/group.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/password_keyword.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/token_pattern.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/url_credentials_group.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/weird_base36_token.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/weird_base64_token.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/line_git_binary_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/line_specific_key_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/line_uue_part_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_allowlist_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_array_dictionary_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_atlassian_token_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_azure_token_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_base32_data_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_base64_data_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_base64_encoded_pem_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_base64_key_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_base64_part_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_basic_auth_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_blocklist_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_couple_keyword_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_dictionary_keyword_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_discord_bot_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_entropy_base32_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_entropy_base36_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_entropy_base64_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_entropy_base_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_file_path_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_github_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_grafana_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_grafana_service_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_hex_number_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_jfrog_token_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_json_web_key_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_json_web_token_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_last_word_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_length_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_method_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_not_allowed_pattern_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_not_part_encoded_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_number_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_pattern_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_similarity_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_split_keyword_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_string_type_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_token_base32_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_token_base36_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_token_base64_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_token_base_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_token_check.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/logger/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/logger/logger.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/entropy_evaluation.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/feature.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/file_extension.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/has_html_tag.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/is_secret_numeric.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/length_of_attribute.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/morpheme_dense.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/rule_name.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/rule_severity.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/search_in_attribute.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_path.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_postamble.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_preamble.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_transition.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_value.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_variable.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/ml_config.json +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/ml_model.onnx +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/ml_validator.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/py.typed +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/rules/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/rules/rule.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/scan_type/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/scan_type/multi_pattern.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/scan_type/pem_key_pattern.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/scan_type/scan_type.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/scan_type/single_pattern.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/scanner/scanner.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/secret/config.json +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/secret/log.yaml +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/utils/__init__.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/utils/hop_stat.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/utils/pem_key_detector.py +0 -0
- {credsweeper-1.12.1 → credsweeper-1.12.2}/pyproject.toml +0 -0
|
@@ -372,9 +372,11 @@ def drill(args: Namespace) -> Tuple[int, int]:
|
|
|
372
372
|
# then - credsweeper
|
|
373
373
|
credsweeper = get_credsweeper(args)
|
|
374
374
|
# use flat iterations to avoid recursive limits
|
|
375
|
-
to_scan =
|
|
375
|
+
to_scan = set(commits_sha1)
|
|
376
376
|
# local speedup for already scanned commits - avoid file system interactive
|
|
377
377
|
scanned = set()
|
|
378
|
+
# to avoid double-check
|
|
379
|
+
skipped = set()
|
|
378
380
|
while to_scan:
|
|
379
381
|
commit_sha1 = to_scan.pop()
|
|
380
382
|
if commit_sha1 in scanned:
|
|
@@ -382,8 +384,8 @@ def drill(args: Namespace) -> Tuple[int, int]:
|
|
|
382
384
|
continue
|
|
383
385
|
commit = repo.commit(commit_sha1)
|
|
384
386
|
if commit.parents:
|
|
385
|
-
# add parents
|
|
386
|
-
to_scan.
|
|
387
|
+
# add parents only when they were not skipped or scanned previously
|
|
388
|
+
to_scan.update(x.hexsha for x in commit.parents if x.hexsha not in skipped and x.hexsha not in scanned)
|
|
387
389
|
# check whether the commit has been checked and the report is present
|
|
388
390
|
skip_already_scanned = False
|
|
389
391
|
if args.json_filename:
|
|
@@ -401,9 +403,10 @@ def drill(args: Namespace) -> Tuple[int, int]:
|
|
|
401
403
|
else:
|
|
402
404
|
credsweeper.xlsx_filename = xlsx_path
|
|
403
405
|
if skip_already_scanned:
|
|
404
|
-
|
|
406
|
+
skipped.add(commit_sha1)
|
|
407
|
+
logger.info("Skip already scanned commit: %s %s", commit_sha1, commit.committed_datetime.isoformat())
|
|
405
408
|
continue
|
|
406
|
-
logger.info("Scan commit: %s", commit_sha1)
|
|
409
|
+
logger.info("Scan commit: %s %s", commit_sha1, commit.committed_datetime.isoformat())
|
|
407
410
|
# prepare all files to scan in the commit with bytes->IO transformation to avoid a multiprocess issue
|
|
408
411
|
if providers := get_commit_providers(commit, repo):
|
|
409
412
|
credsweeper.credential_manager.candidates.clear()
|
|
@@ -150,7 +150,7 @@ class DeepScanner(
|
|
|
150
150
|
deep_scanners.append(XmlScanner)
|
|
151
151
|
fallback_scanners.append(ByteScanner)
|
|
152
152
|
elif Util.is_eml(data):
|
|
153
|
-
if ".eml"
|
|
153
|
+
if descriptor.extension in (".eml", ".mht"):
|
|
154
154
|
deep_scanners.append(EmlScanner)
|
|
155
155
|
else:
|
|
156
156
|
if 0 < depth:
|
|
@@ -12,7 +12,7 @@ from credsweeper.utils.util import Util
|
|
|
12
12
|
class ValueCamelCaseCheck(Filter):
|
|
13
13
|
"""Check that candidate is not written in camel case."""
|
|
14
14
|
|
|
15
|
-
CAMEL_CASE = ["
|
|
15
|
+
CAMEL_CASE = ["[a-z]+([A-Z][a-z]+)+", "[A-Z][a-z]+([A-Z][a-z]+)+"]
|
|
16
16
|
CAMEL_CASE_PATTERN = re.compile(Util.get_regex_combine_or(CAMEL_CASE))
|
|
17
17
|
|
|
18
18
|
def __init__(self, config: Optional[Config] = None) -> None:
|
|
@@ -31,7 +31,7 @@ class ValueCamelCaseCheck(Filter):
|
|
|
31
31
|
"""
|
|
32
32
|
if line_data.is_well_quoted_value:
|
|
33
33
|
return False
|
|
34
|
-
if self.CAMEL_CASE_PATTERN.
|
|
34
|
+
if self.CAMEL_CASE_PATTERN.fullmatch(line_data.value):
|
|
35
35
|
return static_keyword_checklist.check_morphemes(line_data.value.lower(), 1)
|
|
36
36
|
|
|
37
37
|
return False
|
|
@@ -278,7 +278,7 @@
|
|
|
278
278
|
type: pattern
|
|
279
279
|
values:
|
|
280
280
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>dt0[A-Za-z]{1}[0-9]{2}\.[0-9A-Z]{24}\.[0-9A-Z]{64})(?![0-9A-Za-z_-])
|
|
281
|
-
filter_type:
|
|
281
|
+
filter_type: TokenPattern
|
|
282
282
|
required_substrings:
|
|
283
283
|
- dt0
|
|
284
284
|
min_line_len: 90
|
|
@@ -308,7 +308,7 @@
|
|
|
308
308
|
type: pattern
|
|
309
309
|
values:
|
|
310
310
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>[0-9]{12,18}\|[0-9A-Za-z_-]{24,28})(?![0-9A-Za-z_+-])
|
|
311
|
-
filter_type:
|
|
311
|
+
filter_type: TokenPattern
|
|
312
312
|
required_substrings:
|
|
313
313
|
- "|"
|
|
314
314
|
required_regex: "[0-9A-Za-z_/+-]{15}"
|
|
@@ -323,7 +323,7 @@
|
|
|
323
323
|
type: pattern
|
|
324
324
|
values:
|
|
325
325
|
- (?i)((git)[0-9A-Za-z_-]{0,80}(token|key|api)[0-9A-Za-z_-]{0,80}(\s)*(=|:|:=)(\s)*(["']?)(?P<value>[0-9a-z]{40})(["']?))
|
|
326
|
-
filter_type:
|
|
326
|
+
filter_type: TokenPattern
|
|
327
327
|
use_ml: true
|
|
328
328
|
required_substrings:
|
|
329
329
|
- git
|
|
@@ -338,7 +338,7 @@
|
|
|
338
338
|
type: pattern
|
|
339
339
|
values:
|
|
340
340
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>AIza[0-9A-Za-z_-]{35})
|
|
341
|
-
filter_type:
|
|
341
|
+
filter_type: TokenPattern
|
|
342
342
|
required_substrings:
|
|
343
343
|
- AIza
|
|
344
344
|
min_line_len: 39
|
|
@@ -367,7 +367,7 @@
|
|
|
367
367
|
type: pattern
|
|
368
368
|
values:
|
|
369
369
|
- (?P<value>GOCSPX-[0-9A-Za-z_-]{28})(?![0-9A-Za-z_-])
|
|
370
|
-
filter_type:
|
|
370
|
+
filter_type: TokenPattern
|
|
371
371
|
required_substrings:
|
|
372
372
|
- GOCSPX-
|
|
373
373
|
min_line_len: 40
|
|
@@ -381,7 +381,7 @@
|
|
|
381
381
|
type: pattern
|
|
382
382
|
values:
|
|
383
383
|
- (?P<value>ya29\.[0-9A-Za-z_-]{22,8000})
|
|
384
|
-
filter_type:
|
|
384
|
+
filter_type: TokenPattern
|
|
385
385
|
required_substrings:
|
|
386
386
|
- ya29.
|
|
387
387
|
min_line_len: 27
|
|
@@ -395,7 +395,7 @@
|
|
|
395
395
|
type: pattern
|
|
396
396
|
values:
|
|
397
397
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>1//0[0-9A-Za-z_-]{80,8000})
|
|
398
|
-
filter_type:
|
|
398
|
+
filter_type: TokenPattern
|
|
399
399
|
required_substrings:
|
|
400
400
|
- 1//0
|
|
401
401
|
min_line_len: 84
|
|
@@ -409,7 +409,7 @@
|
|
|
409
409
|
type: pattern
|
|
410
410
|
values:
|
|
411
411
|
- (?P<value>HRKU-([0-9A-Za-z_-]{60}|[0-9A-Fa-f]{8}(-[0-9A-Fa-f]{4}){3}-[0-9A-Fa-f]{12}))
|
|
412
|
-
filter_type:
|
|
412
|
+
filter_type: TokenPattern
|
|
413
413
|
required_substrings:
|
|
414
414
|
- HRKU-
|
|
415
415
|
min_line_len: 41
|
|
@@ -423,7 +423,7 @@
|
|
|
423
423
|
type: pattern
|
|
424
424
|
values:
|
|
425
425
|
- (?P<value>IGQVJ[=0-9A-Za-z_-]{100,8000})(?![=0-9A-Za-z_-])
|
|
426
|
-
filter_type:
|
|
426
|
+
filter_type: TokenPattern
|
|
427
427
|
required_substrings:
|
|
428
428
|
- IGQVJ
|
|
429
429
|
min_line_len: 105
|
|
@@ -494,7 +494,7 @@
|
|
|
494
494
|
type: pattern
|
|
495
495
|
values:
|
|
496
496
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>[0-9A-Za-z_-]{32}-us[0-9]{1,2})(?![0-9A-Za-z_-])
|
|
497
|
-
filter_type:
|
|
497
|
+
filter_type: TokenPattern
|
|
498
498
|
required_substrings:
|
|
499
499
|
- -us
|
|
500
500
|
min_line_len: 35
|
|
@@ -593,7 +593,7 @@
|
|
|
593
593
|
type: pattern
|
|
594
594
|
values:
|
|
595
595
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>SG\.[0-9A-Za-z_-]{16,32}\.[0-9A-Za-z_-]{16,64})
|
|
596
|
-
filter_type:
|
|
596
|
+
filter_type: TokenPattern
|
|
597
597
|
required_substrings:
|
|
598
598
|
- SG.
|
|
599
599
|
min_line_len: 34
|
|
@@ -620,10 +620,11 @@
|
|
|
620
620
|
confidence: strong
|
|
621
621
|
type: pattern
|
|
622
622
|
values:
|
|
623
|
-
- (
|
|
624
|
-
filter_type:
|
|
623
|
+
- (?P<value>(xapp|xox[a-z])\-[0-9A-Za-z-]{10,250})(?![0-9A-Za-z_-])
|
|
624
|
+
filter_type: TokenPattern
|
|
625
625
|
required_substrings:
|
|
626
626
|
- xox
|
|
627
|
+
- xapp
|
|
627
628
|
min_line_len: 15
|
|
628
629
|
target:
|
|
629
630
|
- code
|
|
@@ -681,7 +682,7 @@
|
|
|
681
682
|
type: pattern
|
|
682
683
|
values:
|
|
683
684
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>sq0[a-z]{3}-[0-9A-Za-z_-]{22}([0-9A-Za-z_-]{21})?)(?![0-9A-Za-z_-])
|
|
684
|
-
filter_type:
|
|
685
|
+
filter_type: TokenPattern
|
|
685
686
|
required_substrings:
|
|
686
687
|
- sq0
|
|
687
688
|
min_line_len: 29
|
|
@@ -803,7 +804,7 @@
|
|
|
803
804
|
type: pattern
|
|
804
805
|
values:
|
|
805
806
|
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>[0-9]{8,10}:[0-9A-Za-z_-]{35})(?![0-9A-Za-z_-])
|
|
806
|
-
filter_type:
|
|
807
|
+
filter_type: TokenPattern
|
|
807
808
|
required_substrings:
|
|
808
809
|
- :AA
|
|
809
810
|
min_line_len: 45
|
|
@@ -817,7 +818,7 @@
|
|
|
817
818
|
type: pattern
|
|
818
819
|
values:
|
|
819
820
|
- (?P<value>pypi-[0-9A-Za-z_-]{150,255})
|
|
820
|
-
filter_type:
|
|
821
|
+
filter_type: TokenPattern
|
|
821
822
|
required_substrings:
|
|
822
823
|
- pypi-
|
|
823
824
|
min_line_len: 155
|
|
@@ -825,6 +826,20 @@
|
|
|
825
826
|
- code
|
|
826
827
|
- doc
|
|
827
828
|
|
|
829
|
+
- name: NPM Token
|
|
830
|
+
severity: high
|
|
831
|
+
confidence: strong
|
|
832
|
+
type: pattern
|
|
833
|
+
values:
|
|
834
|
+
- (?:^|[^0-9A-Za-z_+-]|\\[0abfnrtv]|(?:%|\\x)[0-9A-Fa-f]{2}|\\[0-7]{3}|\\[Uu][0-9A-Fa-f]{4}|\x1B\[[0-9;]{0,80}m)(?P<value>npm_[0-9A-Za-z_-]{36,255})
|
|
835
|
+
filter_type: TokenPattern
|
|
836
|
+
required_substrings:
|
|
837
|
+
- npm_
|
|
838
|
+
min_line_len: 40
|
|
839
|
+
target:
|
|
840
|
+
- code
|
|
841
|
+
- doc
|
|
842
|
+
|
|
828
843
|
- name: Github Classic Token
|
|
829
844
|
severity: high
|
|
830
845
|
confidence: strong
|
|
@@ -1541,6 +1556,22 @@
|
|
|
1541
1556
|
- code
|
|
1542
1557
|
- doc
|
|
1543
1558
|
|
|
1559
|
+
- name: Postman Credentials
|
|
1560
|
+
severity: medium
|
|
1561
|
+
confidence: moderate
|
|
1562
|
+
type: pattern
|
|
1563
|
+
values:
|
|
1564
|
+
- (?P<value>(PMAK-[0-9a-f]{24}-[0-9a-f]{34}|PMAT-[0-9A-Z]{26}))
|
|
1565
|
+
min_line_len: 29
|
|
1566
|
+
filter_type:
|
|
1567
|
+
- ValuePatternCheck
|
|
1568
|
+
required_substrings:
|
|
1569
|
+
- PMAK-
|
|
1570
|
+
- PMAT-
|
|
1571
|
+
target:
|
|
1572
|
+
- code
|
|
1573
|
+
- doc
|
|
1574
|
+
|
|
1544
1575
|
- name: Basic Authorization
|
|
1545
1576
|
severity: medium
|
|
1546
1577
|
confidence: strong
|
|
@@ -61,11 +61,11 @@ class Util:
|
|
|
61
61
|
def get_shannon_entropy(data: Union[str, bytes]) -> float:
|
|
62
62
|
"""Borrowed from http://blog.dkbza.org/2007/05/scanning-data-for-entropy-anomalies.html."""
|
|
63
63
|
if not data:
|
|
64
|
-
return 0.
|
|
64
|
+
return 0.0
|
|
65
65
|
size = len(data)
|
|
66
66
|
_uniq, counts = np.unique(list(data), return_counts=True)
|
|
67
67
|
probabilities = counts / size
|
|
68
|
-
entropy = float(
|
|
68
|
+
entropy = -float(np.sum(probabilities * np.log2(probabilities)))
|
|
69
69
|
return entropy
|
|
70
70
|
|
|
71
71
|
# Precalculated data for speedup
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/credentials/candidate_group_generator.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/string_content_provider.py
RENAMED
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/file_handler/struct_content_provider.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/group/url_credentials_group.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_array_dictionary_check.py
RENAMED
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_atlassian_token_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_base64_encoded_pem_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_dictionary_keyword_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_grafana_service_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_not_allowed_pattern_check.py
RENAMED
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/filters/value_not_part_encoded_check.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/entropy_evaluation.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/is_secret_numeric.py
RENAMED
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/length_of_attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/search_in_attribute.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_postamble.py
RENAMED
|
File without changes
|
|
File without changes
|
{credsweeper-1.12.1 → credsweeper-1.12.2}/credsweeper/ml_model/features/word_in_transition.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|