Bearer - Flujo de datos sensibles y SAST
Bearer es una herramienta de código abierto de pruebas de seguridad de aplicaciones estáticas con un ángulo distintivo: está construida alrededor del flujo de datos sensibles. En lugar de solo coincidir con patrones de código vulnerable, Bearer descubre dónde viven PII, PHI y otros datos sensibles en tu base de código, traza cómo se mueven esos datos, y marca cuándo se filtran en registros, servicios de terceros o comunicaciones inseguras. Eso la hace particularmente adecuada para trabajo de privacidad y conformidad (GDPR, HIPAA, PCI) junto con escaneo de seguridad convencional.
Instalación
Escaneo
| Comando | Descripción |
|---|
bearer scan . | Escaneo completo de seguridad + privacidad |
bearer scan . --scanner secrets | Solo detección de secretos |
bearer scan . --scanner sast | Solo reglas SAST |
bearer scan . --report dataflow | Muestra flujos de datos sensibles |
bearer scan . --report privacy | Informe de privacidad/conformidad |
bearer scan . --format json -o out.json | Salida JSON |
| Informe | Muestra |
|---|
security (por defecto) | Violaciones de reglas por severidad |
dataflow | Dónde se detectan datos sensibles y dónde van |
privacy | Sujetos de datos/tipos por componente de terceros |
stats | Resumen de composición de base de código |
# ¿Qué terceros reciben datos personales?
bearer scan . --report privacy --format json
Detección de datos sensibles
| Categoría | Ejemplos |
|---|
| Personal | Nombre, correo electrónico, teléfono, dirección |
| Financiero | Números de tarjeta, cuentas bancarias |
| Salud (PHI) | Diagnósticos, identificadores médicos |
| Credenciales | Contraseñas, tokens, claves |
| Dispositivo/seguimiento | IPs, IDs de dispositivo |
Bearer clasifica datos por tipo y sujeto (cliente, empleado, usuario), que es lo que hace el informe de privacidad significativo.
Hallazgos comunes
| Hallazgo | Riesgo |
|---|
| PII escrito en registros | Fuga de datos en agregación de registro |
| Datos sensibles a tercero | Procesador no auditado / problema GDPR |
| Transmisión sin encriptar | Datos sobre HTTP |
| Criptografía débil | Algoritmos inseguros en campos sensibles |
| Secretos en código fuente | Credenciales codificadas |
Severidad y filtrado
| Bandera | Efecto |
|---|
--severity critical,high | Solo reporta estos niveles |
--skip-path "tests/**,vendor/**" | Excluye rutas |
--only-rule RULE_ID | Ejecuta una sola regla |
--skip-rule RULE_ID | Suprime una regla |
--exit-code 1 | Falla CI en hallazgos |
Configuración
# bearer.yml
scan:
skip-path:
- "**/tests/**"
- "**/node_modules/**"
severity:
- critical
- high
report:
format: json
Integración en CI
# Cierra un PR en problemas de flujo de datos de severidad alta
bearer scan . --severity critical,high --exit-code 1
# Produce SARIF para escaneo de código de GitHub
bearer scan . --format sarif -o bearer.sarif
Reglas personalizadas
Las reglas de Bearer son YAML y pueden definir nuevos patrones sensibles o detecciones:
| Campo | Propósito |
|---|
patterns | Formas de código a coincidir |
languages | Idiomas aplicables |
severity | Severidad del hallazgo |
metadata.cwe_id | Mapeo a CWE |
Bearer vs otro SAST
| Aspecto | Bearer | Semgrep/Opengrep | TruffleHog |
|---|
| Idea central | Flujo de datos sensibles | Reglas de patrón/taint | Escaneo de secretos |
| Informe de privacidad | Primera clase | No | No |
| Mapeo de conformidad | GDPR/HIPAA/PCI | Manual | No |
| Mejor para | Revisión de riesgo de datos + privacidad | Amplitud general SAST | Credenciales filtradas |
Complementa Semgrep/Opengrep para SAST general y TruffleHog para secretos — la ventaja de Bearer es saber qué datos están en riesgo.
Recursos