DETECTING SCRIPTED OR OTHERWISE ANOMALOUS INTERACTIONS WITH SOCIAL MEDIA PLATFORM
A computer system receives an account creation request for a social media platform created and sent using a frontend component. An application programming interface (API) call sequence associated with the account creation request is received from the frontend component. The API call sequence can reflect API calls registered by the frontend component in connection with creation of the account creation request, and timings of the registered API calls. An API call sequence model is applied to the API call sequence. The API call sequence model can be generated by providing training API call sequences to a machine learning component. At least one action is taken in response to the application of the API call sequence model indicating that the API call sequence is anomalous. The action can be taken with regard to the account creation request, or with regard to an account created in response to the account creation request.
1 . A method comprising:
receiving, in a computer system, an account creation request for a social media platform, the account creation request created and sent to the computer system using a frontend component;
receiving, from the frontend component, an application programming interface (API) call sequence associated with the account creation request, the API call sequence reflecting API calls registered by the frontend component in connection with creation of the account creation request, and timings of the registered API calls;
applying an API call sequence model to the received API call sequence, the API call sequence model generated by providing training API call sequences to a machine learning component; and
in response to the application of the API call sequence model indicating that the received API call sequence is anomalous, taking at least one action with regard to the account creation request, or with regard to an account created in response to the account creation request.
2 . The method of claim 1 , wherein applying the API call sequence model comprises an evaluation of whether the received API call sequence is missing a particular API call of the frontend component.
3 . The method of claim 2 , wherein some of the training API call sequences correspond to valid account creation requests and others of the training API call sequences correspond to invalid account creation requests, and wherein the particular API call is identified for use in the evaluation based on the particular API call having a greater frequency of occurrence for the valid account creation requests than for the invalid account creation requests.
4 . The method of claim 2 , further comprising, in response to determining that the received API call sequence is missing the particular API call of the frontend component, evaluating whether the received API call sequence is missing another particular API call of the frontend component.
5 . The method of claim 1 , wherein applying the API call sequence model comprises evaluating the timing of the API calls.
6 . The method of claim 5 , wherein evaluating the timing of the API calls comprises determining whether a temporal separation of the API calls is less than a threshold.
7 . The method of claim 5 , wherein evaluating the timing of the API calls comprises determining whether a temporal separation of the API calls is randomized.
8 . The method of claim 1 , wherein applying the API call sequence model comprises counting the API calls in the received API call sequence.
9 . The method of claim 1 , wherein multiple API call sequences are received, the multiple API call sequences corresponding to respective account creation requests, the method further comprising storing the received API call sequences in a log, and evaluating the log to determine whether any of the received API call sequences are essentially identical to each other.
10 . The method of claim 1 , wherein the account is created in response to the account creation request, the method further comprising:
receiving engagement data regarding the account, the engagement data reflecting use of the frontend component to interact with the social media platform;
applying an engagement model to the received engagement data, the engagement model generated by providing training engagement data to the machine learning component; and
in response to the application of the engagement model indicating that the use of the frontend component is anomalous, taking at least one action with regard to the account.
11 . The method of claim 1 , wherein applying the API call sequence model comprises determining a score for the received API call sequence, wherein the application of the API call sequence model indicates that the received API call sequence is anomalous in response to the determined score not meeting a threshold for account creation normalcy.
12 . The method of claim 1 , wherein the connection between the API calls and the creation of the account creation request comprises that at least one of the API calls was registered by the frontend component during a predefined period of time after the account generation request was generated.
13 . The method of claim 1 , wherein taking the at least one action comprises attempting to contact a person associated with the account generation request, and determining whether the account generation request was generated by a script interacting with the frontend component.
14 . The method of claim 1 , further comprising:
receiving additional training API call sequences after applying the API call sequence model to the received API call sequence;
generating an updated API call sequence model by providing the additional training API call sequences to the machine learning component;
receiving another account creation request for the social media platform after generating the updated API call sequence model;
applying the updated API call sequence model to the received other API call sequence; and
in response to the application of the updated API call sequence model indicating that the received other API call sequence is anomalous, taking at least one action with regard to the other account creation request, or with regard to an other account created in response to the other account creation request.
15 . The method of claim 14 , further comprising applying the updated API call sequence model to a previous account creation request, including at least the received account creation request.
16 . A non-transitory computer-readable storage medium having stored therein instructions that when executed cause at least one processor to perform operations including:
receiving, in a computer system, an account creation request for a social media platform, the account creation request created and sent to the computer system using a frontend component;
receiving, from the frontend component, an application programming interface (API) call sequence associated with the account creation request, the API call sequence reflecting API calls registered by the frontend component in connection with creation of the account creation request, and timings of the registered API calls;
applying an API call sequence model to the received API call sequence, the API call sequence model generated by providing training API call sequences to a machine learning component; and
in response to the application of the API call sequence model indicating that the received API call sequence is anomalous, taking at least one action with regard to the account creation request, or with regard to an account created in response to the account creation request.
17 . A computer system comprising:
an interface configured to receive an account creation request for a social media platform, the account creation request created and sent to the computer system using a frontend component, the interface also configured to receive an application programming interface (API) call sequence associated with the account creation request, the API call sequence reflecting API calls registered by the frontend component in connection with creation of the account creation request, and timings of the registered API calls;
a log in which the computer system records received API call sequences; and
a bot configured to apply an API call sequence model to at least the received API call sequence record in the log, the API call sequence model generated by providing training API call sequences to a machine learning component, wherein in response to the bot indicating that the received API call sequence is anomalous, the computer system takes at least one action with regard to the account creation request, or with regard to an account created in response to the account creation request.
18 . The computer system of claim 17 , wherein in applying the API call sequence model the bot evaluates the timing of the API calls.
19 . The computer system of claim 18 , wherein in evaluating the timing of the API calls the bot determines whether a temporal separation of the API calls is less than a threshold.
20 . The computer system of claim 18 , wherein in evaluating the timing of the API calls the bot determines whether a temporal separation of the API calls is randomized.