aiscan

module
v0.0.0-nightly.20260807 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Aug 7, 2026 License: AGPL-3.0

README

aiscan logo

aiscan

AI-driven single-binary pentest agent with a built-in multi-engine arsenal, ready to go

Preview — APIs and features may change between releases

Release CI Downloads AGPL-3.0 Stars

中文文档


aiscan combines LLM agents with traditional security scanning engines. Three modes: Scan (deterministic pipeline, optional AI assist), Agent (natural-language autonomous assessment), IOA (multi-agent distributed collaboration).

Use only on explicitly authorized targets. Unauthorized use is illegal.

Quick Start

# No LLM needed — one-line scan
aiscan scan -i 192.168.1.0/24

# With LLM — one-line agent
aiscan agent --base-url "https://api.deepseek.com" --api-key "sk-..." --model deepseek-chat \
  -p "scan targets and check for high-risk vulnerabilities" -i 192.168.1.0/24

Install

Download Binary

From GitHub Releases:

Edition Description
aiscan Standard — scan/agent/gogo/spray/zombie/neutron/proton/arsenal
aiscan-full Full — adds playwright browser, passive recon, katana crawler
OS Arch Standard Full
Linux amd64 / arm64 aiscan_linux_<arch>.zip aiscan-full_linux_<arch>.zip
macOS Intel / Apple Silicon aiscan_darwin_<arch>.zip aiscan-full_darwin_<arch>.zip
Windows amd64 / arm64 aiscan_windows_<arch>.zip aiscan-full_windows_amd64.zip
# Linux
curl -LO https://github.com/chainreactors/aiscan/releases/latest/download/aiscan_linux_amd64.zip
unzip aiscan_linux_amd64.zip
chmod +x aiscan && sudo mv aiscan /usr/local/bin/

# macOS Apple Silicon
curl -LO https://github.com/chainreactors/aiscan/releases/latest/download/aiscan_darwin_arm64.zip
unzip aiscan_darwin_arm64.zip
chmod +x aiscan && sudo mv aiscan /usr/local/bin/

# Windows (PowerShell)
Invoke-WebRequest "https://github.com/chainreactors/aiscan/releases/latest/download/aiscan_windows_amd64.zip" -OutFile aiscan.zip
Expand-Archive .\aiscan.zip -DestinationPath .
.\aiscan.exe --version

Web Console (Full Edition)

The Web console is included in aiscan-full. It starts the browser UI and an embedded local agent by default. Open http://127.0.0.1:8080 and enter the access key printed at startup:

aiscan-full web

To listen on the network with a fixed access key:

aiscan-full web --addr 0.0.0.0:8080 --token change-me

Run the Web console as a hub without an embedded agent, then connect agents from this or other hosts:

# Hub
aiscan-full web --addr 0.0.0.0:8080 --token change-me --no-agent

# Remote node
aiscan agent --server-url http://change-me@server.example:8080 --node-name worker-01

The Web console stores sessions, scans, assets, findings, and configuration in aiscan-web.db by default. Use --db <path> to select another SQLite file.

Build from Source

git clone https://github.com/chainreactors/aiscan.git && cd aiscan

make                                                       # standard edition
make full                                                  # frontend + full edition

The standalone agent executable is no longer a maintained build or release target. Reference wiring remains in examples/agent and can be run manually with go run ./examples/agent --help. make full requires Node.js/npm and a working CGO toolchain; it builds the frontend first so the latest web/static assets are embedded into the binary:

make web WEB_ADDR=127.0.0.1:18081 WEB_TOKEN=local-dev    # full build + Web UI

On Windows amd64, make and make full use the bundled static RE2 backend and statically link the MinGW runtime, producing a single executable without RE2, Abseil, libstdc++, libgcc, or winpthread DLLs.


Features

Design

  • Single binary, zero dependencies — statically-linked, drop-in deployment
  • Minimal agent core — composable ~160-line loop; tools, retries, evaluation are plugged in, not hardcoded
  • Plugin architecture — adding a new tool is one file; heavy dependencies (playwright, katana) are compile-time optional
  • Embedded skills — each tool carries its own usage docs and tactical guidance, loaded by the agent on demand
  • Scan + Agent unified — the same engines drive both the deterministic pipeline and the autonomous agent

Scan — Deterministic Pipeline

  • Multi-stage auto-chaining: port discovery → web probing → weak credentials → POC detection — no LLM required
  • Optional AI-driven result verification, public CVE correlation, and dynamic testing
  • Quick mode for fast exposure mapping, full mode for deep crawl and extended coverage

Agent — Autonomous Security Assessment

  • Natural language tasks — the agent plans, scans, analyzes, and reports autonomously
  • Goal evaluation — an independent evaluator judges task completion and drives automatic retry
  • Interactive REPL with direct command execution
  • Multiple provider profiles with explicit manual switching

IOA — Multi-Agent Collaboration

  • Shared message spaces for distributed agent coordination
  • Worker mode for persistent task listening
  • Built-in IOA server with token authentication
  • See: Design | CLI | Extension

Built-in Toolset

Scanners

  • gogo — port, service, and banner discovery
  • spray — web probing, fingerprinting, path fuzzing
  • zombie — credential testing
  • neutron — template-based POC execution
  • proton — sensitive information scanning (API keys, tokens, credentials, secrets)
  • cyberhub — fingerprint and POC association query

Browser & Recon (full edition)

  • playwright — headless Chromium sessions, screenshots, network capture
  • katana — web crawler with standard/headless/hybrid engines
  • passive — cyberspace search (FOFA, Hunter, Shodan)

