봇Bot은 소프트웨어 로봇Software Robot에서 유래된 단어로, 일반적으로 애플리케이션 로직, 데이터베이스, API로 구성되어 있습니다. 애플리케이션 로직은 봇 개발자가 작성한, 컴퓨터에서 실행 가능한 코드를 의미하고요. 데이터베이스는 봇이 작업을 수행하기 위해 사용하는 데이터를 뜻합니다. APIApplication Programming Interface는 두 소프트웨어가 서로 통신할 수 있게 하는 메커니즘입니다. 예를 들어, 우리는 날씨를 확인하기 위해 스마트폰에서 날씨 앱을 실행하는데요. 그런데 날씨 정보는 사실 스마트폰에 있는 게 아니라 기상청의 컴퓨터 프로그램에 저장되어 있거든요. 여기서 API가 기상청의 시스템과 날씨 앱을 연결하여 스마트폰에 날씨 정보가 표시되도록 해 줍니다. 따라서 봇이 API를 사용하면 봇 개발자가 매번 코드를 작성할 필요 없이 봇이 필요할 때마다 API를 통해 외부 시스템과 연결해 정보를 얻을 수 있게 됩니다.
봇이라는 한 음절의 단어는 생소할 수 있지만 챗봇Chatbot은 들어보셨고 이미 경험해 보셨을 텐데요. 온라인 쇼핑몰이나 은행, 여행사 홈페이지에서 1:1 대화를 하며 상품을 설명하거나 예약 관리를 도와주는 프로그램들이 바로 챗봇이지요. 이처럼 챗봇은 봇의 한 유형으로, 사전 프로그래밍된 응답을 통해 사용자와 대화를 나누도록 설계된 프로그램입니다.
한편, 챗봇 외에도 다양한 종류의 봇이 존재하는데요. 크롤러Crawler는 ‘검색엔진 봇’으로 검색엔진에서 무엇을 검색을 하면 크롤러가 관련 웹 페이지를 방문해 데이터를 추출해 와서 다양한 결과를 보여줍니다. 또한 시리Siri나 빅스비Bixby처럼 개인 비서 역할을 하는 봇도 있고요. 컴퓨터와 체스 같은 온라인 게임을 할 때 등장하는 컴퓨터 플레이어들도 봇입니다. 하지만 이렇게 유익한 봇들만 있는 것은 아닙니다. 타인의 데이터를 훔치거나 사용자 계정에 침입하는 등 악의적인 활동을 하는 봇들도 많은데요. 자동으로 스팸 메시지를 보내는 ‘스팸 봇’도 있고요. 광고 사기에 사용되는 ‘클릭 사기 봇’도 있습니다. 예를 들어 웹사이트 운영자가 자신의 웹사이트에 게시된 PPCPay-per-click, 누군가 광고를 클릭할 때마다 광고주가 요금을 지불하는 모델 광고에 봇을 이용해 반복적으로 클릭을 실행하는 것이지요. 광고가 클릭될 때마다 광고주가 사이트 운영자에게 요금을 내는 구조를 악용하는 경우이고요. 또한 특정 게시물이나 댓글에 ‘좋아요’ 또는 ‘반대’를 반복적으로 클릭해 여론을 주도할 때도 클릭 사기 봇이 사용됩니다. ‘소셜 미디어 봇’도 부정적인 방식으로 많이 사용되는데요. 소셜 미디어에서 인간 사용자처럼 계정을 이용해 특정 여론을 조성하는 데 사용됩니다.