Skip to content

Commit

Permalink
Add PROPAGATED_APPSEC tag on request end if there is an event and on …
Browse files Browse the repository at this point in the history
…user event tracking (#7262)

What Does This Do
Add appsec propagation tag:

On appsec user event tracking
On appsec request end (this is necessary as we can't guarantee right now that the span is available when the event is detected)
Additional notes
JIRA: APPSEC-10459
  • Loading branch information
jandro996 committed Jul 1, 2024
1 parent 833a988 commit 157d7a4
Show file tree
Hide file tree
Showing 3 changed files with 5 additions and 0 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -76,6 +76,7 @@ public void onSignup(String userId, Map<String, String> metadata) {
private void onEvent(@Nonnull TraceSegment segment, String eventName, Map<String, String> tags) {
segment.setTagTop("appsec.events." + eventName + ".track", true, true);
segment.setTagTop(Tags.ASM_KEEP, true);
segment.setTagTop(Tags.PROPAGATED_APPSEC, true);

// Report user event tracking mode ("safe" or "extended")
UserEventTrackingMode mode = Config.get().getAppSecUserEventsTrackingMode();
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -37,6 +37,7 @@ class AppSecUserEventDecoratorTest extends DDSpecification {
1 * traceSegment.setTagTop('_dd.appsec.events.users.signup.auto.mode', mode)
1 * traceSegment.setTagTop('appsec.events.users.signup.track', true, true)
1 * traceSegment.setTagTop('asm.keep', true)
1 * traceSegment.setTagTop('_dd.p.appsec', true)
if (setUser) {
1 * traceSegment.setTagTop('usr.id', user)
}
Expand Down Expand Up @@ -65,6 +66,7 @@ class AppSecUserEventDecoratorTest extends DDSpecification {
1 * traceSegment.setTagTop('_dd.appsec.events.users.login.success.auto.mode', mode)
1 * traceSegment.setTagTop('appsec.events.users.login.success.track', true, true)
1 * traceSegment.setTagTop('asm.keep', true)
1 * traceSegment.setTagTop('_dd.p.appsec', true)
if (setUser) {
1 * traceSegment.setTagTop('usr.id', user)
}
Expand Down Expand Up @@ -93,6 +95,7 @@ class AppSecUserEventDecoratorTest extends DDSpecification {
1 * traceSegment.setTagTop('_dd.appsec.events.users.login.failure.auto.mode', mode)
1 * traceSegment.setTagTop('appsec.events.users.login.failure.track', true, true)
1 * traceSegment.setTagTop('asm.keep', true)
1 * traceSegment.setTagTop('_dd.p.appsec', true)
if (setUser) {
1 * traceSegment.setTagTop('appsec.events.users.login.failure.usr.id', user)
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -142,6 +142,7 @@ public void init() {
if (!collectedEvents.isEmpty()) {
// Set asm keep in case that root span was not available when events are detected
traceSeg.setTagTop(Tags.ASM_KEEP, true);
traceSeg.setTagTop(Tags.PROPAGATED_APPSEC, true);
traceSeg.setTagTop("appsec.event", true);
traceSeg.setTagTop("network.client.ip", ctx.getPeerAddress());

Expand Down

0 comments on commit 157d7a4

Please sign in to comment.