From f25591580c7e4ed7e412398a2a221d263d85e21a Mon Sep 17 00:00:00 2001 From: Lorenzo Blasa Date: Fri, 26 May 2023 08:02:12 -0700 Subject: [PATCH] Track insecure connection attempts Summary: Same as previous diff but for plain socket. Reviewed By: antonk52 Differential Revision: D46220933 fbshipit-source-id: 235ca860891b8514dd0d743d32fe85f15a2cdd7e --- desktop/flipper-server-core/src/comms/ServerController.tsx | 4 +++- desktop/flipper-server-core/src/utils/tracker.tsx | 3 ++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/desktop/flipper-server-core/src/comms/ServerController.tsx b/desktop/flipper-server-core/src/comms/ServerController.tsx index b61a0a0d7..79c09baac 100644 --- a/desktop/flipper-server-core/src/comms/ServerController.tsx +++ b/desktop/flipper-server-core/src/comms/ServerController.tsx @@ -277,13 +277,15 @@ export class ServerController } onConnectionAttempt(clientQuery: ClientQuery): void { - // TODO: track plain connection attempt. const strippedClientQuery = (({device_id, ...o}) => o)(clientQuery); const id = buildClientId({device_id: 'unknown', ...strippedClientQuery}); this.timestamps.set(id, { insecureStart: Date.now(), }); this.logger.track('usage', 'untrusted-request-handler-called', clientQuery); + + tracker.track('app-connection-insecure-attempt', clientQuery); + this.connectionTracker.logConnectionAttempt(clientQuery); const client: UninitializedClient = { diff --git a/desktop/flipper-server-core/src/utils/tracker.tsx b/desktop/flipper-server-core/src/utils/tracker.tsx index 1a8c38a4c..9cf1bbed5 100644 --- a/desktop/flipper-server-core/src/utils/tracker.tsx +++ b/desktop/flipper-server-core/src/utils/tracker.tsx @@ -14,7 +14,7 @@ type AppConnectionPayload = { os: string; device: string; device_id: string; - medium: number | undefined; + medium?: number | undefined; }; type TrackerEvents = { @@ -28,6 +28,7 @@ type TrackerEvents = { 'server-proxy-error': {error: string}; 'app-connection-created': AppConnectionPayload; 'app-connection-secure-attempt': AppConnectionPayload; + 'app-connection-insecure-attempt': AppConnectionPayload; }; class ServerCoreTracker {