Comando Rules
El comando rules
permite gestionar los conjuntos de reglas utilizados por RootCause para el análisis de código. Las reglas se almacenan en el directorio ~/.config/rootcause/rules
por defecto.
$>rootcause rules help
Manage security rules and rule sets
Usage: rootcause rules <COMMAND>
Commands:
verify Verify that rules are correctly formatted
inspect Inspect a specific rule or all rules from a file
install Install a ruleset from a tarball
update Update installed rulesets
remove Remove an installed ruleset
list List installed rulesets
help Print this message or the help of the given subcommand(s)
Options:
-h, --help Print help
$>rootcause rules list
[LIST] Listing installed rulesets...
Official RootCause Rules
└─ Name: Official RootCause Rules
└─ Author: RootCause Team
└─ Version: 1.0.0
└─ Origin: https://github.com/rootcause/rules
└─ Folder: /home/rootcause-admin/.config/rootcause/rules/official
[SUCCESS] Found 1 ruleset(s)
Ubicación de las reglas
Por defecto, RootCause busca las reglas en:
~/.config/rootcause/rules
(Linux/macOS)%APPDATA%\rootcause\rules
(Windows)
Puedes especificar directorios adicionales en el archivo de configuración config.toml
:
toml
[rules]
rule_dirs = [
"/home/usuario/.config/rootcause/rules",
"./reglas-personalizadas"
]
Formatos de reglas soportados
RootCause soporta múltiples formatos de reglas:
- YAML: Formato principal para reglas de configuración y código
- JSON: Formato alternativo para reglas
- Semgrep: Compatible con reglas de Semgrep
- OPA WASM: Módulos WASM para reglas complejas
Ejemplos de flujo de trabajo
Instalar y usar un conjunto de reglas
bash
# 1. Instalar conjunto de reglas de seguridad
rootcause rules install https://github.com/security/rules/releases/latest/download/security.tar.gz
# 2. Verificar que se instaló correctamente
rootcause rules list
# 3. Verificar las reglas
rootcause rules verify ~/.config/rootcause/rules
# 4. Inspeccionar una regla específica
rootcause rules inspect py.subprocess-shell
# 5. Usar las reglas en un escaneo
rootcause scan . # Las reglas están instaladas así que se usan siempre
Actualizar reglas existentes
bash
# Actualizar todas las reglas
rootcause rules update
# O actualizar una específica
rootcause rules update security-rules
Gestionar reglas personalizadas
bash
# 1. Crear directorio para reglas personalizadas
mkdir ./my-custom-rules
# 2. Crear reglas en formato YAML
# (ver documentación de reglas para formato)
# 3. Verificar las reglas personalizadas
rootcause rules verify ./my-custom-rules
# 4. Usar en escaneo
rootcause scan . --rules ./my-custom-rules