|
3 | 3 | from typing import TYPE_CHECKING |
4 | 4 |
|
5 | 5 | from ddtrace.appsec.iast import oce |
| 6 | +from ddtrace.appsec.iast._patch import try_wrap_function_wrapper |
6 | 7 | from ddtrace.appsec.iast.constants import EVIDENCE_ALGORITHM_TYPE |
7 | 8 | from ddtrace.appsec.iast.constants import VULN_INSECURE_HASHING_TYPE |
8 | 9 | from ddtrace.appsec.iast.taint_sinks._base import VulnerabilityBase |
9 | | -from ddtrace.appsec.iast.taint_sinks._base import _wrap_function_wrapper_exception |
10 | 10 | from ddtrace.internal.logger import get_logger |
11 | 11 |
|
12 | 12 |
|
@@ -37,22 +37,22 @@ def patch(): |
37 | 37 | setattr(hashlib, "_datadog_patch", True) |
38 | 38 |
|
39 | 39 | if sys.version_info >= (3, 0, 0): |
40 | | - _wrap_function_wrapper_exception("_hashlib", "HASH.digest", wrapped_digest_function) |
41 | | - _wrap_function_wrapper_exception("_hashlib", "HASH.hexdigest", wrapped_digest_function) |
42 | | - _wrap_function_wrapper_exception(("_%s" % MD5_DEF), "MD5Type.digest", wrapped_md5_function) |
43 | | - _wrap_function_wrapper_exception(("_%s" % MD5_DEF), "MD5Type.hexdigest", wrapped_md5_function) |
44 | | - _wrap_function_wrapper_exception(("_%s" % SHA1_DEF), "SHA1Type.digest", wrapped_sha1_function) |
45 | | - _wrap_function_wrapper_exception(("_%s" % SHA1_DEF), "SHA1Type.hexdigest", wrapped_sha1_function) |
| 40 | + try_wrap_function_wrapper("_hashlib", "HASH.digest", wrapped_digest_function) |
| 41 | + try_wrap_function_wrapper("_hashlib", "HASH.hexdigest", wrapped_digest_function) |
| 42 | + try_wrap_function_wrapper(("_%s" % MD5_DEF), "MD5Type.digest", wrapped_md5_function) |
| 43 | + try_wrap_function_wrapper(("_%s" % MD5_DEF), "MD5Type.hexdigest", wrapped_md5_function) |
| 44 | + try_wrap_function_wrapper(("_%s" % SHA1_DEF), "SHA1Type.digest", wrapped_sha1_function) |
| 45 | + try_wrap_function_wrapper(("_%s" % SHA1_DEF), "SHA1Type.hexdigest", wrapped_sha1_function) |
46 | 46 | else: |
47 | | - _wrap_function_wrapper_exception("hashlib", MD5_DEF, wrapped_md5_function) |
48 | | - _wrap_function_wrapper_exception("hashlib", SHA1_DEF, wrapped_sha1_function) |
49 | | - _wrap_function_wrapper_exception("hashlib", "new", wrapped_new_function) |
| 47 | + try_wrap_function_wrapper("hashlib", MD5_DEF, wrapped_md5_function) |
| 48 | + try_wrap_function_wrapper("hashlib", SHA1_DEF, wrapped_sha1_function) |
| 49 | + try_wrap_function_wrapper("hashlib", "new", wrapped_new_function) |
50 | 50 |
|
51 | 51 | # pycryptodome methods |
52 | | - _wrap_function_wrapper_exception("Crypto.Hash.MD5", "MD5Hash.digest", wrapped_md5_function) |
53 | | - _wrap_function_wrapper_exception("Crypto.Hash.MD5", "MD5Hash.hexdigest", wrapped_md5_function) |
54 | | - _wrap_function_wrapper_exception("Crypto.Hash.SHA1", "SHA1Hash.digest", wrapped_sha1_function) |
55 | | - _wrap_function_wrapper_exception("Crypto.Hash.SHA1", "SHA1Hash.hexdigest", wrapped_sha1_function) |
| 52 | + try_wrap_function_wrapper("Crypto.Hash.MD5", "MD5Hash.digest", wrapped_md5_function) |
| 53 | + try_wrap_function_wrapper("Crypto.Hash.MD5", "MD5Hash.hexdigest", wrapped_md5_function) |
| 54 | + try_wrap_function_wrapper("Crypto.Hash.SHA1", "SHA1Hash.digest", wrapped_sha1_function) |
| 55 | + try_wrap_function_wrapper("Crypto.Hash.SHA1", "SHA1Hash.hexdigest", wrapped_sha1_function) |
56 | 56 |
|
57 | 57 |
|
58 | 58 | @WeakHash.wrap |
|
0 commit comments