👩💻️ 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!
You can also see some of what's possible with Seven from the introduction article here: Introducing Seven, a Discord Bot for Hack The Box Teams.
Looking for help deploying or troubleshooting your own Seven instance? Please join and I or another community member can try to help with anything Seven related (when time).
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