Sandbox
@iammm0/secbot

Security automation workspace for TypeScript agents

Secbot combines a NestJS backend, an Ink terminal UI, and an MCP server into one security workflow workspace. It can run as a full terminal product, backend-only service, or MCP tool server, and it shares skills across the UI, CLI, REST API, and internal tools. It is built for authorized testing, research, and education only.

73 stars10 forksTypeScriptUpdated 10d ago
Who it's for

Builders who want their agent to run security workflows, manage shared skills, and expose tools through MCP.

What it delivers

You can run authorized security testing from a terminal workspace instead of stitching together separate tools and prompts.

What it does

Terminal product mode

Starts `secbot` as a terminal app that can spawn a local backend by default.

Backend-only service

Runs `secbot-server` when you want the NestJS API without the terminal UI.

MCP server mode

Runs `secbot-mcp` to expose the Secbot tool catalog over stdio MCP.

Shared skills layer

Lets you list, view, and create skills through TUI slash commands, CLI subcommands, REST endpoints, and internal tools.

Multi-agent workflow

Includes planning, tool execution, MCP bridging, and summarization in one workspace.

Security tool modules

Includes built-in tools for web, network, OSINT, defense, and reporting workflows.

External MCP calls

Uses the `mcp_call` tool to connect to and invoke other stdio MCP servers.

How to get it

  1. 1Run
    npm install -g ./opensec-secbot-2.0.0-b2.tgz
    secbot
  2. 2Run
    npx ./opensec-secbot-2.0.0-b2.tgz
  3. 3Run
    secbot
  4. 4Run
    secbot-server
  5. 5Run
    secbot-mcp
  6. 6Run
    # Recommended explicit service mode
    SECBOT_TUI_BACKEND=service SECBOT_API_URL=http://127.0.0.1:8000 secbot
    
    # Backward-compatible alias
    SECBOT_TUI_BACKEND=remote SECBOT_API_URL=http://127.0.0.1:8000 secbot

README

@opensec/secbot (TypeScript) — v2.0.0-b2

GitHub Release Node.js License

Secbot is an AI-powered TypeScript security automation workspace with a NestJS backend and an Ink-based terminal UI.

Security notice: this package is for authorized security testing, research, and education only. Do not run scans or exploitation tasks against targets without explicit permission.

Secbot demo

Product Lines

LineBranchReleasesNotes
v2 TypeScript productreleaseGitHub Releases (.tgz)Current product line — NestJS + Ink TUI
v1 Python stackpypi-releasev1.10.0+Legacy Python edition; maintained on pypi-release
Go experimentpure-goDemo / proof-of-concept only

Why This Package

  • End-to-end TypeScript architecture (NestJS + Ink + SQLite).
  • secbot binary that starts terminal UI with local spawned backend by default.
  • secbot-server binary for backend-only API scenarios.
  • secbot-mcp binary that exposes Secbot tools as a stdio MCP server.
  • Shared skills management across REST, TUI slash commands, CLI subcommands, and internal tools.
  • Multi-agent orchestration with planning, tool execution, MCP bridging, and summarization.
  • Built-in security tool modules for web, network, OSINT, defense, and reporting workflows.

Source-tree orchestration (contributors)

From the repository checkout, ChatService routes each turn through IntentRouter (single LLM classify), optionally ExploreAgent (ReAct with vuln_db_query / browser_session, no sensitive tools), then ContextAssemblerService + ContextStore under a per-model context budget. SSE events include intent_decision, explore_*, and context_usage for the TUI token meter. task_simple skips the planner; SummaryAgent runs only when needs_report is true. Contributor-oriented details live in CLAUDE.md; longer user docs: README_CN.md / README_EN.md.

Requirements

  • Node.js >= 24
  • npm >= 10 (recommended)
  • Optional: Ollama for local model serving

Install

Download the latest .tgz from GitHub Releases (currently v2.0.0-b2), then:

Global install (recommended)

npm install -g ./opensec-secbot-2.0.0-b2.tgz
secbot

One-off run

npx ./opensec-secbot-2.0.0-b2.tgz

Quick Start

1. Configure environment variables

Create a .env file in your working directory:

# Cloud model backend (recommended)
LLM_PROVIDER=deepseek
DEEPSEEK_API_KEY=sk-your-api-key
DEEPSEEK_MODEL=deepseek-chat

# Optional local backend (Ollama)
# LLM_PROVIDER=ollama
# OLLAMA_BASE_URL=http://localhost:11434
# OLLAMA_MODEL=llama3.2

# Optional: explore iterations, context debug SSE, adaptive replan, NVD rate limits
# SECBOT_EXPLORE_MAX_ITERS=12
# SECBOT_CONTEXT_DEBUG=1
# SECBOT_ADAPTIVE_REPLAN=false
# NVD_API_KEY=your-nvd-key

2. Start full product mode (backend + TUI)

