Scripts for making Hubot a CND Sidekick
CoffeeScript JavaScript Shell
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Build Status

This is Hubot VTR, a series of Hubot actions for making Hubot a Computer Network Defense badass. The goal of this project is to create a series of Hubot actions for OSINT collection, Network Forensics, System Forensics, Reverse Engineering and other Network Defense tasks.

I gave a presentation about Hubot VTR at BSidesDFW. Check out my slides.


First things first you'll need Node.js and NPM installed, after that setting up Hubot VTR using NPM is easy.

  1. npm install hubot-vtr-scripts

  2. Add "hubot-vtr-scripts": ">= 1.0.7" to the dependences list in your Hubot package.json.

  3. Add "hubot-vtr-scripts" into your external-dependencies.json script between the brackets.

You're done! Restart Hubot and you're good to go!

Environment Variables

Certain scripts require use of private APIs and these require API authentication keys. You set those as environment variables.

How you set these up may vary on your deployment method and operating system. For most Linux/OSX systems, you would do something like this from the command line:


If you're running your Hubot on Heroku, you would run this from your local command line where the Heroku tools are installed:


Community Scripts

Getting the recommended community scripts necessary requires adding the following lines into hubot-scripts.json:


VTR Scripts

Script Description
Code Name Generator Generates code names for being spooky
Geolocate IP Identify the physical location of an IP address
MyWOT Look up the reputation of a website
Pipl Look up OSINT on a users email address
Google Safebrowsing Look up Safebrowsing status of a URL
Reputation Links Generate links for Robtext, IP/URLVoid, etc
Reverse DNS Get the urls associated with an IP address
Shodan Search engine for server strings.
Short URL Expander Take a shortened URL and find out where it redirects to.
VirusTotal Hash, URLs, IP Addresses
Yara Generates template for creating Yara rules.
OpenDNS Accesses the OpenDNS Investigation graph.
PassiveTotal Access PassiveTotal passive DNS system.

Additional Optional Community Scripts

These scripts are not required, but you may find them useful for your team. They may require their own configuration.


Script Description Send messages to all chat rooms. Set your availability status so people know whether they're able to come over and chat with you or ping you over IM. Tracks when stuff is due. Returns title and description when links are posted. Uses to check if a site is up. Returns the latest news headlines from Google. Simple Python Package Index querying using XMLRPC API. Allows Hubot to send text messages using Twilio API.

Administrative Scripts

Script Description Show current Heroku status and issues. Return Hubot's external IP address (via Allows Hubot to (re)load scripts without restart. Allows hubot to update itself using git pull and npm update.


Script Description Base36 encoding and decoding. Base58 encoding and decoding. Base64 encoding and decoding.


From the root project directory run:

npm test

Special Thanks