Skip to content

kkrypt0nn/YARAcord

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

9 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

YARAcord

CI Badge Discord Server Badge Last Commit Badge Conventional Commits Badge

Caution

This project is under active development and is not yet ready for production use. I strongly advise not using it until a stable release is published. Contributions (especially the creation of rules) and feedback are welcome and appreciated once the core is complete.

🧬 Pattern-match your Discord defense

YARAcord is a novel Discord bot with advanced pattern-matching auto-moderation, built on concepts inspired by YARA - not just yet another "auto-mod" clone. It allows for fine-grained detection of malicious, spammy, or unwanted behavior using customizable matching rules, rather than static keyword lists or simplistic triggers.

Huge thanks to @evilsocket for giving this bot idea.

Getting Started

Installation

🚧 Installation instructions will be added once the bot reaches a usable development milestone.

For now, feel free to watch the repository or join the Discord server to stay updated.

Prerequisites

  • Go ≥ 1.24
  • A Discord bot token

Run Locally

git clone https://github.com/kkrypt0nn/YARAcord
cd YARAcord
go run .

Features

Coming soon!

TODOs

YARAcord will (hopefully) support:

  • Rule definitions (YARA-style syntax), some things that will be included:
    • Imports, depending if you want to match profiles, messages, etc.
    • Pre-defined matches, like those weird and spammy characters
      • The goal here would be to have a condition like 3 of $weird_spammy_characters
    • Rule tags (e.g. rule PhishingLink : Phishing Spam)
  • Multiple rules per file
  • Scanning of messages, user profiles, rate of messages, etc.
  • Regex string matching
  • Built-in wildcards
  • A GUI
    • To add, remove, deactivate and edit the rules
    • To run the bot super easily for local development

Rule example

Currently a rule may look like

rule PhishingLink
{
    meta:
        action = "alert"
        target = message.content
    strings:
        $link = "https://badsite.com" nocase
        $scam = "free nitro" nocase
    condition:
        $link and $scam
}

Documentation

Coming soon! Once the base rule engine and Discord integrations are complete, a documentation will be hosted in the docs/ folder and on a documentation website.

Troubleshooting

Issues are currently disabled while YARAcord is in active development and not ready for actual use.

Once a usable version is released, the issue tracker will be opened for bug reports, feature requests, and support. In the meantime, feel free to join the Discord Community to follow development updates or ask questions.

Contributing

Contributions are more than welcome, but please wait until we release a working beta or alpha version, then the issues will also be opened.

When it's time, please follow:

License

This bot was made with 💜 by Krypton and is under the AGPLv3 License.

About

🧬 Pattern-match your Discord defense

Resources

License

Code of conduct

Contributing

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

  •