secure-scan
v1.2.5
Published
Herramienta SAST (Análisis Estático de Seguridad) para detectar vulnerabilidades y código malicioso.
Maintainers
Readme
🔐 Secure-Scan
Secure-Scan es una herramienta de Análisis Estático de Seguridad de Aplicaciones (SAST) diseñada para detectar vulnerabilidades y código malicioso en repositorios de código sin ejecutarlos.
🎯 Características Principales
- ✅ Análisis Estático Puro - Sin ejecución, compilación ni interpretación de código
- 🔍 Detección de Vulnerabilidades - SQL Injection, XSS, CSRF, Command Injection, etc.
- 🦠 Detección de Malware - Backdoors, keyloggers, cryptominers, payloads ocultos
- 🌐 Multi-lenguaje - JavaScript, Python, PHP, Java, C/C++, C#
- 📊 Reportes HTML Profesionales - Estilo auditoría de seguridad
- 🤖 IA Integrada - Análisis inteligente de patrones complejos
- 📋 Mapeo a Estándares - OWASP Top 10, CWE, MITRE ATT&CK, SANS Top 25
- 🌍 Multiidioma - Reportes en español (por defecto) o inglés
🚀 Instalación
Opción 1: Instalación Global (Recomendada)
npm install -g secure-scanAsí se evitan usar la clonación del repositorio.
Desinstalar la herramienta
npm uninstall -g secure-scanOpción 2: Clonar el repositorio
git clone https://github.com/your-org/secure-scan.git
cd secure-scanInstalar dependencias y compilar:
npm installInstalar globalmente:
npm linkVerificar instalación
secure -V
secure --version📖 Uso
AVISO: Modificar el archivo
secure-scan.config.jsonpara configurar la herramienta según tus necesidades.
Escaneo Básico
# Escanear un proyecto
secure scan ./mi-proyecto
# O usando la ruta completa
secure scan "C:\Users\TuUsuario\Proyectos\mi-proyecto"
# Personalizar escaneos con
secure initComando Sugerido
secure scan "ruta-proyecto-analizar" -v --ai --ai-provider local -o "ruta-resultado-escaneo\nombre-resultado"Opciones Disponibles
# Escanear con reporte HTML personalizado
secure scan ./proyecto -o ./mi-reporte
# Modo verbose (más detalles)
secure scan ./proyecto -v
# Usar análisis de IA (requiere API key)
secure scan ./proyecto --ai --api-key TU_API_KEY
# Especificar lenguajes
secure scan ./proyecto --languages javascript,python
# Reporte en inglés
secure scan ./proyecto --lang en
# Reporte en español (por defecto)
secure scan ./proyecto --lang esComandos Adicionales
# Ver ayuda
secure --help
# Ver versión
secure --version
# Inicializar configuración
secure init
# Listar reglas disponibles
secure rules
# Filtrar reglas por lenguaje
secure rules -l python🏗️ Arquitectura
secure-scan/
├── src/
│ ├── cli/ # Interfaz de línea de comandos
│ ├── core/ # Núcleo del sistema
│ │ ├── scanner/ # Escáner de archivos
│ │ ├── engine/ # Motor de reglas
│ │ └── scoring/ # Motor de puntuación de riesgo
│ ├── analyzers/ # Analizadores por lenguaje (plugins)
│ │ ├── javascript/
│ │ ├── python/
│ │ ├── php/
│ │ ├── java/
│ │ ├── c-cpp/
│ │ ├── csharp/
│ │ └── iac/ # Infraestructura como Código
│ ├── rules/ # Reglas de detección
│ │ ├── vulnerabilities/
│ │ └── malware/
│ ├── ai/ # Motor de IA
│ ├── reports/ # Generador de reportes
│ ├── i18n/ # Traducciones (español/inglés)
│ ├── types/ # Definiciones TypeScript
│ └── utils/ # Utilidades
├── test-samples/ # Archivos de prueba
└── docs/ # Documentación🌍 Idiomas
Secure-Scan soporta reportes en múltiples idiomas:
| Idioma | Código | Por Defecto |
|--------|--------|-------------|
| 🇪🇸 Español | es | ✅ Sí |
| 🇬🇧 Inglés | en | No |
# Reporte en español (por defecto)
secure scan ./proyecto -o reporte
# Reporte en inglés
secure scan ./proyecto -o report --lang en📊 Niveles de Severidad
| Nivel | Descripción | |-------|-------------| | 🔵 Info | Información relevante, buenas prácticas | | 🟢 Bajo | Riesgo bajo, impacto limitado | | 🟡 Medio | Riesgo moderado, requiere atención | | 🟠 Alto | Riesgo alto, corregir pronto | | 🔴 Crítico | Riesgo crítico, corregir inmediatamente |
🛡️ Estándares de Seguridad
Todos los hallazgos se mapean a:
- OWASP Top 10 - Open Web Application Security Project
- CWE - Common Weakness Enumeration (Enumeración de Debilidades Comunes)
- MITRE ATT&CK - Tácticas y Técnicas de Atacantes
- SANS Top 25 - Errores de Software Más Peligrosos
🔧 Configuración
Crea un archivo secure-scan.config.json en la raíz del proyecto:
{
"exclude": ["node_modules", "dist", "vendor"],
"languages": ["javascript", "python", "php"],
"minSeverity": "low",
"language": "es",
"ai": {
"enabled": false,
"provider": "openai",
"model": "gpt-4"
},
"rules": {
"disabled": [],
"custom": []
}
}Opciones de Configuración
| Opción | Descripción | Valor por Defecto |
|--------|-------------|-------------------|
| exclude | Patrones a excluir | ["node_modules", "dist"] |
| languages | Lenguajes a analizar | Todos |
| minSeverity | Severidad mínima | low |
| language | Idioma del reporte | es |
| ai.enabled | Habilitar análisis IA | false |
🤖 Uso de Modelos de IA Locales
Secure-Scan soporta el uso de modelos de IA locales para análisis de seguridad sin depender de APIs externas.
Configuración para IA Local
Modifica la sección ai en secure-scan.config.json:
{
"ai": {
"enabled": true,
"provider": "local",
"endpoint": "http://localhost:11434/api/generate",
"enhanceFindings": true,
"generateSummary": true,
"maxTokens": 4096,
"temperature": 0.1
}
}Herramientas de IA Local Compatibles
| Herramienta | Endpoint por Defecto | Modelos Recomendados |
|-------------|---------------------|----------------------|
| Ollama | http://localhost:11434/api/generate | codellama, llama3, mistral, deepseek-coder |
| LM Studio | http://localhost:1234/v1/completions | Cualquier modelo GGUF |
| LocalAI | http://localhost:8080/v1/completions | Compatible con OpenAI API |
| text-generation-webui | http://localhost:5000/api/generate | Varios formatos |
Ejemplo con Ollama (Recomendado)
Instalar Ollama: Descarga desde ollama.ai
Descargar un modelo optimizado para código:
# CodeLlama - especializado en código ollama pull codellama # DeepSeek Coder - excelente para análisis de seguridad ollama pull deepseek-coder # Mistral - buen balance rendimiento/calidad ollama pull mistralOllama se ejecuta automáticamente en
http://localhost:11434Ejecutar escaneo con IA local:
secure scan ./mi-proyecto --ai
Ejemplo con LM Studio
- Descarga LM Studio
- Descarga un modelo GGUF (ej:
codellama-7b-instruct.Q4_K_M.gguf) - Inicia el servidor local en LM Studio
- Configura el endpoint:
{ "ai": { "enabled": true, "provider": "local", "endpoint": "http://localhost:1234/v1/completions" } }
Ventajas de IA Local
- 🔒 Privacidad total - Tu código nunca sale de tu máquina
- 💰 Sin costos - No requiere suscripciones ni API keys
- ⚡ Sin límites - Analiza todo el código que necesites
- 🌐 Offline - Funciona sin conexión a internet
📈 Hoja de Ruta
- [x] Fase 1: Análisis estático básico
- [x] Fase 2: Integración de IA
- [x] Fase 3: Soporte multiidioma (español/inglés)
- [ ] Fase 4: Análisis de dependencias
⚠️ Advertencias de Seguridad
- Esta herramienta NUNCA ejecuta código del proyecto analizado
- Diseñada exclusivamente para auditoría defensiva
- No genera ni contiene malware funcional
- Uso responsable y ético únicamente
📄 Licencia
MIT License - Ver LICENSE
🤝 Contribuir
- Fork el repositorio
- Crea una rama (
git checkout -b feature/nueva-funcionalidad) - Commit tus cambios (
git commit -m 'Añadir nueva funcionalidad') - Push a la rama (
git push origin feature/nueva-funcionalidad) - Abre un Pull Request
- 📖 Documentación: docs/
Desarrollado con ❤️ para la comunidad de seguridad