secbot

3. Start backend only (optional)

secbot-server

4. Start MCP server mode (optional)

secbot-mcp

Set SECBOT_MCP_ALLOW_SENSITIVE=true only when you intentionally want MCP clients to see sensitive tools.

5. Attach to an existing backend (optional)

# Recommended explicit service mode
SECBOT_TUI_BACKEND=service SECBOT_API_URL=http://127.0.0.1:8000 secbot

# Backward-compatible alias
SECBOT_TUI_BACKEND=remote SECBOT_API_URL=http://127.0.0.1:8000 secbot

Package Binaries

BinaryDescription
secbotStart terminal UI (default: spawn local backend; optional service mode)
secbot-serverStart NestJS backend only
secbot-mcpExpose Secbot tools through stdio MCP

Skills Management

Secbot now exposes one shared skills layer for product and automation surfaces.

TUI slash commands

/skills
/skill <name>
/create-skill <name> [--description ...] [--trigger ...] [--tag ...] [--prerequisite ...] [--author ...]

CLI subcommands

secbot skills list
secbot skills view <name>
secbot skills create <name> --description "..." --trigger recon --tag web

REST endpoints

GET  /api/skills
GET  /api/skills/:name
POST /api/skills

Created skills are scaffolded under skills/custom/<slug>/SKILL.md and can also be reached through the internal list_skills, get_skill, and create_skill tools.

MCP Integration

Secbot supports MCP in both directions.

Use Secbot as an MCP server

secbot-mcp

This exposes the current ToolsService catalog over stdio MCP. Sensitive tools stay hidden by default unless SECBOT_MCP_ALLOW_SENSITIVE=true is set.

Call external MCP servers from Secbot

Use the built-in mcp_call tool to connect to another stdio MCP server, list its tools, or invoke one of them from Secbot workflows.

Source Development

git clone https://github.com/iammm0/secbot.git
cd secbot
npm ci

# Backend dev
npm run dev

# Backend dev with file watching
npm run dev:watch

# TUI (in another terminal, default: spawn local backend)
npm run start:tui

# TUI service mode (connect existing backend only)
SECBOT_TUI_BACKEND=service SECBOT_API_URL=http://127.0.0.1:8000 npm run start:tui

Common npm scripts

ScriptDescription
npm run buildBuild the NestJS backend
npm run build:terminal-uiBuild the Ink terminal UI
npm run build:webBuild the web frontend bundle
npm run typecheckType-check server code
npm run lintRun ESLint
npm run format:checkCheck Prettier formatting
npm testRun tests
npm run release:packBuild and create npm package tarball
npm run release:verifyVerify packaged npm release contents

Documentation

Links

License

This project is licensed under MIT. See LICENSE for details.

Files in the repo

Repository payload34 top-level entries
  • .github
  • .npm-cache
  • assets
  • docs
  • npm-bin
  • prompts
  • scripts
  • server
  • skills
  • terminal-ui
  • web
  • .env.backup
  • .gitignore
  • .npmrc.example
  • .nvmrc
  • .prettierignore
  • .prettierrc
  • AGENT.md
  • AGENTS.md
  • build.bat
  • build.sh
  • CHANGELOG.md
  • CLAUDE.md
  • eslint.config.mjs
  • LICENSE
  • Makefile
  • MANIFEST.in
  • package-lock.json
  • package.json
  • README_CN.md
  • README_EN.md
  • README.md
  • TEST_REPORT.md
  • vitest.config.ts

Discussion (0)

Ask about usage, or say what you built with it

Sign in to join the discussion.

No comments yet. Be the first to say what this is good for.

More tools

JuliusBrussee/
caveman

🪨 why use many token when few token do trick — Claude Code skill that cuts 65% of tokens by talking like caveman

105k
1 add
MemPalace/
mempalace

The best-benchmarked open-source AI memory system. And it's free.

59k
stablyai/
orca

Orca is the ADE for working with a fleet of parallel agents. Run any coding agent with your own subscription. Available on desktop, mobile and remote runtime.

66k

A cross-platform desktop All-in-One assistant for Claude Code, Codex, OpenCode, OpenClaw, Grok Build & Hermes Agent. Only official website: ccswitch.io

132k

Never stop coding. Free MIT AI gateway: one endpoint, 352 providers (150+ free), 1200+ models Kimi, Claude, GPT, Gemini, GLM, DeepSeek, MiniMax. Works with Claude Code, Codex, Cursor, OpenCode, Cline & Copilot. Quota-aware auto-fallback, RTK+Caveman compression saves 15-95% tokens, MCP/A2A, Desktop/PWA. Built by 550+ contributors

64k
headroomlabs-ai/
headroom

Compress tool outputs, logs, files, and RAG chunks before they reach the LLM. 20% fewer tokens for coding agents, 60-95% fewer tokens for JSON, same answers. Library, proxy, MCP server.

71k