JSPM

secure-scan

1.2.5
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 94
  • Score
    100M100P100Q57346F
  • License MIT

Herramienta SAST (Análisis Estático de Seguridad) para detectar vulnerabilidades y código malicioso.

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

Licencia: MIT Versión Node.js Idioma

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-scan

Así se evitan usar la clonación del repositorio.

Desinstalar la herramienta

npm uninstall -g secure-scan

Opción 2: Clonar el repositorio

git clone https://github.com/your-org/secure-scan.git
cd secure-scan

Instalar dependencias y compilar:

npm install

Instalar globalmente:

npm link

Verificar instalación

secure -V
secure --version

📖 Uso

AVISO: Modificar el archivo secure-scan.config.json para 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 init

Comando 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 es

Comandos 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)

  1. Instalar Ollama: Descarga desde ollama.ai

  2. 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
  3. Ollama se ejecuta automáticamente en http://localhost:11434

  4. Ejecutar escaneo con IA local:

    secure scan ./mi-proyecto --ai

Ejemplo con LM Studio

  1. Descarga LM Studio
  2. Descarga un modelo GGUF (ej: codellama-7b-instruct.Q4_K_M.gguf)
  3. Inicia el servidor local en LM Studio
  4. 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

  1. Fork el repositorio
  2. Crea una rama (git checkout -b feature/nueva-funcionalidad)
  3. Commit tus cambios (git commit -m 'Añadir nueva funcionalidad')
  4. Push a la rama (git push origin feature/nueva-funcionalidad)
  5. Abre un Pull Request
  • 📖 Documentación: docs/

Desarrollado con ❤️ para la comunidad de seguridad

ATT: Luis000923

🔐 Secure-Scan

License: MIT Node.js Version Language