PyPI / pycryptodome / 4.2.0

pycryptodome 4.2.0

Source
https://github.com/Legrandin/pycryptodome
Artifact scanned
pycryptodome-4.2.0.tar.gz (sdist · 1.7 MB · SHA-256 21d7fdba239d…)
Compared with
pycryptodome-4.1.0.tar.gz (0 signals introduced since)
Files
530 scanned, 54 skipped (binary, oversized, or unrecognised)
Signals
0 critical · 0 warn · 86 info
Scan time
39.7 s
LLM review
Reviewed by claude-haiku-5-5 (Anthropic): 55 of 55 warn and critical signals; 55 demoted to info.
Disclude version
4.3.0
Scanned (UTC)
2026-10-24 12:28

Signals

Ordered by severity, then signals introduced in this release. Hidden characters are shown as ⟨U+…⟩.

  1. info critical → info by review dynamic-execution Doc/conf.py:99:25

    `eval` at module scope (runs on import) on a non-literal expression (ast pass, confidence 0.80)

        if line.startswith("version_info"):
            version_tuple = eval(line.split("=")[1])
    
    version = "%d.%d" % version_tuple[:-1]
    likely benign LLM, confidence 0.75 Sphinx docs config that evals a version_info tuple read from a project file.
    Reasoning

    The eval runs at module scope on a line read from a version file that the project itself ships. That is a common, if poor, way to parse a version tuple in a docs conf. The snippet shows no network, decoding or process activity, so it reads as a legitimate build-time pattern.

  2. info warn → info by review encoding-base64 INSTALL.rst:170:2

    base64-like blob (2949 bytes over 47 lines, compression ratio 0.76) (raw pass, confidence 0.60)

     
     mQINBFTXjPgBEADc3j7vnma9MXRshBPPXXenVpthQD6lrF/3XaBT2RptSf/viOD+
     tz85du5XVp+r0SYYGeMNJCQ9NsztxblN/lnKgkfWRmSrB+V6QGS+e3bR5d9OIxzN
     7haPxBnyRj//hCT/kKis6fa7N9wtwKBBjbaSX+9vpt7Rrt203sKfcChA4iR3EG89
    likely benign LLM, confidence 0.85 A base64-armored public key block embedded in INSTALL documentation.
    Reasoning

    The base64 lines start with 'mQINBF', the header of an OpenPGP public key block. Public keys in install docs are normal and carry no payload to execute. The raw pass has a high false-positive rate for this kind of text.

  3. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

        order = 0x1000000000000000000000000000000014DEF9DEA2F79CD65812631A5CF5D3ED
        Gx = 0x216936D3CD6E53FEC0A4E231FDD6DC5C692CC7609525A7B2C9562D608F25D51A
        Gy = 0x6666666666666666666666666666666666666666666666666666666666666658
  4. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

        p = 0xFFFFFFFF00000001000000000000000000000000FFFFFFFFFFFFFFFFFFFFFFFF
        b = 0x5AC635D8AA3A93E7B3EBBD55769886BC651D06B0CC53B0F63BCE3C3E27D2604B
        order = 0xFFFFFFFF00000000FFFFFFFFFFFFFFFFBCE6FAADA7179E84F3B9CAC2FC632551
        Gx = 0x6B17D1F2E12C4247F8BCE6E563A440F277037D812DEB33A0F4A13945D898C296
  5. info critical → info by review dynamic-import lib/Crypto/SelfTest/Cipher/test_CTR.py:429:18

    `__import__` called on a non-literal expression (ast pass, confidence 0.90)

            # The threaded code is the same for all ciphers: same output as without threads
            module = __import__("Crypto.Cipher." + name, fromlist=["new"])
            key = {"DES": b"k" * 8, "DES3": DES3.adjust_key_parity(get_tag_random("key_des3", 24))}.get(
                name, b"k" * 16
    likely benign LLM, confidence 0.85 Test helper that dynamically imports a cipher module by name.
    Reasoning

    This is a self-test loop that imports the cipher module named by a loop variable, with keys built per cipher. The name comes from a fixed list in test code, not untrusted input.

  6. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Cipher/test_pkcs1_15.py:67:1

    base64-like blob (812 bytes over 13 lines, compression ratio 0.79) (raw pass, confidence 0.60)

                """-----BEGIN RSA PRIVATE KEY-----
    MIICXAIBAAKBgQDAiAnvIAOvqVwJTaYzsKnefZftgtXGE2hPJppGsWl78yz9jeXY
    W/FxX/gTPURArNhdnhP6n3p2ZaDIBrO2zizbgIXs0IsljTTcr4vnI8fMXzyNUOjA
    zP3nzMqZDZK6757XQAobOssMkBFqRWwilT/3DsBhRpl3iMUhF+wvpTSHewIDAQAB
    likely benign LLM, confidence 0.90 An RSA PEM private key used as a fixture in a PKCS#1 test.
    Reasoning

    The blob is an RSA private key in PEM form inside a test string. Test suites carry fixed key material like this, and it is used only to check the implementation.

  7. info warn → info by review dynamic-attribute lib/Crypto/SelfTest/Hash/test_HMAC.py:567:36

    reach-by-name through `globals` (ast pass, confidence 0.60)

                t[2] = row[2][modname]
                t.append({"digestmod": globals()[modname]})
                exp_test_data.append(t)
        return exp_test_data
    likely benign LLM, confidence 0.85 Test-vector generator that resolves a digest module by name through globals().
    Reasoning

    The code looks up a digest module by name in globals() while building HMAC test vectors. The names come from the test's own list, so this is ordinary reflection in test generation.

  8. info warn → info by review encoding-base64 lib/Crypto/SelfTest/IO/test_PKCS8.py:726:9

    base64-like blob (156 bytes over 3 lines, compression ratio 0.95) (raw pass, confidence 0.60)

        rfc8410 = """
            MHICAQEwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
            oB8wHQYKKoZIhvcNAQkJFDEPDA1DdXJkbGUgQ2hhaXJzgSEAGb9ECWmEzf6FQbrB
            Z9w7lshQhqowtrbLDFw4rXAxZuE="""
    likely benign LLM, confidence 0.90 Base64-encoded RFC 8410 key test vector in PKCS#8 tests.
    Reasoning

    The base64 text is an RFC 8410 test vector for an Ed25519 key in PKCS#8 form. It is standard published test data.

  9. info warn → info by review payload-bytes-literal lib/Crypto/SelfTest/Math/test_Numbers.py:704:18

    bytes literal contains 38 `\xNN` escapes (85% of content) — binary payload shape (ast pass, confidence 0.85)

            t2 = 17**100
            expect = b"\xfa\xb2\x11\x87\xc3(y\x07\xf8\xf1n\xdepq\x0b\xca\xf3\xd3B,\xef\xf2\xfbf\xcc)\x8dZ*\x95\x98r\x96\xa8\xd5\xc3}\xe2q:\xa2'z\xf48\xde%\xef\t\x07\xbc\xc4[C\x8bUE2\x90\xef\x81\xaa:\x08"
            assert expect == modmult(t1, t2, modulus)
    likely benign LLM, confidence 0.90 Expected-result byte literal for a modmult assertion in a math test.
    Reasoning

    The byte literal is an expected output value for a modular multiplication check. Binary-looking escapes are normal for test vectors, and the code only compares the result.

  10. identifier `ΔημοσιεύθηκεστηνΕφημερίδατης` contains homoglyph candidates: η (03B7)→n, ο (03BF)→o, η (03B7)→n, κ (03BA)→k (in string/comment) (raw pass, confidence 0.35)

                ("ΔημοσιεύθηκεστηνΕφημερίδατης", 4, b"E5SQtS6P4568MDXW7cyUp.", b"$2a$04$E5SQtS6P4568MDXW7cyUp.18wfDisKZBxifnPZjAI1d/KTYMfHPYO"),
  11. identifier `ΔημοσιεύθηκεστηνΕφημερίδατης` mixes scripts: Greek + Latin (in string/comment) (raw pass, confidence 0.40)

                ("ΔημοσιεύθηκεστηνΕφημερίδατης", 4, b"E5SQtS6P4568MDXW7cyUp.", b"$2a$04$E5SQtS6P4568MDXW7cyUp.18wfDisKZBxifnPZjAI1d/KTYMfHPYO"),
  12. info critical → info by review dynamic-import lib/Crypto/SelfTest/Protocol/test_KDF.py:1028:12

    `__import__` called on a non-literal expression (ast pass, confidence 0.90)

    def load_hash_by_name(hash_name):
        return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"])
    likely benign LLM, confidence 0.85 Test helper that loads a Crypto.Hash module by name.
    Reasoning

    The helper imports Crypto.Hash submodules by name for KDF tests. The name is supplied by the test suite, and the module is imported without any execution of fetched data.

  13. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Protocol/test_ecdh.py:239:38

    4 rows of base64-like lines, lines 239-242 (first: base64-like blob (65 bytes, compression ratio 1.17)) (raw pass, confidence 0.60)

        static_priv = ECC.import_key(
            "-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQg9VHFVKh2a1aVFifH\n+BiyNaRa2kttEg3165Ye/dJxJ7KhRANCAARImIEXro5ZOcyWU2mq/+d79FEZXtTA\nbKkz1aICQXihQdCMzRNbeNtC9LFLzhu1slRKJ2xsDAlw9r6w6vwtkRzr\n-----END PRIVATE KEY-----"
        )
    likely benign LLM, confidence 0.90 An ECC PEM private key fixture for an ECDH test.
    Reasoning

    The blob is an ECC private key in PEM form passed to ECC.import_key in an ECDH test. Fixed key material is expected in this suite.

  14. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Protocol/test_ecdh.py:246:38

    base64-like blob (65 bytes, compression ratio 1.17) (raw pass, confidence 0.60)

        eph_priv = ECC.import_key(
            "-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGPdJmFFFKzLPspIr\nE1T2cEjeIf4ajS9CpneP0e2b3AyhRANCAAQBexAA5BYDcXHs2KOksTYUsst4HhPt\nkp0zkgI2virc3OGJFNGPaCCPfFCQJHwLRaEpiq3SoQlgoBwSc8ZPsl3y\n-----END PRIVATE KEY-----"
        )
    likely benign LLM, confidence 0.90 ECC PEM private key fixture for ephemeral key import in ECDH tests.
    Reasoning

    This is another ECC PEM private key fixture in the same ECDH test file, used to exercise key import.

  15. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Protocol/test_ecdh.py:246:104

    base64-like blob (65 bytes, compression ratio 1.17) (raw pass, confidence 0.60)

        eph_priv = ECC.import_key(
            "-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQgGPdJmFFFKzLPspIr\nE1T2cEjeIf4ajS9CpneP0e2b3AyhRANCAAQBexAA5BYDcXHs2KOksTYUsst4HhPt\nkp0zkgI2virc3OGJFNGPaCCPfFCQJHwLRaEpiq3SoQlgoBwSc8ZPsl3y\n-----END PRIVATE KEY-----"
        )
    likely benign LLM, confidence 0.90 Same ECC PEM ephemeral key fixture, flagged at a second column.
    Reasoning

    This finding repeats the same PEM key literal on the same line as the previous finding, so the reasoning is identical.

  16. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Protocol/test_ecdh.py:250:38

    base64-like blob (65 bytes, compression ratio 1.17) (raw pass, confidence 0.60)

        eph_pub = ECC.import_key(
            "-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQghaVZXElSEGEojFKF\nOU0JCpxWUWHvWQUR81gwWrOp76ShRANCAATi1Ib2K+YR3AckD8wxypWef7pw5PRw\ntBaB3RDPyE7IjHZC6yu1DbcXoCdtaw+F5DM+4zpl59n5ZaIy/Yl1BdIy\n-----END PRIVATE KEY-----"
        )
    likely benign LLM, confidence 0.90 ECC PEM key fixture used in an ECDH test.
    Reasoning

    This is an ECC public/private PEM key fixture used in ECDH test cases. It is test data with no execution path.

  17. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Protocol/test_ecdh.py:250:104

    base64-like blob (65 bytes, compression ratio 1.17) (raw pass, confidence 0.60)

        eph_pub = ECC.import_key(
            "-----BEGIN PRIVATE KEY-----\nMIGHAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBG0wawIBAQQghaVZXElSEGEojFKF\nOU0JCpxWUWHvWQUR81gwWrOp76ShRANCAATi1Ib2K+YR3AckD8wxypWef7pw5PRw\ntBaB3RDPyE7IjHZC6yu1DbcXoCdtaw+F5DM+4zpl59n5ZaIy/Yl1BdIy\n-----END PRIVATE KEY-----"
        )
    likely benign LLM, confidence 0.97 Test fixture containing a PEM-encoded EC private key for ECDH self-tests.
    Reasoning

    A PEM-encoded EC private key embedded as a test fixture in a cryptographic library's self-test suite. Base64 blobs are the normal format for PEM keys; this is an expected, benign pattern.

  18. 12 rows of base64-like lines, lines 19-30 (first: base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment)) (raw pass, confidence 0.30)

        (1, 9),
        (2, 0x20D342D51873F1B7D9750C687D1571148F3F5CED1E350B5C5CAE469CDD684EFB),
        (3, 0x1C12BC1A6D57ABE645534D91C21BBA64F8824E67621C0859C00A03AFFB713C12),
        (4, 0x79CE98B7E0689D7DE7D1D074A15B315FFE1805DFCD5D2A230FEE85E4550013EF),
  19. base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment) (raw pass, confidence 0.30)

    class TestEccPoint_Curve25519:
        v1 = 0x09FA78B39B00A72930BCD8039BE789A0997830BB99F79AEEB93493715390B4E8
        v2 = 0x15210F12786811D3F4B7959D0538AE2C31DBE7106FC03C3EFC4CD549C715A493
  20. base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment) (raw pass, confidence 0.30)

        v1 = 0x09FA78B39B00A72930BCD8039BE789A0997830BB99F79AEEB93493715390B4E8
        v2 = 0x15210F12786811D3F4B7959D0538AE2C31DBE7106FC03C3EFC4CD549C715A493
    
        def test_init(self):
  21. base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment) (raw pass, confidence 0.30)

    class TestEccPoint_Curve448:
        v1 = 0x09FA78B39B00A72930BCD8039BE789A0997830BB99F79AEEB93493715390B4E8
        v2 = 0x15210F12786811D3F4B7959D0538AE2C31DBE7106FC03C3EFC4CD549C715A493
  22. base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment) (raw pass, confidence 0.30)

        v1 = 0x09FA78B39B00A72930BCD8039BE789A0997830BB99F79AEEB93493715390B4E8
        v2 = 0x15210F12786811D3F4B7959D0538AE2C31DBE7106FC03C3EFC4CD549C715A493
    
        def test_init(self):
  23. base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment) (raw pass, confidence 0.30)

        pointS = EccPoint(
            0xDE2444BEBC8D36E682EDD27E0F271508617519B3221A8FA0B77CAB3989DA97C9,
            0xC093AE7FF36E5380FC01A5AAD1E66659702DE80F53CEC576B6350B243042A256,
        )
  24. base64-like blob (66 bytes, compression ratio 0.91) (outside string/comment) (raw pass, confidence 0.30)

            0xDE2444BEBC8D36E682EDD27E0F271508617519B3221A8FA0B77CAB3989DA97C9,
            0xC093AE7FF36E5380FC01A5AAD1E66659702DE80F53CEC576B6350B243042A256,
        )
  25. base64-like blob (66 bytes, compression ratio 0.91) (outside string/comment) (raw pass, confidence 0.30)

        pointT = EccPoint(
            0x55A8B00F8DA1D44E62F6B3B25316212E39540DC861C89575BB8CF92E35E0986B,
            0x5421C3209C2D6C704835D82AC4C3DD90F61A8A52598B9E7AB656E9D8C8B24316,
        )
  26. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

            0x55A8B00F8DA1D44E62F6B3B25316212E39540DC861C89575BB8CF92E35E0986B,
            0x5421C3209C2D6C704835D82AC4C3DD90F61A8A52598B9E7AB656E9D8C8B24316,
        )
  27. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

        def test_addition(self):
            pointRx = 0x72B13DD4354B6B81745195E98CC5BA6970349191AC476BD4553CF35A545A067E
            pointRy = 0x8D585CBB2E1327D75241A8A122D7620DC33B13315AA5C9D46D013011744AC264
  28. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

        def test_inplace_addition(self):
            pointRx = 0x72B13DD4354B6B81745195E98CC5BA6970349191AC476BD4553CF35A545A067E
            pointRy = 0x8D585CBB2E1327D75241A8A122D7620DC33B13315AA5C9D46D013011744AC264
  29. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

        def test_doubling(self):
            pointRx = 0x7669E6901606EE3BA1A8EEF1E0024C33DF6C22F3B17481B82A860FFCDB6127B0
            pointRy = 0xFA878162187A54F6C39F6EE0072F33DE389EF3EECD03023DE10CA2C1DB61D0C7
  30. base64-like blob (66 bytes, compression ratio 0.89) (outside string/comment) (raw pass, confidence 0.30)

            pointRx = 0x7669E6901606EE3BA1A8EEF1E0024C33DF6C22F3B17481B82A860FFCDB6127B0
            pointRy = 0xFA878162187A54F6C39F6EE0072F33DE389EF3EECD03023DE10CA2C1DB61D0C7
    
            pointR = self.pointS.copy()
  31. base64-like blob (66 bytes, compression ratio 0.88) (outside string/comment) (raw pass, confidence 0.30)

            d = 0xC51E4753AFDEC1E6B6C6A5B992F43F8DD0C7A8933072708B6522468B2FFB06FD
            pointRx = 0x51D08D5F2D4278882946D88D83C97D11E62BECC3CFC18BEDACC89BA34EECA03F
            pointRy = 0x75EE68EB8BF626AA5B673AB51F6E744E06F8FCF8A6C0CF3035BECA956A7B41D5
  32. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

            pointRx = 0x51D08D5F2D4278882946D88D83C97D11E62BECC3CFC18BEDACC89BA34EECA03F
            pointRy = 0x75EE68EB8BF626AA5B673AB51F6E744E06F8FCF8A6C0CF3035BECA956A7B41D5
    
            pointR = self.pointS * d
  33. base64-like blob (66 bytes, compression ratio 0.92) (outside string/comment) (raw pass, confidence 0.30)

            d = 0xC51E4753AFDEC1E6B6C6A5B992F43F8DD0C7A8933072708B6522468B2FFB06FD
            e = 0xD37F628ECE72A462F0145CBEFE3F0B355EE8332D37ACDD83A358016AEA029DB7
            pointRx = 0xD867B4679221009234939221B8046245EFCF58413DAACBEFF857B8588341F6B8
  34. base64-like blob (66 bytes, compression ratio 0.91) (outside string/comment) (raw pass, confidence 0.30)

            e = 0xD37F628ECE72A462F0145CBEFE3F0B355EE8332D37ACDD83A358016AEA029DB7
            pointRx = 0xD867B4679221009234939221B8046245EFCF58413DAACBEFF857B8588341F6B8
            pointRy = 0xF2504055C03CEDE12D22720DAD69C745106B6607EC7E50DD35D54BD80F615275
  35. base64-like blob (66 bytes, compression ratio 0.86) (outside string/comment) (raw pass, confidence 0.30)

        def _test_inplace_addition(self):
            pointRx = 0x72B13DD4354B6B81745195E98CC5BA6970349191AC476BD4553CF35A545A067E
            pointRy = 0x8D585CBB2E1327D75241A8A122D7620DC33B13315AA5C9D46D013011744AC264
  36. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:84:1

    base64-like blob (592 bytes over 10 lines, compression ratio 0.81) (raw pass, confidence 0.60)

    -----BEGIN PUBLIC KEY-----
    MIIBtzCCASsGByqGSM44BAEwggEeAoGBAOdW7hcX9LZ5THwhRyShl2N0LEVXK0s/
    j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4uBtH
    mjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47BgV6/2
    likely benign LLM, confidence 0.97 Test fixture containing a PEM DSA public key.
    Reasoning

    PEM public key block in the PyCryptodome DSA import self-test. Raw base64 flags on PEM content are expected false positives in a crypto library test suite.

  37. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:147:1

    base64-like blob (596 bytes over 10 lines, compression ratio 0.81) (raw pass, confidence 0.60)

    -----BEGIN DSA PRIVATE KEY-----
    MIIBuwIBAAKBgQDnVu4XF/S2eUx8IUckoZdjdCxFVytLP4/ztE876fRM4DmidXaV
    7JFWl9p075FPzRsFZg4kGcdh1jn0XS15uALb0j56uLgbR5o4Dh8wkyWEuioLlVAy
    NC68g8tcqQbnsNfNb+ZWzstMi1p3EjqMZ1CkgeOwYFev9qpuumILgy1gwwIVAK0y
    likely benign LLM, confidence 0.97 Test fixture containing a PEM DSA private key.
    Reasoning

    PEM DSA private key fixture in a crypto library's import tests; base64 body is the standard encoding and the file is a self-test.

  38. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:210:1

    base64-like blob (448 bytes over 7 lines, compression ratio 0.82) (raw pass, confidence 0.60)

    -----BEGIN PRIVATE KEY-----
    MIIBSgIBADCCASsGByqGSM44BAEwggEeAoGBAOdW7hcX9LZ5THwhRyShl2N0LEVX
    K0s/j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4
    uBtHmjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47Bg
    likely benign LLM, confidence 0.97 Test fixture containing a PKCS#8 DSA private key.
    Reasoning

    PEM private key block in a self-test module for DSA key import; standard base64 encoding of ASN.1 structures.

  39. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:238:26

    base64-like blob (580 bytes, compression ratio 0.82) (raw pass, confidence 0.60)

        ssh_pub = """ssh-dss AAAAB3NzaC1kc3MAAACBAOdW7hcX9LZ5THwhRyShl2N0LEVXK0s/j/O0Tzvp9EzgOaJ1dpXskVaX2nTvkU/NGwVmDiQZx2HWOfRdLXm4AtvSPnq4uBtHmjgOHzCTJYS6KguVUDI0LryDy1ypBuew181v5lbOy0yLWncSOoxnUKSB47BgV6/2qm66YguDLWDDAAAAFQCtMvSM064MRaGYph+kteIDIHY7IwAAAIB539w9YU/mNfzrfq6uNxjcLv77RSgpk6xnSdyDwiPYwYhyljFrOwtURmz0RPNLguN
    likely benign LLM, confidence 0.96 Test vector containing an OpenSSH DSS public key.
    Reasoning

    OpenSSH ssh-dss public key string used as a test vector for import; base64 is the expected encoding of the SSH wire format.

  40. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:261:1

    base64-like blob (600 bytes over 10 lines, compression ratio 0.81) (raw pass, confidence 0.60)

    
    4V6GHRDpCrdZ8MBjbyp5AlGUrjvr2Pn2e2zVxy5RBt4FBj9/pa0ae0nnyUPMLSUU
    kKyOR0topRYTVRLElm4qVrb5uNZ3hRwfbklr+pSrB7O9eHz9V5sfOQxyODS07JxK
    k1OdOs70/ouMXLF9EWfAZOmWUccZKHNblUwg1p1UrZIz5jXw4dUE/zqhvXh6d+iC
    likely benign LLM, confidence 0.97 Part of a PEM key fixture in DSA import tests.
    Reasoning

    Continuation of a PEM key fixture in a crypto library's self-test file; no execution or payload behavior.

  41. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:298:1

    base64-like blob (500 bytes over 8 lines, compression ratio 0.82) (raw pass, confidence 0.60)

    -----BEGIN ENCRYPTED PRIVATE KEY-----
    MIIBcTAbBgkqhkiG9w0BBQMwDgQI0GC3BJ/jSw8CAggABIIBUHc1cXZpExIE9tC7
    7ryiW+5ihtF2Ekurq3e408GYSAu5smJjN2bvQXmzRFBz8W38K8eMf1sbWroZ4+zn
    kZSbb9nSm5kAa8lR2+oF2k+WRswMR/PTC3f/D9STO2X0QxdrzKgIHEcSGSHp5jTx
    likely benign LLM, confidence 0.97 Test fixture containing an encrypted PEM private key.
    Reasoning

    Encrypted PKCS#8 private key test fixture; the base64 body is the standard encoding for encrypted PEM keys used in import tests.

  42. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:449:1

    base64-like blob (1140 bytes over 18 lines, compression ratio 0.73) (raw pass, confidence 0.60)

    -----BEGIN CERTIFICATE-----
    MIIDUjCCArsCAQIwDQYJKoZIhvcNAQEFBQAwfjENMAsGA1UEChMEQWNtZTELMAkG
    A1UECxMCUkQxHDAaBgkqhkiG9w0BCQEWDXNwYW1AYWNtZS5vcmcxEzARBgNVBAcT
    Ck1ldHJvcG9saXMxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzENMAsG
    likely benign LLM, confidence 0.97 Test fixture containing a PEM X.509 certificate.
    Reasoning

    PEM certificate fixture in a crypto library test file; base64 is the expected encoding of X.509 certificates.

  43. info warn → info by review dynamic-attribute lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:511:24

    reach-by-name through `locals` (ast pass, confidence 0.60)

            for comp_name in ("y", "p", "q", "g"):
                comp_str = locals()[comp_name + "_str"]
                comp = int(re.sub("[^0-9a-f]", "", comp_str), 16)
                assert getattr(key, comp_name) == comp
    likely benign LLM, confidence 0.90 Test helper that retrieves local test strings by name to compare DSA key components.
    Reasoning

    The loop reads local variables named like y_str, p_str by constructed name and then uses getattr on key attributes. This is a test verifying key components with dynamic lookup, a common idiom in test code, with no execution or hidden payload.

  44. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:520:1

    base64-like blob (1892 bytes over 30 lines, compression ratio 0.75) (raw pass, confidence 0.60)

    -----BEGIN CERTIFICATE-----
    MIIFhjCCA26gAwIBAgIBAzANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVUzEL
    MAkGA1UECAwCTUQxEjAQBgNVBAcMCUJhbHRpbW9yZTEQMA4GA1UEAwwHVGVzdCBD
    QTEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxlLmNvbTAeFw0xNDA3MTMyMDUz
    likely benign LLM, confidence 0.97 Test fixture containing a PEM X.509 certificate.
    Reasoning

    PEM certificate fixture in a self-test file of a crypto library; standard encoding of an X.509 certificate.

  45. info warn → info by review dynamic-attribute lib/Crypto/SelfTest/PublicKey/test_import_DSA.py:594:24

    reach-by-name through `locals` (ast pass, confidence 0.60)

            for comp_name in ("y", "p", "q", "g"):
                comp_str = locals()[comp_name + "_str"]
                comp = int(re.sub("[^0-9a-f]", "", comp_str), 16)
                assert getattr(key, comp_name) == comp
    likely benign LLM, confidence 0.90 Test helper retrieving local component strings by name to verify DSA key attributes.
    Reasoning

    Same locals-based component lookup as the earlier finding in this test file, used to validate key attributes in a test. Benign test idiom.

  46. base64-like blob (66 bytes, compression ratio 0.91) (outside string/comment) (raw pass, confidence 0.30)

            key = _import_rfc5915_der(unhexlify(data_hex), None, "1.2.840.10045.3.1.7")
            assert key.d == 0x5C4E4320EF260F91ED9FC597AEE98C8236B60E0CED692CC7A057D5E45798A052
    
        def test_import_private_rfc5915_only_0(self):
  47. base64-like blob (66 bytes, compression ratio 0.91) (outside string/comment) (raw pass, confidence 0.30)

            key = _import_rfc5915_der(unhexlify(data_hex), None)
            assert key.d == 0x5C4E4320EF260F91ED9FC597AEE98C8236B60E0CED692CC7A057D5E45798A052
    
        def test_import_private_rfc5915_only_1(self):
  48. base64-like blob (66 bytes, compression ratio 0.91) (outside string/comment) (raw pass, confidence 0.30)

            key = _import_rfc5915_der(unhexlify(data_hex), None, "1.2.840.10045.3.1.7")
            assert key.d == 0x5C4E4320EF260F91ED9FC597AEE98C8236B60E0CED692CC7A057D5E45798A052
  49. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1100:9

    base64-like blob (132 bytes over 3 lines, compression ratio 1.01) (raw pass, confidence 0.60)

            pem1 = """-----BEGIN EC PRIVATE KEY-----
            MF8CAQEEGHvhXmIW95JxZYfd4AUPu9BwknjuvS36aqAKBggqhkjOPQMBAaE0AzIA
            BLJZCyTu35DQIlqvMlBynn3k1Ig+dWfg/brRhHecxptrbloqFSP8ITw0CwbGF+2X
            5g==
    likely benign LLM, confidence 0.96 Test fixture containing a PEM EC private key.
    Reasoning

    PEM EC private key string in a crypto library's ECC import test; standard base64 PEM encoding.

  50. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1107:9

    base64-like blob (132 bytes over 3 lines, compression ratio 1.00) (raw pass, confidence 0.60)

            pem2 = """-----BEGIN EC PRIVATE KEY-----
            MF8CAQEEGA3rAotUaWl7d47eX6tz9JmLzOMJwl13XaAKBggqhkjOPQMBAaE0AzIA
            BG4tHlTBBBGokcWmGm2xubVB0NvPC/Ou5AYwivs+3iCxmEjsymVAj6iiuX2Lxr6g
            /Q==
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    This is a PEM-encoded EC private key literal used as test vector in PyCryptodome's self-test suite. Base64 encoding of key material is the expected format; the raw pass flags it only because it is base64-shaped.

  51. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1364:9

    base64-like blob (144 bytes over 3 lines, compression ratio 0.98) (raw pass, confidence 0.60)

            pem1 = """-----BEGIN EC PRIVATE KEY-----
            MGgCAQEEHPYicBNI9nd6wDKAX2l+f3A0Q+KWUQeMqSt5GoOgBwYFK4EEACGhPAM6
            AATCL6rUIDT14zXKoS5GQUMDP/tpc+1iI/FyEZikt2roKDkhU5q08srmqaysbfJN
            eUr7Xf1lnCVGag==
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    Same pattern: a PEM EC private key test vector inside a self-test module, consistent with a crypto library's import tests.

  52. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1371:9

    base64-like blob (144 bytes over 3 lines, compression ratio 0.97) (raw pass, confidence 0.60)

            pem2 = """-----BEGIN EC PRIVATE KEY-----
            MGgCAQEEHEFjbaVPLJ3ngZyCibCvT0RLUqSlHjC5Z3e0FtugBwYFK4EEACGhPAM6
            AAT5IvL2V6m48y1JLMGr6ZbnOqNKP9hMf9mxyVkk6/SaRoBoJVkXrNIpYL0P7DS7
            QF8E/OGeZRwvow==
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key test vector in a crypto library self-test; base64 blob is the normal encoding of such keys.

  53. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1662:9

    base64-like blob (120 bytes over 2 lines, compression ratio 1.02) (raw pass, confidence 0.60)

            pem1 = """-----BEGIN EC PRIVATE KEY-----
            MFcCAQEEIHTuc09jC51xXomV6MVCDN+DpAAvSmaJWZPTEHM6D5H1oAoGCCqGSM49
            AwEHoSQDIgACWFuGbHe8yJ43rir7PMTE9w8vHz0BSpXHq90Xi7/s+a0=
            -----END EC PRIVATE KEY-----"""
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key literal used for import testing in the PyCryptodome test suite; expected content, not an obfuscated payload.

  54. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1668:9

    base64-like blob (120 bytes over 2 lines, compression ratio 1.02) (raw pass, confidence 0.60)

            pem2 = """-----BEGIN EC PRIVATE KEY-----
            MFcCAQEEIFggiPN9SQP+FAPTCPp08fRUz7rHp2qNBRcBJ1DXhb3ZoAoGCCqGSM49
            AwEHoSQDIgADLpph1trTIlVfa8NJvlMUPyWvL+wP+pW3BJITUL/wj9A=
            -----END EC PRIVATE KEY-----"""
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key test vector, same context as the other fixtures in this self-test file.

  55. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1960:1

    base64-like blob (224 bytes over 4 lines, compression ratio 0.92) (raw pass, confidence 0.60)

            pem1 = """-----BEGIN EC PRIVATE KEY-----
    MIGkAgEBBDAM0lEIhvXuekK2SWtdbgOcZtBaxa9TxfpO/GcDFZLCJ3JVXaTgwken
    QT+C+XLtD6WgBwYFK4EEACKhZANiAATs0kZMhFDu8DoBC21jrSDPyAUn4aXZ/DM4
    ylhDfWmb4LEbeszXceIzfhIUaaGs5y1xXaqf5KXTiAAYx2pKUzAAM9lcGUHCGKJG
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key fixture in a crypto self-test module; the base64 body is standard ASN.1 DER encoding.

  56. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:1968:1

    base64-like blob (224 bytes over 4 lines, compression ratio 0.90) (raw pass, confidence 0.60)

            pem2 = """-----BEGIN EC PRIVATE KEY-----
    MIGkAgEBBDDHPFTslYLltE16fHdSDTtE/2HTmd3M8mqy5MttAm4wZ833KXiGS9oe
    kFdx9sNV0KygBwYFK4EEACKhZANiAASLIE5RqVMtNhtBH/u/p/ifqOAlKnK/+RrQ
    YC46ZRsnKNayw3wATdPjgja7L/DSII3nZK0G6KOOVwJBznT/e+zudUJYhZKaBLRx
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key test vector in a legitimate cryptography library test file.

  57. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:2268:1

    base64-like blob (300 bytes over 5 lines, compression ratio 0.86) (raw pass, confidence 0.60)

            pem1 = """-----BEGIN EC PRIVATE KEY-----
    MIHcAgEBBEIAnm1CEjVjvNfXEN730p+D6su5l+mOztdc5XmTEoti+s2R4GQ4mAv3
    0zYLvyklvOHw0+yy8d0cyGEJGb8T3ZVKmg2gBwYFK4EEACOhgYkDgYYABAHzjTI1
    ckxQ3Togi0LAxiG0PucdBBBs5oIy3df95xv6SInp70z+4qQ2EltEmdNMssH8eOrl
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key (P-384 style OID) test fixture; expected base64 content for a key import test.

  58. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:2277:1

    base64-like blob (300 bytes over 5 lines, compression ratio 0.86) (raw pass, confidence 0.60)

            pem2 = """-----BEGIN EC PRIVATE KEY-----
    MIHcAgEBBEIB84OfhJluLBRLn3+cC/RQ37C2SfQVP/t0gQK2tCsTf5avRcWYRrOJ
    PmX9lNnkC0Hobd75QFRmdxrB0Wd1/M4jZOWgBwYFK4EEACOhgYkDgYYABAAMZcdJ
    1YLCGHt3bHCEzdidVy6+brlJIbv1aQ9fPQLF7WKNv4c8w3H8d5a2+SDZilBOsk5c
    likely benign LLM, confidence 0.97 Test fixture containing a PEM EC private key string.
    Reasoning

    PEM EC private key test fixture in PyCryptodome's self-tests, a legitimate pattern.

  59. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_ECC.py:2937:1

    base64-like blob (156 bytes over 3 lines, compression ratio 0.95) (raw pass, confidence 0.60)

        encoded = """-----BEGIN PRIVATE KEY-----
    MHICAQEwBQYDK2VwBCIEINTuctv5E1hK1bbY8fdp+K06/nwoy/HU++CXqI9EdVhC
    oB8wHQYKKoZIhvcNAQkJFDEPDA1DdXJkbGUgQ2hhaXJzgSEAGb9ECWmEzf6FQbrB
    Z9w7lshQhqowtrbLDFw4rXAxZuE=
    likely benign LLM, confidence 0.97 Test fixture containing a PKCS#8 PEM private key string.
    Reasoning

    PKCS#8 PEM private key (Ed25519/curve OID 1.3.101.112 visible in the DER prefix) used as a test vector for key import; standard encoding.

  60. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:79:1

    base64-like blob (428 bytes over 7 lines, compression ratio 0.84) (raw pass, confidence 0.60)

        rsaKeyPEM = """-----BEGIN RSA PRIVATE KEY-----
    MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII
    q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8
    Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI
    likely benign LLM, confidence 0.97 Test fixture containing a PEM RSA private key string.
    Reasoning

    RSA private key PEM literal used as a fixture in PyCryptodome's RSA import self-tests; expected content for the library's test suite.

  61. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:90:1

    base64-like blob (460 bytes over 8 lines, compression ratio 0.82) (raw pass, confidence 0.60)

        rsaKeyPEM8 = """-----BEGIN PRIVATE KEY-----
    MIIBVQIBADANBgkqhkiG9w0BAQEFAASCAT8wggE7AgEAAkEAvx4nkAqgiyNRGlwS
    ga5tkzEsPv6RP5MuvtSS8S0WtGEMMoy24girX0WsvilQgzKY8xIsGfeEkt7fQPDj
    wZAzhQIDAQABAkAJRIMSnxFN7fZ+2rwjAbxaiOXmYB3XAWIg6tn9S/xv3rdYk4mK
    likely benign LLM, confidence 0.95 A PKCS#8 RSA private key PEM literal used as a test vector.
    Reasoning

    The base64 is a PKCS#8 RSA private key embedded as a PEM test vector in a self-test file for a crypto library. Test fixtures like this are expected, and the raw base64 finding is a known false-positive pattern.

  62. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:110:1

    base64-like blob (428 bytes over 7 lines, compression ratio 0.83) (raw pass, confidence 0.60)

    
    Ckl9ex1kaVEWhYC2QBmfaF+YPiR4NFkRXA7nj3dcnuFEzBnY5XULupqQpQI3qbfA
    u8GYS7+b3toWWiHZivHbAAUBPDIZG9hKDyB9Sq2VMARGsX1yW1zhNvZLIiVJzUHs
    C6NxQ1IJWOXzTew/xM2I26kPwHIvadq+/VaT8gLQdjdH0jOiVNaevjWnLgrn1mLP
    likely benign LLM, confidence 0.95 Base64 body of another RSA key PEM test vector.
    Reasoning

    Continuation of the same PEM test-vector block in a crypto library self-test. It is ordinary encoded key material in a test, not obfuscation.

  63. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:123:1

    base64-like blob (568 bytes over 9 lines, compression ratio 0.80) (raw pass, confidence 0.60)

                """-----BEGIN ENCRYPTED PRIVATE KEY-----
    MIIBpjBABgkqhkiG9w0BBQ0wMzAbBgkqhkiG9w0BBQwwDgQIeZIsbW3O+JcCAggA
    MBQGCCqGSIb3DQMHBAgSM2p0D8FilgSCAWBhFyP2tiGKVpGj3mO8qIBzinU60ApR
    3unvP+N6j7LVgnV2lFGaXbJ6a1PbQXe+2D6DUyBLo8EMXrKKVLqOMGkFMHc0UaV6
    likely benign LLM, confidence 0.95 Base64 body of an encrypted private key PEM test vector.
    Reasoning

    An encrypted PKCS#8 PEM sample used to test key import. The blob is a standard encrypted key fixture and is expected in this context.

  64. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:137:1

    base64-like blob (128 bytes over 2 lines, compression ratio 0.98) (raw pass, confidence 0.60)

        rsaPublicKeyPEM = """-----BEGIN PUBLIC KEY-----
    MFwwDQYJKoZIhvcNAQEBBQADSwAwSAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+T
    Lr7UkvEtFrRhDDKMtuIIq19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQ==
    -----END PUBLIC KEY-----"""
    likely benign LLM, confidence 0.95 Base64 body of an RSA public key PEM test vector.
    Reasoning

    A public key PEM literal in a test file for RSA import routines. It is standard fixture data.

  65. info warn → info by review high-complexity lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:142:31

    string literal compression ratio 0.970 (134 bytes) (raw pass, confidence 0.60)

        # Obtained using 'ssh-keygen -i -m PKCS8 -f rsaPublicKeyPEM'
        rsaPublicKeyOpenSSH = b"""ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQC/HieQCqCLI1EaXBKBrm2TMSw+/pE/ky6+1JLxLRa0YQwyjLbiCKtfRay+KVCDMpjzEiwZ94SS3t9A8OPBkDOF comment\n"""
    
        # The private key, in PKCS#1 format encoded with DER
    likely benign LLM, confidence 0.93 An OpenSSH RSA public key string used as a test vector.
    Reasoning

    The literal is an OpenSSH-format RSA public key, annotated in the comment as produced by ssh-keygen. It is a legitimate test vector, and the high compression ratio reflects base64 key data, not hidden code.

  66. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:142:39

    base64-like blob (116 bytes, compression ratio 1.03) (raw pass, confidence 0.60)

        # Obtained using 'ssh-keygen -i -m PKCS8 -f rsaPublicKeyPEM'
        rsaPublicKeyOpenSSH = b"""ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAAAQQC/HieQCqCLI1EaXBKBrm2TMSw+/pE/ky6+1JLxLRa0YQwyjLbiCKtfRay+KVCDMpjzEiwZ94SS3t9A8OPBkDOF comment\n"""
    
        # The private key, in PKCS#1 format encoded with DER
    likely benign LLM, confidence 0.93 Base64 payload of the OpenSSH RSA public key test vector.
    Reasoning

    The same OpenSSH public key literal flagged again as a base64 blob. It is key material in a test with a documented origin.

  67. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:529:1

    base64-like blob (768 bytes over 12 lines, compression ratio 0.71) (raw pass, confidence 0.60)

    -----BEGIN CERTIFICATE-----
    MIICOjCCAaMCAQEwDQYJKoZIhvcNAQEEBQAwfjENMAsGA1UEChMEQWNtZTELMAkG
    A1UECxMCUkQxHDAaBgkqhkiG9w0BCQEWDXNwYW1AYWNtZS5vcmcxEzARBgNVBAcT
    Ck1ldHJvcG9saXMxETAPBgNVBAgTCE5ldyBZb3JrMQswCQYDVQQGEwJVUzENMAsG
    likely benign LLM, confidence 0.93 Base64 body of an X.509 certificate PEM test fixture.
    Reasoning

    A PEM certificate used to test certificate parsing in a crypto library's self-tests. The subject strings are readable test data, consistent with a fixture.

  68. info warn → info by review encoding-base64 lib/Crypto/SelfTest/PublicKey/test_import_RSA.py:568:1

    base64-like blob (1524 bytes over 24 lines, compression ratio 0.74) (raw pass, confidence 0.60)

    -----BEGIN CERTIFICATE-----
    MIIEcjCCAlqgAwIBAgIBATANBgkqhkiG9w0BAQsFADBhMQswCQYDVQQGEwJVUzEL
    MAkGA1UECAwCTUQxEjAQBgNVBAcMCUJhbHRpbW9yZTEQMA4GA1UEAwwHVGVzdCBD
    QTEfMB0GCSqGSIb3DQEJARYQdGVzdEBleGFtcGxlLmNvbTAeFw0xNDA3MTIwOTM1
    likely benign LLM, confidence 0.93 Base64 body of a test X.509 certificate PEM.
    Reasoning

    A longer certificate PEM fixture with a recognizable test CA subject ('Test CA', example.com). This is standard test data for a crypto library.

  69. info critical → info by review dynamic-import lib/Crypto/SelfTest/Signature/test_dss.py:59:12

    `__import__` called on a non-literal expression (ast pass, confidence 0.90)

    def load_hash_by_name(hash_name):
        return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"])
    likely benign LLM, confidence 0.80 A test helper that dynamically imports a Crypto.Hash submodule chosen by name.
    Reasoning

    The __import__ call builds the module name from a fixed 'Crypto.Hash.' prefix plus a hash name passed by the test harness. The pattern is a dynamic import, but the target is confined to the package's own hash modules and the call is used only to select hash implementations in self-tests. It is a legitimate test helper, not a dropper.

  70. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Signature/test_dss.py:237:1

    base64-like blob (124 bytes over 2 lines, compression ratio 1.01) (raw pass, confidence 0.60)

            key = ECC.import_key("""-----BEGIN PUBLIC KEY-----
    MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAECtmVACiNRmlAAx1yqfVEWk1DeEZA
    hVvwpph00t5f4QPFAR5u8sQtzVDV09Kfma5uuiyAySRPTFQi8Jef8MO6Xg==
    -----END PUBLIC KEY-----""")
    likely benign LLM, confidence 0.93 Base64 body of an EC public key PEM test vector.
    Reasoning

    A base64 EC public key PEM literal in a DSS signature test. It is expected test-vector content.

  71. base64-like blob (68 bytes, compression ratio 0.96) (outside string/comment) (raw pass, confidence 0.30)

        key_priv_p256 = ECC.construct(
            curve="P-256", d=0xC9AFA9D845BA75166B5C215767B1D6934E50C3DB36E89B127B8A622B120F6721
        )
        key_pub_p256 = key_priv_p256.public_key()
  72. compression ratio 0.682 is >2σ above file mean 0.655 (raw pass, confidence 0.50)

                "01511BB4D675114FE266FC4372B87682BAECC01D3CC62CF2303C92B3526012659D16876E25C7C1E57648F23B73564D67F61C6F14D527D54972810421E7D87589E1A7",
                "004A171143A83163D6DF460AAF61522695F207A58B95C0644D87E52AA1A347916E4F7A72930B1BC06DBE22CE3F58264AFD23704CBB63B29B931F7DE6C9D949A7ECFC",
                SHA256,
  73. info critical → info by review dynamic-import lib/Crypto/SelfTest/Signature/test_pkcs1_15.py:18:12

    `__import__` called on a non-literal expression (ast pass, confidence 0.90)

    def load_hash_by_name(hash_name):
        return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"])
    likely benign LLM, confidence 0.80 A test helper that dynamically imports a Crypto.Hash submodule chosen by name.
    Reasoning

    The same hash-name dynamic import helper as in test_dss.py. The prefix is fixed and the input comes from the test suite, so it is a legitimate self-test pattern.

  74. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Signature/test_pkcs1_15.py:127:13

    base64-like blob (428 bytes over 7 lines, compression ratio 0.84) (raw pass, confidence 0.60)

        rsakey = """-----BEGIN RSA PRIVATE KEY-----
                MIIBOwIBAAJBAL8eJ5AKoIsjURpcEoGubZMxLD7+kT+TLr7UkvEtFrRhDDKMtuII
                q19FrL4pUIMymPMSLBn3hJLe30Dw48GQM4UCAwEAAQJACUSDEp8RTe32ftq8IwG8
                Wojl5mAd1wFiIOrZ/Uv8b963WJOJiuQcVN29vxU5+My9GPZ7RA3hrDBEAoHUDPrI
    likely benign LLM, confidence 0.93 Base64 body of an RSA private key PEM test vector.
    Reasoning

    A PKCS#1 RSA private key PEM literal used in a PKCS#1 v1.5 signature test. It is standard test key material.

  75. info critical → info by review dynamic-import lib/Crypto/SelfTest/Signature/test_pss.py:18:12

    `__import__` called on a non-literal expression (ast pass, confidence 0.90)

    def load_hash_by_name(hash_name):
        return __import__("Crypto.Hash." + hash_name, globals(), locals(), ["new"])
    likely benign LLM, confidence 0.85 Test helper that dynamically imports a Crypto.Hash module by name.
    Reasoning

    This is a test helper that dynamically imports Crypto.Hash submodules by name, a common pattern in PyCryptodome self-tests. The argument is a hash name from test vectors, not untrusted input, so the dynamic import is legitimate here though it matches the AST signal.

  76. info warn → info by review encoding-base64 lib/Crypto/SelfTest/Signature/test_pss.py:33:49

    24 rows of base64-like lines, lines 33-33 (first: base64-like blob (65 bytes, compression ratio 1.17)) (raw pass, confidence 0.60)

        rsa_key = b"-----BEGIN RSA PRIVATE KEY-----\nMIIEowIBAAKCAQEAsvI34FgiTK8+txBvmooNGpNwk23YTU51dwNZi5yha3W4lA/Q\nvcZrDalkmD7ekWQwnduxVKa6pRSI13KBgeUOIqJoGXSWhntEtY3FEwvWOHW5AE7Q\njUzTzCiYT6TVaCcpa/7YLai+p6ai2g5f5Zfh4jSawa9uYeuggFygQq4IVW796MgV\nyqxYMM/arEj+/sKz3Viua9Rp9fFosertCYCX4DUTgW0mX9bwEnEOgjSI3pLOPXz1\n8vx+DRZ
    likely benign LLM, confidence 0.90 Test vector containing a PEM-encoded RSA private key in a self-test.
    Reasoning

    The raw pass flagged an embedded RSA private key in a test vector. This is a known test key in a cryptography library's self-test, not an obfuscated payload; the base64-like lines are PEM content.

  77. info warn → info by review payload-bytes-literal lib/Crypto/SelfTest/Signature/test_pss.py:35:11

    bytes literal contains 162 `\xNN` escapes (87% of content) — binary payload shape (ast pass, confidence 0.85)

        tag = b'\x00[c5\xd8\xb0\x8b!D\x81\x83\x07\xc0\xdd\xb9\xb4\xb2`\x92\xe7\x02\xf1\xe1P\xea\xc3\xf0\xe3>\xddX5\xdd\x8e\xc5\x89\xef\xf3\xc2\xdc\xfeP\x02\x7f\x12+\xc9\xaf\xbb\xec\xfe\xb0\xa5\xb9\x08\x11P\x8fL\xee5\x9b\xb0k{=_\xd2\x14\xfb\x01R\xb7\xfe\x14}b\x03\x8d5Y\x89~}\xfc\xf2l\xd01-\xbd\xeb\x11\xcdV\x11\xe9l\x19k/o5\
    likely benign LLM, confidence 0.85 Binary known-answer test vector written as hex escapes.
    Reasoning

    A bytes literal with many \x escapes is a binary test vector (a signature/tag value) in a crypto test file. Hex-escaped binary constants are normal for known-answer tests.

  78. info critical → info by review dynamic-import lib/Crypto/SelfTest/Util/test_raw_api.py:408:23

    `__import__` called on a non-literal expression (ast pass, confidence 0.90)

                else:
                    xof = __import__("Crypto.Hash." + name, fromlist=["new"]).new(data=data)
                return [xof.read(length) for length in lengths]
    likely benign LLM, confidence 0.85 Self-test dynamically imports a Crypto.Hash module to exercise XOF behavior.
    Reasoning

    Dynamic import of Crypto.Hash.<name> in a self-test for XOF hashes, with name drawn from a fixed test list. Legitimate test code pattern, though the AST rule flags it by design.

  79. info identifier-low-length src/MD4.c:1:1

    229 of 484 non-conventional identifiers are single-character (47%) (token pass, confidence 0.50)

  80. info warn → info by review macro-keyword-override src/common.h:63:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    
    #define inline _inline
    #define RESTRICT __restrict
    likely benign LLM, confidence 0.80 Portability macro mapping inline to a compiler-specific spelling.
    Reasoning

    Redefining inline to _inline is a portability shim for compilers that lack the keyword in C89 mode, typically paired with a conditional block. It is a common legitimate header pattern, though it does rebind a reserved keyword.

  81. info warn → info by review macro-keyword-override src/common.h:75:1

    `#define inline` rebinds the reserved C keyword `inline` (token pass, confidence 0.85)

    #define RESTRICT __restrict
    #define inline __inline
    #else
    #define RESTRICT
    likely benign LLM, confidence 0.80 Portability macro mapping inline to __inline for a specific compiler branch.
    Reasoning

    Same portability pattern as the earlier definition, mapping inline to __inline in an alternate compiler branch. Consistent with standard MSVC/C89 compatibility headers.

  82. info identifier-low-length src/ec_special.h:1:1

    145 of 329 non-conventional identifiers are single-character (44%) (token pass, confidence 0.50)

  83. info warn → info by review encoding-escape-soup src/ed25519_perf.c:23:29

    32 consecutive `\xNN` escapes (entropy 4.8 bits/byte) (raw pass, confidence 0.80)

        const uint8_t Gx[32] = "\x21\x69\x36\xd3\xcd\x6e\x53\xfe\xc0\xa4\xe2\x31\xfd\xd6\xdc\x5c\x69\x2c\xc7\x60\x95\x25\xa7\xb2\xc9\x56\x2d\x60\x8f\x25\xd5\x1a";
        const uint8_t Gy[32] = "\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x66\x58";
    likely benign LLM, confidence 0.85 Ed25519 base point coordinate constants written as byte escapes.
    Reasoning

    Hex escape strings encode the Ed25519 base point coordinates Gx and Gy as constants. This is a known curve constant, not a hidden payload, so the raw entropy flag is a false positive.

  84. info warn → info by review identifier-confusable-collision src/ghash_portable.c:175:19

    two identifiers collapse to visual skeleton `|o` (0/O/o and 1/l/I are confusable) (token pass, confidence 0.80)

        const word_t a[3] = { y[0], y[1], y[0] ^ y[1] };
        word_t ar[3], lo[3], hi[3];
    
        /** Their reflections (by linearity for the third one) **/
    likely benign LLM, confidence 0.75 Short local array names that the confusable-identifier check considers colliding.
    Reasoning

    The two identifiers flagged are short local arrays (lo, hi, ar) whose skeleton collision with a similar name is an artifact of the confusability check on short identifiers. Within a GHASH implementation the naming is ordinary, with no sign of a trojan-source attack.

  85. info identifier-low-length src/hash_SHA2_template.c:1:1

    710 of 1681 non-conventional identifiers are single-character (42%) (token pass, confidence 0.50)

  86. line length 712 characters (raw pass, confidence 0.50)

    If you want to support multiple parameter sets, build the library once per parameter set you want to support. Set `MLD_CONFIG_MULTILEVEL_BUILD` for all builds, `MLD_CONFIG_MULTILEVEL_WITH_SHARED` for one of them, and `MLD_CONFIG_MULTILEVEL_NO_SHARED` for the others, to avoid duplicating shared functionality. Finally, l

Reproduce This Scan

Run disclude locally to verify. These commands scan the published file; the "new in this release" marks come from comparing it with the previous release's file, which they don't repeat. Add --format sarif for SARIF output. Add --llm (with an API key in the environment) to include the LLM review.

cargo install disclude --version 4.3.0
curl -fsSL -o pycryptodome-4.2.0.tar.gz https://files.pythonhosted.org/packages/33/c7/f9374c8939560ab22db1dd9dbe215b62d20f32634aeb7f259dc03c807b44/pycryptodome-4.2.0.tar.gz
printf '%s  %s\n' 21d7fdba239d6ef863d3d08388801c683453a3bb4897c2b27f27847aad89bdf7 pycryptodome-4.2.0.tar.gz | shasum -a 256 -c -
mkdir pkg && tar -xzf pycryptodome-4.2.0.tar.gz -C pkg --strip-components 1
disclude scan --untrusted --severity info pkg