Why MC-Validator

MC-Validator is a project inspired by our experience playing modded Minecraft. Minecraft mods (which are executable files) can easily be used to spread malware, they also happen to be commonly sent and received without any verification. High profile malware has taken advantage of this in the past (see Fractureiser) meaning its very important to verify your mods before installing them, but due to the inconvenience, this is rarely ever done.

What is MC-Validator

MC-Validator is a simplistic, retro themed tool for validating minecraft modpacks. It utilises SHA hash sums to compare .jar files against lists of known mods. In one click, MC-Validator is able to provide users with the following information :

  • Whether the mod originates from a trusted platform
  • Whether the mod has been tampered with
  • The official file name (This prevents mods from masquerading as other mods)
  • A link to the original source of the mod file

Our goal is to make the Minecraft gaming community safer by providing the tooling verify files. Game security should be easy.

What makes MC-Validator tick?

MC-Validator is written primarily in Go, the rest is made in raw HTML, CSS, and JS. We avoided frameworks to keep the app fast and responsive. Go is responsible for receiving the zip file, hashing each .jar file, and using the modrinth api to reverse search each modfile. If it cannot be found the mod is flagged as unverified.

Challenges we ran into

This is our first hack, so there were many challenges. One of the main ones was processing the zip file in a secure fashion, it's very easy to mess that up. Additionally configuring the website frontend was rather difficult as neither of us does front end.

Accomplishments that we're proud of

The windows XP styling and theme. We did use a css library for some parts but it all came together quite well.

What we learned

How to collaborate together and develop a small webapp, as well as many quirks found in the go programming language.

What's next for MC-Validator

  • Integrate with other big mod providers such as curseforge to provide a bigger database of known mods
  • Create a native app to avoid spending unnecessary bandwidth
Share this project:

Updates