From 2d70a0be45a8b5473abdd609033957e33c5fec3e Mon Sep 17 00:00:00 2001 From: Roman Babenko Date: Tue, 10 Mar 2026 11:54:10 +0200 Subject: [PATCH] DeepSeek token pattern improvement. --- .github/workflows/check.yml | 2 +- credsweeper/__init__.py | 2 +- credsweeper/rules/config.yaml | 2 +- tests/samples/deepseek | 1 + tests/test_app.py | 4 ++-- 5 files changed, 6 insertions(+), 5 deletions(-) diff --git a/.github/workflows/check.yml b/.github/workflows/check.yml index 4e51ea6a4..553377da7 100644 --- a/.github/workflows/check.yml +++ b/.github/workflows/check.yml @@ -93,7 +93,7 @@ jobs: run: | banner="$(python -m credsweeper --banner | grep CredSweeper | head -1)" echo "banner = '${banner}'" - if [ "CredSweeper 1.15.0 crc32:439081df" != "${banner}" ]; then + if [ "CredSweeper 1.15.1 crc32:58b9cbea" != "${banner}" ]; then echo "Update the check for '${banner}'" exit 1 fi diff --git a/credsweeper/__init__.py b/credsweeper/__init__.py index 51f95cbee..0feeb8c2d 100644 --- a/credsweeper/__init__.py +++ b/credsweeper/__init__.py @@ -24,4 +24,4 @@ "__version__" ] -__version__ = "1.15.0" +__version__ = "1.15.1" diff --git a/credsweeper/rules/config.yaml b/credsweeper/rules/config.yaml index 7455b71f5..16d22f646 100644 --- a/credsweeper/rules/config.yaml +++ b/credsweeper/rules/config.yaml @@ -1363,7 +1363,7 @@ confidence: moderate type: pattern values: - - (?Psk-[0-9a-f]{32,64})(?![0-9A-Za-z_-]) + - (?:^|/|[^\\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)(?Psk-[0-9a-f]{32,64})(?![0-9A-Za-z_-]) min_line_len: 35 filter_type: - ValuePatternCheck diff --git a/tests/samples/deepseek b/tests/samples/deepseek index fcc41f489..4594c1ef9 100644 --- a/tests/samples/deepseek +++ b/tests/samples/deepseek @@ -1,2 +1,3 @@ >>>sk-615ef152bf865a131f88b23571dc4ee6<<< <<<sk-2f8d9514cce7a8a3f1f34b64acedfake>>> +scan-disk-615ef152bf865a131f88b23571dc4ee6 diff --git a/tests/test_app.py b/tests/test_app.py index ff7df7f03..dbcc92ff2 100644 --- a/tests/test_app.py +++ b/tests/test_app.py @@ -503,7 +503,7 @@ def test_depth_p(self) -> None: cvs_checksum = hashlib.md5(f.read()).digest() checksum = bytes(a ^ b for a, b in zip(checksum, cvs_checksum)) # update the checksum manually and keep line endings in the samples as is (git config core.autocrlf false) - self.assertEqual("021c37fc3b5d65d32667062cc2ae50e7", binascii.hexlify(checksum).decode()) + self.assertEqual("b5f001b2a8ce5af6271bbcec2e986fa3", binascii.hexlify(checksum).decode()) normal_report = [] sorted_report = [] with tempfile.TemporaryDirectory() as tmp_dir: @@ -614,7 +614,7 @@ def test_rules_ml_p(self) -> None: rules_text = yaml.dump_all(rules, sort_keys=True) checksum = hashlib.md5(rules_text.encode()).hexdigest() # update the expected value manually if some changes - self.assertEqual("64441b2969e9cf41142c1d0fb45450a8", checksum) + self.assertEqual("6363b53925305e2f52fa64798c8e6985", checksum) rules_set = set([i["name"] for i in rules if "code" in i["target"]]) self.assertSetEqual(rules_set, report_set) self.assertEqual(SAMPLES_POST_CRED_COUNT, len(report))