👩💻️ If you enjoy Seven, feel free to show some love so I can create more projects like this!
An AI-powered Discord Bot for Hack The Box teams.
Seven is a semi-intelligent AI chatbot built with DialogFlow and Node.js, whose purpose is to make Hack The Box (hackthebox.com/) achievement data accessible and convenient within team Discord channels.
Seven can provide information about:
- Herself / her functionality (try asking
help
,what can you do for me
) - Machines and challenges (active, retired and unreleased)
- Ownage (e.g. which team members did what on HTB)
- Team members
- Team details
- Team global rank
- Team member leaderboard (top members)
Seven is super flexible and doesn't rely on templates or specific wordings to understand what users are asking for. However, here are some example queries:
"help" / "what can you do" / "user manual"
"Who did [boxname | challengename]", "Who did mantis"
"who rooted json last", "who can help me with Forest challenge"
"[boxname | challengename]", "[boxname] info" etc
"what's new", "what's fresh" /_ unreleased / latest box _/
"what challenges did [username] do" / "which boxes has [username] owned?"
"incomplete challenges for [username]" / "which boxes has [username] not finished yet?"
"who is [username]", "[username] info", "[username] ranking"
"has [username] rooted multimaster yet?", "Did [username] solve fuzzy"\
"team info", "who are [teamname]", "[teamname]"
"who is the team founder"
"how am I doing", "what is my rank?"
"team ranking", "how are we doing"/* team global rank */
"who's on top", "team leaders"/* group members */
"Where are you from?", "what rank are you", "what do you do for fun"
"What are you working on", "do you like water skiing", "what is 4+4"
"' UNION SELECT ..." ??? "sudo su", "can you help me hack the pentagon"
Seven cares about privacy and allows channel users to:
- associate or disassociate their Discord ID to their HTB account ID (enabling this makes achievement information more useful as users may have different handles on each platform.
- disallow (or re-allow) inclusion of their HTB data in bot responses
🚧 Check out my Medium article showing how to deploy Seven for your team / university! There is decent documentation for the codebase itself here, if you'd like to understand how it works or use some parts in your own project: Seven Docs
Some features / nice-to-haves that are under consideration:
- Add charts.js data support to generate pretty member / team stat charts
- Offer advice / memory jogs from RTFM for users LIKE: "stuck on [STAGE [privesc, recon, persistence ...]] with [TECHNOLOGY [linux, nodejs, sql server ...]]
- Answer questions invoking possibly long data (while respecting Discord embed limitations):
- "[teamname] members" (get member list, can be up into the hundreds depending on team)
- "machine list" (this returns around 250 results at time of writing)
- "all challenges" (same, around 150)
- Give info on self based on Discord association