Package Exports
- secure-scan
- secure-scan/dist/index.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (secure-scan) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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 mistral
Ollama 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
- Fase 1: Análisis estático básico
- Fase 2: Integración de IA
- 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