Skip to content

disarmBot is a bot that uses the AG2 framework to automatically create multiple LLM Agents, discuss about disinformation, and respond to users.

Notifications You must be signed in to change notification settings

ultra-supara/disarmBot

Repository files navigation

disarmBot

Image

Image

Abstract

disarmBot is a bot that uses AG2 (Formerly AutoGen), an OSS AI agent framework to create multiple AI Agents , automatically generate arguments about false information based on MITRE ATT&CK strategies drawn from RAG technology, and then return conclusions to the user. The bot automatically generates arguments about disinformation based on the MITRE ATT&CK strategy drawn from RAG technology and returns conclusions to the user.

Japanese, English, and Chinese are supported.

The framework for countermeasures against disinformation, the DISARM Disinformation TTP Framework ,which is a framework for countermeasures against disinformation.

Image

Demonstration Movie

YouTube Video

Presentation

[JSAC 2025 LT] Introduction to MITRE ATT&CK utilization tools by multiple LLM agents and RAG

what is aim for?

disarmBot is a bot that can be deployed on Discord. Multiple LLM agents (mainly GPT-4) are automatically launched and respond when a user enters a command. It is also based on the DISARM (Disinformation Analysis and Response Measures) TTP Frameworks, and DISARM is based on MITRE ATT&CK, the “theory” of CTI. In other words, these are measures for practical CTI utilization by LLM from theory to public assistance.

LLM agents, who have learned several different tactics, cooperate with each other and work together to develop a tactical and technical dialogue based on the disinformation framework from the perspective of an attacker, defender, searchTheInternet, user, skeptics, solution architect, OSINT Specialist ,detective, clown and TheGeniusOfReasoning. Tactical and technical dialogues based on the disinformation framework will be conducted. Through the dialogues, agents discuss and deepen information with each other. disarmBot fulfills these requirements and provides an information environment that allows users to be exposed to a variety of opinions. This allows users to think for themselves and enhance their critical ability to digest information. Even if the assumed users' requirements are different positions and levels of abstraction, it is possible to optimize them individually and provide high-quality intelligence that meets the 4A (Accurate, Audience Focused, Actionable, and Adequate Timing) conditions in a proactive manner by breaking free from a defensive mindset.

【Image of 5+ AI Agents】

Image

【Image of Group Chat in AG2】

Image

使用技術


目次

  1. [File_Structure](#File Structure)
  2. [Installation_Method](#Installation Method)
  3. Preparation
  4. [Set_environment_variables](#Set environment variables)
  5. Troubleshooting
  6. [Special_Thanks!](#Special Thanks!)

File Structure

Project File Structure

.
├── README.md
├── bot.py               # disarm bot program
├── bot_ui_template.json # bot ui template
└── generated_pages      # DISARM Frameworksのデータ
    ├── actortypes
    ├── counters
    ├── detections_index.md
    ├── disarm_blue_framework.md
    ├── others...

Installation Method

  1. Create a virtual environment.
    Create a virtual environment with the following command

    python3 -m venv .venv
  2. Activate the virtual environment.
    Activate the virtual environment.

    • Bash:

      source ./.venv/bin/activate
    • Fish:

      . ./.venv/bin/activate.fish
  3. Install Dependent Packages.
    Install the required packages.

    pip install -r requirements.txt
  4. Get the OpenAI API (GPT-4) or azure API API keys - OpenAI API

  5. Run it. Choose Japanese, English or Chinese version and run it.

    dotenv run python3 bot.py ja # japanese version of disarm bot program
    dotenv run python3 bot.py en # english version of disarm bot program
    dotenv run python3 bot.py ch # chinese version of disarm bot program
  6. Confirm that it works on Discord.
    On Discord, type /discuss msg command and type your message in msg. Check if a thread is automatically created and the bot starts a conversation.


Preparation

  1. Create an environment variable file (.env).
    Create a .env file in the project folder and describe it as follows (for details, see [Setting Environment Variables](#Environment Variables)). When using OpenAI's API

    OPENAI_API_KEY=xxxxxxx
    DISCORD_TOKEN=xxxxxxx
    BASE_URL=https://xxxxxxxx.openai.azure.com/
    DEPLOYMENT=
    MODEL=gpt-4o-mini
    VERSION=2024-08-01-preview
    api_type=openai
    AUTOGEN_USE_DOCKER=0

---``


Set environment variables

Environment variable name Description How to get it
OPENAI_API_KEY API key for Azure Open AI Azure Open AI Studio
DISCORD_TOKEN Bot Token for Discord Discord Developer Portal
BASE_URL Azure endpoint URL Develop tab of Azure Open AI

Troubleshooting

.env file not found error

If the .env file does not exist, please create a file by referring to “[Set Environment Variables](#set environment variables)” above.

Other problems

  • Virtual environment does not start: Please check if the virtual environment is created correctly and recheck the path.
  • Dependent package installation error: Please check if requirements.txt is up-to-date and run pip install -r requirements.txt again.

Special Thanks!

Check out more projects built with AG2 at Build with AG2!

(top)

About

disarmBot is a bot that uses the AG2 framework to automatically create multiple LLM Agents, discuss about disinformation, and respond to users.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •