@@ -27,14 +27,8 @@ public static void beforeStart(@CallSite.Argument @Nullable final String command
27
27
@ CallSite .Before ("java.lang.Process java.lang.Runtime.exec(java.lang.String[])" )
28
28
public static void beforeExec (@ CallSite .Argument @ Nullable final String [] cmdArray ) {
29
29
if (cmdArray != null && cmdArray .length > 0 ) { // runtime fails if null or empty
30
- final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
31
- if (module != null ) {
32
- try {
33
- module .onRuntimeExec (cmdArray );
34
- } catch (final Throwable e ) {
35
- module .onUnexpectedException ("beforeExec threw" , e );
36
- }
37
- }
30
+ iastCallback (cmdArray );
31
+ raspCallback (cmdArray );
38
32
}
39
33
}
40
34
@@ -43,14 +37,8 @@ public static void beforeExec(
43
37
@ CallSite .Argument @ Nullable final String command ,
44
38
@ CallSite .Argument @ Nullable final String [] envp ) {
45
39
if (command != null ) { // runtime fails if null
46
- final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
47
- if (module != null ) {
48
- try {
49
- module .onRuntimeExec (envp , command );
50
- } catch (final Throwable e ) {
51
- module .onUnexpectedException ("beforeExec threw" , e );
52
- }
53
- }
40
+ iastCallback (envp , command );
41
+ raspCallback (command );
54
42
}
55
43
}
56
44
@@ -60,14 +48,8 @@ public static void beforeExec(
60
48
@ CallSite .Argument @ Nullable final String [] cmdArray ,
61
49
@ CallSite .Argument @ Nullable final String [] envp ) {
62
50
if (cmdArray != null && cmdArray .length > 0 ) { // runtime fails if null or empty
63
- final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
64
- if (module != null ) {
65
- try {
66
- module .onRuntimeExec (envp , cmdArray );
67
- } catch (final Throwable e ) {
68
- module .onUnexpectedException ("beforeExec threw" , e );
69
- }
70
- }
51
+ iastCallback (envp , cmdArray );
52
+ raspCallback (cmdArray );
71
53
}
72
54
}
73
55
@@ -78,14 +60,8 @@ public static void beforeExec(
78
60
@ CallSite .Argument @ Nullable final String [] envp ,
79
61
@ CallSite .Argument @ Nullable final File dir ) {
80
62
if (command != null ) { // runtime fails if null
81
- final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
82
- if (module != null ) {
83
- try {
84
- module .onRuntimeExec (envp , command );
85
- } catch (final Throwable e ) {
86
- module .onUnexpectedException ("beforeExec threw" , e );
87
- }
88
- }
63
+ iastCallback (envp , command );
64
+ raspCallback (command );
89
65
}
90
66
}
91
67
@@ -96,14 +72,8 @@ public static void beforeExec(
96
72
@ CallSite .Argument @ Nullable final String [] envp ,
97
73
@ CallSite .Argument @ Nullable final File dir ) {
98
74
if (cmdArray != null && cmdArray .length > 0 ) { // runtime fails if null or empty
99
- final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
100
- if (module != null ) {
101
- try {
102
- module .onRuntimeExec (envp , cmdArray );
103
- } catch (final Throwable e ) {
104
- module .onUnexpectedException ("beforeExec threw" , e );
105
- }
106
- }
75
+ iastCallback (envp , cmdArray );
76
+ raspCallback (cmdArray );
107
77
}
108
78
}
109
79
@@ -113,12 +83,49 @@ private static void iastCallback(String command) {
113
83
try {
114
84
module .onRuntimeExec (command );
115
85
} catch (final Throwable e ) {
116
- module .onUnexpectedException ("beforeExec threw" , e );
86
+ module .onUnexpectedException ("iastCallback threw" , e );
87
+ }
88
+ }
89
+ }
90
+
91
+ private static void iastCallback (String [] cmdArray ) {
92
+ final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
93
+ if (module != null ) {
94
+ try {
95
+ module .onRuntimeExec (cmdArray );
96
+ } catch (final Throwable e ) {
97
+ module .onUnexpectedException ("iastCallback threw" , e );
98
+ }
99
+ }
100
+ }
101
+
102
+ private static void iastCallback (String [] envp , String command ) {
103
+ final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
104
+ if (module != null ) {
105
+ try {
106
+ module .onRuntimeExec (envp , command );
107
+ } catch (final Throwable e ) {
108
+ module .onUnexpectedException ("iastCallback threw" , e );
109
+ }
110
+ }
111
+ }
112
+
113
+ private static void iastCallback (String [] envp , String [] cmdArray ) {
114
+ final CommandInjectionModule module = InstrumentationBridge .COMMAND_INJECTION ;
115
+ if (module != null ) {
116
+ try {
117
+ module .onRuntimeExec (envp , cmdArray );
118
+ } catch (final Throwable e ) {
119
+ module .onUnexpectedException ("iastCallback threw" , e );
117
120
}
118
121
}
119
122
}
120
123
121
124
private static void raspCallback (String command ) {
122
125
ShellCmdRaspHelper .INSTANCE .beforeShellCmd (command );
123
126
}
127
+
128
+ private static void raspCallback (String [] cmdArray ) {
129
+ ShellCmdRaspHelper .INSTANCE .beforeShellCmd (cmdArray );
130
+ }
124
131
}
0 commit comments