Skip to content

chore(iast): optimize iast by migrating should_iast_patch function to c #12774

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 88 commits into from
Mar 24, 2025
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
88 commits
Select commit Hold shift + click to select a range
b357781
ci(iast): startup microbenchmark
avara1986 Mar 5, 2025
7a1792e
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 5, 2025
daa97ec
ci(iast): startup microbenchmark
avara1986 Mar 5, 2025
4b4ec21
ci(iast): startup microbenchmark
avara1986 Mar 5, 2025
31e0662
ci(iast): startup microbenchmark
avara1986 Mar 5, 2025
02625eb
ci(iast): startup microbenchmark
avara1986 Mar 5, 2025
831d248
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 6, 2025
14bae71
ci(iast): startup microbenchmark
avara1986 Mar 6, 2025
8a3141e
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 6, 2025
ee7daf8
ci(iast): startup microbenchmark
avara1986 Mar 7, 2025
e071f0b
ci(iast): startup microbenchmark
avara1986 Mar 7, 2025
713146c
ci(iast): startup microbenchmark
avara1986 Mar 10, 2025
39ac1e6
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 10, 2025
2c2ecf1
ci(iast): startup microbenchmark
avara1986 Mar 10, 2025
51cc3ae
ci(iast): startup microbenchmark
avara1986 Mar 11, 2025
735fc40
ci(iast): startup microbenchmark
avara1986 Mar 11, 2025
c7c6cc0
ci(iast): startup microbenchmark
avara1986 Mar 11, 2025
047e6a6
ci(iast): startup microbenchmark
avara1986 Mar 11, 2025
42f0730
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 11, 2025
0b709ba
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
7b90113
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
2cdbd7a
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
85473c7
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
645cdda
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
2c5f7ae
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 12, 2025
2cfc1ab
chore: cherry-pick 23db95730b630c05f95445a067807865fd0be2c8
avara1986 Mar 12, 2025
d296358
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
9f87847
chore(iast): split wrapped_view hook
avara1986 Mar 12, 2025
054ee16
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
221cd12
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
94d2685
ci(iast): startup microbenchmark
avara1986 Mar 12, 2025
a9b2d7d
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 13, 2025
0e2ad0f
ci(iast): startup microbenchmark
avara1986 Mar 13, 2025
c703a27
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 14, 2025
5f8faec
ci(iast): startup microbenchmark
avara1986 Mar 14, 2025
7a794ae
benchmark, enable scipy
avara1986 Mar 14, 2025
8591c4b
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 14, 2025
8516764
ci(iast): startup microbenchmark
avara1986 Mar 14, 2025
3b5ac02
cherry pick avara1986/refactor_iast_logs
avara1986 Mar 14, 2025
b78d484
chore(iast): improve iast logs
avara1986 Mar 14, 2025
442b675
add more benchmark scenarios
avara1986 Mar 14, 2025
6ceab1a
add more benchmark scenarios
avara1986 Mar 14, 2025
23912cc
typo
avara1986 Mar 14, 2025
1c660bf
fix typo
avara1986 Mar 14, 2025
7c5738c
Update GenericUtils.cpp
avara1986 Mar 14, 2025
544d366
update scenario timeout
avara1986 Mar 14, 2025
d419418
migrate format and modulo to f-strings
avara1986 Mar 14, 2025
0777e63
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 14, 2025
704ef4c
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 14, 2025
a2fa32d
fix ast_patching tests
avara1986 Mar 14, 2025
ac17c8c
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 16, 2025
072d3b4
chore(iast): refactor open/read wrapping
avara1986 Mar 17, 2025
2e1f7b1
chore(iast): refactor open/read wrapping
avara1986 Mar 17, 2025
44f7978
chore(iast): refactor open/read wrapping
avara1986 Mar 17, 2025
6005ce1
fix tests
avara1986 Mar 17, 2025
7aeda3c
fix tests
avara1986 Mar 17, 2025
67f8b94
Merge branch 'avara1986/APPSEC-53388-move_open_read_to_ast' into avar…
avara1986 Mar 17, 2025
6a07511
Merge branch 'main' into avara1986/APPSEC-53388-move_open_read_to_ast
avara1986 Mar 17, 2025
075b24d
Merge branch 'main' into avara1986/APPSEC-53388-move_open_read_to_ast
avara1986 Mar 17, 2025
f9bce21
fix tests
avara1986 Mar 17, 2025
a7a14aa
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 18, 2025
614853a
Merge branch 'avara1986/APPSEC-53388-move_open_read_to_ast' into avar…
avara1986 Mar 18, 2025
993da82
Merge branch 'main' into avara1986/APPSEC-56907-iast_startup_time
avara1986 Mar 18, 2025
6cf9946
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 18, 2025
1e31c8a
migrate _should_iast_patch to Clang
avara1986 Mar 18, 2025
87d164a
migrate _should_iast_patch to Clang refactor
avara1986 Mar 19, 2025
dd21d04
migrate _should_iast_patch to Clang refactor
avara1986 Mar 19, 2025
dbb3378
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 20, 2025
1c8c828
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
8dcefe3
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
621093d
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
1885a0c
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
707525c
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
b3299de
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
89374f2
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 20, 2025
120a5d3
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
ba81d60
migrate _should_iast_patch to Clang refactor
avara1986 Mar 20, 2025
add1a63
fix test packages
avara1986 Mar 21, 2025
77b7dd1
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 21, 2025
4fb6a74
fix test packages
avara1986 Mar 21, 2025
71b267d
revert PyEval_EvalCode changes
avara1986 Mar 21, 2025
93ccee6
add iastpatch.c extra validations
avara1986 Mar 21, 2025
b8b577e
add iastpatch.c extra validations
avara1986 Mar 21, 2025
85d2158
fix typo
avara1986 Mar 21, 2025
4c40b19
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 21, 2025
4d2e5c7
add iastpatch.c extra validations
avara1986 Mar 21, 2025
0709cbf
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 21, 2025
8d94c07
Merge branch 'main' into avara1986/APPSEC-56907-iast_improvements
avara1986 Mar 24, 2025
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 0 additions & 5 deletions ddtrace/appsec/_iast/__init__.py
Original file line number Diff line number Diff line change
Expand Up @@ -92,11 +92,6 @@ def enable_iast_propagation():
global _iast_propagation_enabled
if _iast_propagation_enabled:
return
# We need to preload the package_distributions because if we call importlib_metadata inside a module hook
# it raises a circular-import
from ddtrace.internal.packages import get_package_distributions

get_package_distributions()

log.debug("iast::instrumentation::starting IAST")
ModuleWatchdog.register_pre_exec_module_hook(_should_iast_patch, _exec_iast_patched_module)
Expand Down
12 changes: 12 additions & 0 deletions ddtrace/appsec/_iast/_ast/CMakeLists.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
cmake_minimum_required(VERSION 3.10)
project(iastpatch C)

find_package(Python3 REQUIRED COMPONENTS Development)

add_library(iastpatch MODULE iastpatch.c)

target_include_directories(iastpatch PRIVATE ${Python3_INCLUDE_DIRS})

target_link_libraries(iastpatch PRIVATE ${Python3_LIBRARIES})

set_target_properties(iastpatch PROPERTIES LIBRARY_OUTPUT_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}")
Loading
Loading