ReconPal – Leveraging NLP For Infosec

Recon is one of the most important phases that seem easy but takes a lot of effort and skill to do right. One needs to know about the right tools, correct queries/syntax, run those queries, correlate the information, and sanitize the output. All of this might be easy for a seasoned infosec/recon professional to do, but for rest, it is still near to magic. How cool it will be to ask a simple question like “Find me an open Memcached server in Singapore with UDP support?” or “How many IP cameras in Singapore are using default credentials?” in a chat and get the answer?

The integration of GPT-3, deep learning-based language models to produce human-like text, with well-known recon tools like Shodan, is the foundation of ReconPal. ReconPal also supports using voice commands to execute popular exploits and perform reconnaissance.

Built With

  • OpenAI GPT-3
  • Shodan API
  • Speech-to-Text
  • Telegram Bot
  • Docker Containers
  • Python 3

Getting Started

To get ReconPal up and running, follow these simple steps.



  1. Clone the repogit clone
  2. Enter your OPENAI, SHODAN API keys, and TELEGRAM bot token in docker-compose.ymlOPENAI_API_KEY=<Your key>
    SHODAN_API_KEY=<Your key>
    TELEGRAM_BOT_TOKEN=<Your token>
  3. Start reconpaldocker-compose up


Open the telegram app and select the created bot to use ReconPal.

  1. Click on start or just type in the input box.
  1. Register the model.
  1. Test the tool with some commands.

Tool featured at


Jeswin Mathai, Senior Security Researcher, INE

Nishant Sharma, Security Research Manager, INE

Shantanu Kale, Cloud Developer, INE

Sherin Stephen, Cloud Developer, INE

Sarthak Saini (Ex-Pentester Academy)


For more details, refer to the “ReconPal.pdf” PDF file. This file contains the slide deck used for presentations.


Starting reconpal and registering model


Finder module in action


Scanner module in action


Attacker module in action


Voice Support



This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License v2 as published by the Free Software Foundation.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see