Skip to content

Bifrost Integration Guide

Learn how to integrate AccuKnox Prompt Firewall with Bifrost using a custom plugin to monitor and filter prompts and responses via the AccuKnox API.

Important

Since this integration hooks into API calls, it currently only logs and categorizes prompts and responses (e.g., Prompt Injection, Toxic, Code) for observability. It does not actively block requests at this stage.

alt text

Step 1: Prerequisites

We expect you to have the bifrost-http binary in-place. You can download it from the Bifrost Releases.

This integration guide uses the bifrost-http binary to test the configuration. You can use this config with any Bifrost deployment method.

Step 2: Download AccuKnox Plugin

Download the latest AccuKnox plugin for Bifrost:

Using wget

wget https://github.com/accuknox/bifrost-accuknox-integration/releases/latest/download/accuknox-plugin.so

Using curl

curl -LO https://github.com/accuknox/bifrost-accuknox-integration/releases/latest/download/accuknox-plugin.so

Source Code

The plugin source code is available at github.com/accuknox/bifrost-accuknox-integration for reference.

Step 3: Configure Bifrost

Create or update your Bifrost configuration file with the following settings:

{
    "log_level": "debug",
    "server": {
      "port": 8080,
      "host": "0.0.0.0"
    },
    "plugins": [
      {
        "enabled": true,
        "name": "accuknox-logger",
        "path": "./accuknox-plugin.so",
        "config": {
          "enabled": true,
          "api_key": "<YOUR_ACCUKNOX_JWT_TOKEN>",
          "user_info": "<username@accuknox.com>"
        }
      }
    ],
    "providers": {
      "openai": {
        "keys": [
          {
            "value": "<YOUR_OPENAI_API_KEY>",
            "models": ["gpt-3.5-turbo"],
            "weight": 1.0
          }
        ]
      }
    }
}

Step 4: Configuration Details

Plugin Configuration

  • enabled: Set to true to activate the plugin
  • name: Plugin identifier (must match the name returned by GetName())
  • path: Path to the compiled .so file
  • api_key: Your AccuKnox Prompt Firewall JWT token (obtained from AccuKnox dashboard)
  • user_info: Your email or username for tracking

Provider Configuration

  • Add your LLM provider credentials (OpenAI, Anthropic, etc.)
  • Each key can be restricted to specific models
  • Use weight for load balancing across multiple keys

Step 5: Run Bifrost Server

Copy the Plugin

cp accuknox-plugin.so /path/to/bifrost/
cd /path/to/bifrost/

Start the Server

./bifrost-http -app-dir . -log-level debug -log-style pretty

Step 6: Test the Integration

Send a test request using curl:

curl -X POST http://localhost:8080/v1/chat/completions \
  -H "Content-Type: application/json" \
  -d '{
    "model": "openai/gpt-3.5-turbo",
    "messages": [{"role": "user", "content": "Say hello"}],
    "max_tokens": 50
  }'