GuardianUnivalle-Benito-Yucra 0.1.31__tar.gz → 0.1.33__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of GuardianUnivalle-Benito-Yucra might be problematic. Click here for more details.

Files changed (25) hide show
  1. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/detectores/detector_keylogger.py +42 -44
  2. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra.egg-info/PKG-INFO +1 -1
  3. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/PKG-INFO +1 -1
  4. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/pyproject.toml +1 -1
  5. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/__init__.py +0 -0
  6. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/auditoria/registro_auditoria.py +0 -0
  7. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/criptografia/cifrado_aead.py +0 -0
  8. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/criptografia/intercambio_claves.py +0 -0
  9. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/criptografia/kdf.py +0 -0
  10. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/detectores/detector_csrf.py +0 -0
  11. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/detectores/detector_dos.py +0 -0
  12. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/detectores/detector_sql.py +0 -0
  13. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/detectores/detector_xss.py +0 -0
  14. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/middleware_web/middleware_web.py +0 -0
  15. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/mitigacion/limitador_peticion.py +0 -0
  16. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/mitigacion/lista_bloqueo.py +0 -0
  17. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/puntuacion/puntuacion_amenaza.py +0 -0
  18. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra/utilidades.py +0 -0
  19. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra.egg-info/SOURCES.txt +0 -0
  20. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra.egg-info/dependency_links.txt +0 -0
  21. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra.egg-info/requires.txt +0 -0
  22. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/GuardianUnivalle_Benito_Yucra.egg-info/top_level.txt +0 -0
  23. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/LICENSE +0 -0
  24. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/README.md +0 -0
  25. {guardianunivalle_benito_yucra-0.1.31 → guardianunivalle_benito_yucra-0.1.33}/setup.cfg +0 -0
@@ -1,25 +1,3 @@
1
- """
2
- Detector extendido de Keyloggers
3
- ================================
4
-
5
- Módulo avanzado de detección de keyloggers y software espía en el sistema.
6
- Incluye revisión de procesos activos, archivos ejecutables sospechosos y
7
- aplicaciones instaladas en el sistema operativo Windows.
8
-
9
- Componentes:
10
- - Escaneo de procesos activos.
11
- - Detección de archivos con extensiones críticas (.exe, .dll, .scr, .bat, .cmd, .msi).
12
- - Revisión de aplicaciones instaladas (si se ejecuta en Windows).
13
- - Cálculo de nivel de amenaza y registro de auditoría.
14
-
15
- Algoritmos:
16
- * Revisión de procesos (psutil)
17
- * Análisis de archivos con extensiones críticas
18
- * Detección de software instalado
19
- * Registro cifrado con AES-256 + SHA-512
20
- * Fórmula: S_keylogger = w_keylogger * (procesos + archivos + instalaciones)
21
- """
22
-
23
1
  from __future__ import annotations
24
2
  import psutil
25
3
  import os
@@ -64,13 +42,10 @@ class KEYLOGGERDefenseMiddleware(MiddlewareMixin):
64
42
  Guarda los resultados en el objeto request para uso posterior.
65
43
  """
66
44
  try:
67
- resultado = self.detector.ejecutar_escaneo()
45
+ # Detecta en modo interactivo
46
+ resultado = self.detector.ejecutar_escaneo(modo_interactivo=True)
68
47
  request.keylogger_attack_info = resultado
69
48
  except Exception as e:
70
- # Evita que un error detenga Django
71
- import logging
72
-
73
- logger = logging.getLogger("keyloggerdefense")
74
49
  logger.error("Error en KEYLOGGERDefenseMiddleware: %s", e)
75
50
 
76
51
 
@@ -165,7 +140,7 @@ class KEYLOGGERDefense:
165
140
  o software espía potencialmente malicioso.
166
141
  """
167
142
 
168
- def ejecutar_escaneo(self):
143
+ def ejecutar_escaneo(self, modo_interactivo=False):
169
144
  procesos = detectar_procesos_sospechosos()
170
145
  archivos = detectar_archivos_sospechosos()
171
146
  programas = detectar_programas_instalados()
@@ -173,34 +148,36 @@ class KEYLOGGERDefense:
173
148
  total_hallazgos = len(procesos) + len(archivos) + len(programas)
174
149
  score = calcular_score_keylogger(total_hallazgos)
