CLI - Interfaz de Línea de Comandos
El CLI (Command Line Interface) de RootCause es la herramienta principal para ejecutar análisis estático de código. Esta interfaz te permite escanear tu código, aplicar reglas personalizadas y generar reportes en diferentes formatos.
¿Qué es el CLI?
El CLI de RootCause es un ejecutable binario que proporciona todas las funcionalidades necesarias para:
- Escanear código: Analizar archivos y directorios en busca de problemas de seguridad y calidad
- Aplicar reglas: Usar reglas personalizadas para detectar patrones específicos
- Generar reportes: Crear salidas en formato texto, JSON o SARIF
- Gestionar reglas: Instalar, actualizar y gestionar conjuntos de reglas
- Gestionar plugins: Instalar, configurar y usar plugins externos
- Integrar con CI/CD: Fácil integración en pipelines de desarrollo
Ubicación del archivo de configuración
RootCause utiliza un archivo de configuración en formato TOML ubicado en:
- Linux/macOS:
~/.config/rootcause/config.toml
- Windows:
%APPDATA%\rootcause\config.toml
Estructura del archivo de configuración (config.toml
)
# Configuración de caché
[cache]
cache_dir = "./cache"
# Configuración de reglas
[rules]
rule_dirs = [
"/home/usuario/.config/rootcause/rules",
"./reglas-personalizadas"]
# Configuración de plugins
[plugins]
[plugins.nombre-plugin]
enabled = true
param1 = "valor1"
param2 = 123
Directorios por defecto
- Reglas:
~/.config/rootcause/rules
(Linux/macOS) o%APPDATA%\rootcause\rules
(Windows) - Plugins:
~/.config/rootcause/plugins
(Linux/macOS) o%APPDATA%\rootcause\plugins
(Windows)
Comandos principales
scan
Comando principal para ejecutar análisis de código.
rootcause scan <PATH> [OPTIONS]
rules
Gestionar conjuntos de reglas de análisis.
rootcause rules <COMMAND> [OPTIONS]
plugins
Gestionar plugins para extender funcionalidades.
rootcause plugins <COMMAND> [OPTIONS]
Opciones globales
Opciones disponibles en el CLI principal:
rootcause --help
Salida de ayuda completa
RootCause is a powerful Static Analysis Security Testing (SAST) tool that helps developers find security vulnerabilities, code quality issues, and compliance violations in their codebases.
Features:
• Multi-language support (Python, Rust, JavaScript, Java, Docker, YAML, etc.)
• Customizable rule sets with YAML, JSON, and OPA support
• Plugin architecture for extensibility
• Multiple output formats (Text, JSON, SARIF)
• CI/CD integration ready
• Real-time scanning and reporting
Examples:
rootcause scan . # Scan current directory
rootcause scan src/ --format json # Scan with JSON output
rootcause rules install <url> # Install custom rules
rootcause plugins list # List installed plugins
Usage: rootcause <COMMAND>
Commands:
scan Scan code for security vulnerabilities and quality issues
plugins Manage plugins for extending RootCause functionality
rules Manage security rules and rule sets
help Print this message or the help of the given subcommand(s)
Options:
-v, --version Show version information
-h, --help Print help (see a summary with '-h')
Cada comando tiene sus propias opciones específicas. Usa --help
después del comando para ver las opciones disponibles:
rootcause scan --help
rootcause rules --help
rootcause plugins --help
Integración con CI/CD
El CLI está diseñado para integrarse fácilmente en pipelines de CI/CD:
# GitHub Actions
- name: Run RootCause Analysis
run: |
rootcause scan . --format sarif --fail-on medium > report.sarif
# GitLab CI
analyze:
script:
- rootcause scan . --format sarif --fail-on high > report.sarif
artifacts:
reports:
sarif: report.sarif
Próximos pasos
- Comando Scan - Detalles del comando de escaneo
- Comando Rules - Gestión de reglas
- Comando Plugins - Gestión de plugins