69604deafd
Add MiniMax as a supported AI backend for Shannon pentesting via the Anthropic SDK compatibility layer. MiniMax uses ANTHROPIC_AUTH_TOKEN + ANTHROPIC_BASE_URL instead of ANTHROPIC_API_KEY. - Add MiniMax credential detection in SKILL.md and setup script - Add dedicated "Using MiniMax as AI Provider" section with setup guide - Update env var table with MiniMax-specific variables - Update frontmatter optionalEnv with new env vars Co-Authored-By: Paperclip <noreply@paperclip.ing>
66 lines
2.3 KiB
Bash
Executable File
66 lines
2.3 KiB
Bash
Executable File
#!/usr/bin/env bash
|
|
# setup-shannon.sh - Install or update Shannon pentester
|
|
# Usage: bash scripts/setup-shannon.sh [SHANNON_HOME]
|
|
set -euo pipefail
|
|
|
|
SHANNON_HOME="${1:-${SHANNON_HOME:-$HOME/shannon}}"
|
|
|
|
echo "🔐 Shannon Setup"
|
|
echo "━━━━━━━━━━━━━━━━"
|
|
|
|
# Check Docker
|
|
if ! command -v docker &>/dev/null; then
|
|
echo "❌ Docker is required but not installed."
|
|
echo " Install: https://docker.com/products/docker-desktop"
|
|
exit 1
|
|
fi
|
|
echo "✅ Docker: $(docker --version 2>/dev/null | head -1)"
|
|
|
|
# Check git
|
|
if ! command -v git &>/dev/null; then
|
|
echo "❌ Git is required but not installed."
|
|
exit 1
|
|
fi
|
|
echo "✅ Git: $(git --version)"
|
|
|
|
# Clone or update Shannon
|
|
if [ -d "$SHANNON_HOME" ] && [ -f "$SHANNON_HOME/shannon" ]; then
|
|
echo "✅ Shannon found at $SHANNON_HOME"
|
|
echo " Updating..."
|
|
cd "$SHANNON_HOME" && git pull --ff-only 2>/dev/null || echo " (already up to date or can't fast-forward)"
|
|
else
|
|
echo "📥 Cloning Shannon to $SHANNON_HOME..."
|
|
git clone https://github.com/KeygraphHQ/shannon.git "$SHANNON_HOME"
|
|
echo "✅ Shannon cloned successfully"
|
|
fi
|
|
|
|
# Check API credentials
|
|
echo ""
|
|
echo "API Credentials:"
|
|
if [ -n "${ANTHROPIC_API_KEY:-}" ]; then
|
|
echo "✅ ANTHROPIC_API_KEY is set"
|
|
elif [ -n "${ANTHROPIC_AUTH_TOKEN:-}" ] && [ -n "${ANTHROPIC_BASE_URL:-}" ]; then
|
|
echo "✅ MiniMax mode: ANTHROPIC_AUTH_TOKEN + ANTHROPIC_BASE_URL are set"
|
|
echo " Base URL: $ANTHROPIC_BASE_URL"
|
|
echo " Model: ${ANTHROPIC_MODEL:-MiniMax-M2.7}"
|
|
elif [ -n "${CLAUDE_CODE_OAUTH_TOKEN:-}" ]; then
|
|
echo "✅ CLAUDE_CODE_OAUTH_TOKEN is set"
|
|
elif [ "${CLAUDE_CODE_USE_BEDROCK:-}" = "1" ]; then
|
|
echo "✅ AWS Bedrock mode enabled"
|
|
elif [ "${CLAUDE_CODE_USE_VERTEX:-}" = "1" ]; then
|
|
echo "✅ Google Vertex AI mode enabled"
|
|
else
|
|
echo "⚠️ No AI credentials detected. Set one of:"
|
|
echo " export ANTHROPIC_API_KEY=sk-ant-..."
|
|
echo " export ANTHROPIC_AUTH_TOKEN=... + export ANTHROPIC_BASE_URL=https://api.minimax.io/anthropic (MiniMax)"
|
|
echo " export CLAUDE_CODE_OAUTH_TOKEN=..."
|
|
echo " export CLAUDE_CODE_USE_BEDROCK=1"
|
|
echo " export CLAUDE_CODE_USE_VERTEX=1"
|
|
fi
|
|
|
|
echo ""
|
|
echo "Recommended: export CLAUDE_CODE_MAX_OUTPUT_TOKENS=64000"
|
|
echo ""
|
|
echo "Shannon is ready at: $SHANNON_HOME"
|
|
echo "Run a pentest: cd $SHANNON_HOME && ./shannon start URL=http://localhost:3000 REPO=myapp"
|