1. A computer system, comprising: a non-transitory memory storing instructions; and one or more hardware processors coupled to the non-transitory memory and configured to read the instructions from the non-transitory memory and to execute the instructions to cause the computer system to perform operations comprising: receiving user agent data from an application interacting with the computer system, the user agent data associating the application with a type of web browser application; categorizing the application as a web browser application based on analyzing the user agent data; issuing a web browser challenge to the application, the web browser challenge being selected based on the user agent data and testing web browser application behavior; receiving a response to the web browser challenge from the application; generating a reputation score for the application based on analyzing activity performed by the application, a determined correctness of the response to the web browser challenge, and the user agent data; determining that at least some of the activity performed by the application is scripted instead of being performed by a human based on analyzing the response to the web browser challenge and based on the generated reputation score; adjusting the categorizing of the application to identify the application as scripted based on the determining that at least some of the activity performed by the application is scripted; and classifying the application as one of an automated script or a semi-automated script based on the generated reputation score for the application, analyzing the activity performed by the application, and one or more web browser plug-ins associated with the application.