A bot -- short for "robot" and also called an internet bot -- is a computer program that operates as an agent for a user or other program, or to simulate a human activity. Bots are normally used to automate certain tasks, meaning they can run without specific instructions from humans.
An organization or individual can use a bot to replace a repetitive task that a human would otherwise have to perform. Bots are also much faster at these tasks than humans.
How do bots work?
Normally, bots will operate over a network. Bots that can communicate with one another will use internet-based services to do so -- such as instant messaging, interfaces like Twitterbots or through Internet Relay Chat (IRC). In general, more than half of internet traffic is bots that interact with web pages, talk with users, scan for content and perform other tasks.
Bots are made from sets of algorithms which aid them in their designated tasks. Tasks bots can normally handle include conversing with a human -- which attempts to mimic human behaviors -- or gathering content from other websites. There are plenty of different types of bots designed differently to accomplish a wide variety of tasks.
As an example, a chatbot will operate on one of multiple methods of operation. A rule-based chatbot will interact with people by giving pre-defined prompts for the individual to select. An intellectually independent chatbot will make use of machine learning to learn from human inputs as well as watching out for known keywords. AI chatbots are a combination of rule-based and intellectually independent chatbots. Chatbots may also use pattern matching, natural language processing (NLP) and natural language generation (NLG) tools.
Organizations or individuals that make use of bots can also use bot management software, which includes software tools that aid in managing bots and protecting against malicious bots. Bot managers can be included as part of a web app security platform. A bot manager can be used to allow the use of some bots and block the use of others that might cause harm to a system. To do this, a bot manager will classify any incoming requests by humans and good bots and known malicious and unknown bots. Any suspect bot traffic is then directed away from a site by the bot manager. Some basic bot management feature sets include IP rate limiting and CAPTCHAs. IP rate limiting will limit the number of same-address-requests, while CAPTCHAs are used as a sort of puzzle to differentiate bots from humans.
Types of bots
There are numerous types of bots, all with unique goals and tasks. Some common bots include:
- A chatbot -- which is a program that can simulate talk with a human being. One of the first and most famous chatbots (prior to the web) was Eliza, a program that pretended to be a psychotherapist and answered questions with other questions.
- Social bots -- which are bots that operate on social media platforms.
- A shopbot -- which is a program that shops around the web on your behalf and locates the best price for a product you're looking for. There are also bots such as OpenSesame that observe a user's patterns in navigating a web site and customize the site for that user.
- A knowbot -- which is a program that collects knowledge for a user by automatically visiting Internet sites to retrieve information that meets certain specified criteria.
- Spiders or crawlers (also known as a web crawler) -- which are used to access web sites and gather their content for the indexes in search engines.
- Web scraping crawlers -- which are similar to crawlers but are used for data harvesting and extracting relevant content.
- Monitoring bots -- which can be used to monitor the health of a website or system.
- Transactional bots -- which can be used to complete transactions on behalf of a human.
Bots may also be classified as good bots and bad bots, or in other words, bots that will not harm the system and bots that pose threats and can harm the system.
Examples and uses of bots
Bots can be used in customer service fields as well as in areas like business, scheduling, search functionality and entertainment. Using a bot in each area brings different benefits. For example, in customer service, bots are available 24/7 and increase the availability of customer service employees, allowing them to focus on more complicated issues.
Red and Andrette were names of two early programs that could be customized to answer questions from users seeking service for a product. Such a program is sometimes called a virtual representative or a virtual agent.
Other services that use bots include:
- Instant messenger apps such as Facebook Messenger, WhatsApp and Slack;
- News apps such as the Wall Street Journal, to show news headlines;
- Spotify, which allows users to search for and share tracks via Facebook Messenger;
- Lyft, in which a user can request a ride from instant messenger apps; and
- Meeting scheduling services, such as X.ai.
Malicious bots are bots used to automate actions considered to be cybercrimes. Common types of malicious bots include:
- DoS or DDoS bots, which use an overwhelming number of bots to overload a server's resources and halting the service from operating.
- Spambots, which post promotional content to drive traffic to a specific website.
- Hackers, which are bots made to distribute malware and attack websites.
Other malicious bots include web crawlers, credential stuffing, email address harvesting and brute force password cracking. Organizations can stop malicious bots by using a bot manager.
Advantages and disadvantages
There are plenty of advantages that come with using bots as well as disadvantages, such as risks that other bots could propose. Some potential advantages of bots include:
- Faster than humans at repetitive tasks;
- Time saved for customers and clients;
- Available 24/7;
- Organizations can reach large numbers of people via messenger apps;
- Bots are customizable; and
- Improved user experience.
Some disadvantages include:
- Bots cannot be set to perform some exact tasks and they risk misunderstanding users.
- Humans are still necessary to manage the bots as well as to step in if one misinterprets another human.
- Bots can be made malicious by users.
- Bots can be used for spam.