175
150
 
151
+ evento = {
152
+ "tipo": "Keylogger",
153
+ "procesos": procesos,
154
+ "archivos": archivos,
155
+ "programas": programas,
156
+ "score": score,
157
+ "descripcion": [],
158
+ }
159
+
176
160
  if total_hallazgos > 0:
177
- descripcion = [
161
+ evento["descripcion"] = [
178
162
  f"Procesos sospechosos: {len(procesos)}",
179
163
  f"Archivos sospechosos: {len(archivos)}",
180
164
  f"Programas sospechosos: {len(programas)}",
181
165
  ]
166
+ if modo_interactivo:
167
+ # Retornar hallazgos para mostrar al usuario antes de bloquear
168
+ return evento
182
169
 
183
- logger.warning("Keylogger detectado: %s ; nivel: %.2f", descripcion, score)
184
-
185
- evento = {
186
- "tipo": "Keylogger",
187
- "descripcion": descripcion,
188
- "procesos": procesos,
189
- "archivos": archivos,
190
- "programas": programas,
191
- "score": score,
192
- }
193
-
170
+ # Si no es interactivo, registra y bloquea automáticamente
194
171
  registrar_evento(
195
172
  tipo="Keylogger",
196
173
  descripcion=f"Detectados {total_hallazgos} elementos sospechosos.",
197
174
  severidad="ALTA" if score >= 0.5 else "MEDIA",
198
175
  )
199
-
200
176
  return evento
201
- else:
202
- logger.info("Sin procesos, archivos o programas sospechosos detectados.")
203
- return {"tipo": "Keylogger", "descripcion": "Sin hallazgos", "score": 0.0}
177
+
178
+ # Si no hay hallazgos
179
+ evento["descripcion"] = ["Sin hallazgos"]
180
+ return evento
204
181
 
205
182
 
206
183
  """
@@ -212,3 +189,24 @@ S_keylogger = 0.4 * 2
212
189
  donde w_keylogger es peso asignado a keyloggers y numero_procesos_sospechosos es la cantidad de procesos detectados.
213
190
 
214
191
  """
192
+ """
193
+ Detector extendido de Keyloggers
194
+ ================================
195
+
196
+ Módulo avanzado de detección de keyloggers y software espía en el sistema.
197
+ Incluye revisión de procesos activos, archivos ejecutables sospechosos y
198
+ aplicaciones instaladas en el sistema operativo Windows.
199
+
200
+ Componentes:
201
+ - Escaneo de procesos activos.
202
+ - Detección de archivos con extensiones críticas (.exe, .dll, .scr, .bat, .cmd, .msi).
203
+ - Revisión de aplicaciones instaladas (si se ejecuta en Windows).
204
+ - Cálculo de nivel de amenaza y registro de auditoría.
205
+
206
+ Algoritmos:
207
+ * Revisión de procesos (psutil)
208
+ * Análisis de archivos con extensiones críticas
209
+ * Detección de software instalado
210
+ * Registro cifrado con AES-256 + SHA-512
211
+ * Fórmula: S_keylogger = w_keylogger * (procesos + archivos + instalaciones)
212
+ """
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GuardianUnivalle-Benito-Yucra
3
- Version: 0.1.31
3
+ Version: 0.1.33
4
4
  Summary: Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask
5
5
  Author-email: Andres Benito Calle Yucra <benitoandrescalle035@gmail.com>
6
6
  License: MIT
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: GuardianUnivalle-Benito-Yucra
3
- Version: 0.1.31
3
+ Version: 0.1.33
4
4
  Summary: Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask
5
5
  Author-email: Andres Benito Calle Yucra <benitoandrescalle035@gmail.com>
6
6
  License: MIT
@@ -4,7 +4,7 @@ build-backend = "setuptools.build_meta"
4
4
 
5
5
  [project]
6
6
  name = "GuardianUnivalle-Benito-Yucra" # usar mayúsculas consistente
7
- version = "0.1.31"
7
+ version = "0.1.33"
8
8
  description = "Middleware y detectores de seguridad (SQLi, XSS, CSRF, DoS, Keylogger) para Django/Flask"
9
9
  authors = [
10
10
  { name = "Andres Benito Calle Yucra", email = "benitoandrescalle035@gmail.com" }