Skip to main content

CLI Reference

Complete reference for the FirePan command-line interface.

Installation

# Clone the repository
git clone https://github.com/firepan-labs/firepan-cli.git
cd firepan-cli

# Install dependencies
pip install -e .

# Verify installation
firepan --version

Global Options

These options apply to all commands:

OptionDescription
--helpShow help message
--versionShow version number
--verbose, -vIncrease output verbosity
--quiet, -qSuppress non-essential output

Commands

scan

Quick security scan of a repository or directory.

firepan scan <target> [options]

Arguments:

ArgumentDescription
targetGitHub URL, local path, or - for stdin

Options:

OptionDescriptionDefault
--formatOutput format: json, html, md, csvjson
--output, -oOutput file pathstdout
--budgetMax LLM calls per repo5
--modelLLM model overrideauto-detect
--no-llmSkip LLM verificationfalse
--batchCSV file for batch scanning-
--max-concurrentConcurrent scans (batch mode)10

Examples:

# Scan a GitHub repository
firepan scan https://github.com/org/repo

# Generate HTML report
firepan scan https://github.com/org/repo --format html -o report.html

# Batch scan from CSV
firepan scan --batch repos.csv -o results.csv

# Quick scan without AI (faster, more false positives)
firepan scan /path/to/contracts --no-llm

project

Manage audit projects for deep analysis.

project create

firepan project create <name> <path> [options]

Create a new project from a local directory or GitHub URL.

Options:

OptionDescription
--descriptionProject description

Example:

firepan project create myaudit https://github.com/org/repo

project list

firepan project list

List all projects.

project delete

firepan project delete <name>

Delete a project and its data.


graph

Build and manage knowledge graphs for deep analysis.

graph build

firepan graph build <project> [options]

Build or update the knowledge graph for a project.

Options:

OptionDescriptionDefault
--initInitialize a new graphfalse
--iterationsAnalysis iterations3

Example:

# Initialize and build graph
firepan graph build myaudit --init --iterations 1

# Update existing graph
firepan graph build myaudit --iterations 2

graph visualize

firepan graph visualize <project> [options]

Generate a visualization of the knowledge graph.

Options:

OptionDescriptionDefault
--formatOutput format: html, dot, jsonhtml
--outputOutput file pathstdout

agent

Run autonomous analysis agents.

agent audit

firepan agent audit <project> [options]

Run the autonomous audit agent on a project.

Options:

OptionDescriptionDefault
--budgetMax LLM calls1000
--strategyAnalysis strategy: balanced, deep, quickbalanced

Example:

firepan agent audit myaudit --budget 500

report

Generate reports from audit results.

firepan report <project> [options]

Options:

OptionDescriptionDefault
--formatOutput format: html, md, pdf, jsonhtml
--output, -oOutput file pathstdout
--templateCustom report templatedefault

Example:

firepan report myaudit --format html -o audit-report.html

Authentication

The CLI uses your FirePan account for API access:

# Login with your FirePan account
firepan login

# Check authentication status
firepan whoami

# Logout
firepan logout

Your API key is stored securely in ~/.firepan/credentials.

Configuration File

Create ~/.firepan/config.yaml for persistent settings:

# Default scan options
scan:
format: json
max_concurrent: 10

# Output preferences
output:
color: true
verbose: false

Exit Codes

CodeMeaning
0Success
1General error
2Invalid arguments
3Critical findings detected (with --fail-on critical)
4High findings detected (with --fail-on high)

Batch CSV Format

For --batch mode, CSV should have columns:

  • GitHub URL, github_url, url, or repo_url
  • Name, name, Login, or login (optional)

Example:

Name,GitHub URL
Uniswap,https://github.com/Uniswap/v4-core
Aave,https://github.com/aave/aave-v3-core

Next Steps