Utilities

  • tmux — background task sessions with incremental output delivery
  • arsenal — security tool package manager (crtm), one-command install
  • proxy — multi-protocol proxy chain (trojan/vless/anytls/hy2/ss)
  • web_search / fetch — CVE search and URL fetching

Usage

Scan Mode

aiscan scan -i 192.168.1.0/24                                    # quick scan
aiscan scan -i 192.168.1.0/24 --mode full                        # full scan
aiscan scan -i http://target.example --verify=high --sniper       # AI-enhanced
aiscan scan -i http://target.example --mode full --deep --report  # full + deep + report

Agent Mode

# One-shot task
aiscan agent -p "scan and find web vulnerabilities" -i 192.168.1.0/24

# With goal evaluation
aiscan agent -p "full scan" -i http://target.example -e "find all open ports with service fingerprints"

# Interactive REPL
aiscan agent

IOA Mode

# Start IOA server
aiscan ioa serve --ioa-url http://0.0.0.0:8765

# Start IOA worker
aiscan agent --ioa-url http://127.0.0.1:8765 --space pentest-project \
  -p "scan assigned targets and report findings"

LLM Configuration

# Environment variable
export OPENAI_API_KEY="sk-..."

# CLI arguments
aiscan agent --provider openai --base-url https://api.deepseek.com/v1 --api-key sk-... --model deepseek-chat

Config file aiscan.yaml:

llm:
  provider: openai
  api_key: sk-...
  model: gpt-4o
  context_window: 128000   # Set explicitly for custom model IDs
  max_tokens: 16384        # Maximum output per response

context_window is a literal token count: use 128000, not 128K. Values below 8192 are accepted, but the Web UI warns that they may be too small. The request output limit is dynamically clamped to the remaining context: min(max_tokens, context_window - current_context - 4096). If no output space remains, AIScan returns a clear error instead of sending a one-token request. Automatic compaction starts as the context approaches the configured window.


Documentation

Doc Description
Scan Mode Pipeline, AI enhancements, output formats
Agent Mode Toolset, Goal Evaluation, REPL
IOA Multi-agent architecture, Space/Node/Message model
Reference Configuration, providers, flags, scanner usage, FAQ
Changelog Version history

Contributing

  1. Fork this repository
  2. Create a feature branch (git checkout -b feature/xxx)
  3. Commit your changes (git commit -m 'feat: add xxx')
  4. Push to the branch (git push origin feature/xxx)
  5. Create a Pull Request

Disclaimer

  1. This tool is intended for authorized security testing and research purposes only. If you need to test its capabilities, please set up your own lab environment.
  2. Before using this tool for any scanning, you must ensure compliance with local laws and regulations and obtain sufficient authorization. Do not scan unauthorized targets.
  3. If you engage in any illegal activity while using this tool, you shall bear all consequences yourself. We assume no legal or joint liability.
  4. Before installing and using this tool, please carefully read and fully understand all terms. Limitation and disclaimer clauses may be highlighted for your attention.
  5. Unless you have fully read, understood, and accepted all terms of this agreement, please do not install or use this tool. Your use or any other express or implied acceptance constitutes your agreement to be bound by these terms.

License

This project is licensed under the GNU Affero General Public License v3.0 (AGPL-3.0).

  • chainreactors — Organization
  • IOA — Internet of Agents
  • gogo — Port & service discovery
  • spray — Web probing & fingerprinting
  • zombie — Credential testing
  • neutron — Template-based POC engine
  • fingers — Fingerprint rule engine
  • sdk — Scanner SDK (gogo/spray/zombie core)
  • proxyclient — Multi-protocol proxy client
  • crtm — Security tool package registry
  • utils — Shared utilities & PTY manager
  • parsers — Protocol & data parsers

Star History

Directories

Path Synopsis
hooks
Package hooks is the agent kernel's single extension mechanism: typed hook points with explicit result semantics and error policies.
Package hooks is the agent kernel's single extension mechanism: typed hook points with explicit result semantics and error policies.
tmux
Package tmux provides a thin event-aware wrapper around the shared github.com/chainreactors/utils/pty manager.
Package tmux provides a thin event-aware wrapper around the shared github.com/chainreactors/utils/pty manager.
aop module
cmd
aiscan command
gen command
Command gen is the single protobuf generation entrypoint for AIScan.
Command gen is the single protobuf generation entrypoint for AIScan.
core
capability
Package capability is the single answer to "is this feature part of this binary".
Package capability is the single answer to "is this feature part of this binary".
deps
Package deps carries optional, typed dependencies from the assembly layer to the command factories.
Package deps carries optional, typed dependencies from the assembly layer to the command factories.
terminal
Package terminal routes canonical AOP PTY messages to the local PTY runtime.
Package terminal routes canonical AOP PTY messages to the local PTY runtime.
examples
acp/client command
acp/connectrpc command
agent command
rmcp command
pkg
probe
Package probe verifies connectivity to aiscan's external dependencies (cyberhub, recon providers, search, IOA, and the LLM) using a supplied config.
Package probe verifies connectivity to aiscan's external dependencies (cyberhub, recon providers, search, IOA, and the LLM) using a supplied config.
rpc
tui
types
Package types contains AIScan-owned protobuf messages and typed AOP extension helpers.
Package types contains AIScan-owned protobuf messages and typed AOP extension helpers.
web
web/api
Package api implements AIScan's protocol-neutral Web management API.
Package api implements AIScan's protocol-neutral Web management API.
web/service
Package service defines the transport-facing Web service contract and the service-owned authentication component.
Package service defines the transport-facing Web service contract and the service-owned authentication component.
ioa

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL