Application Security

Falsos Positivos

Un falso positivo es cuando una herramienta de seguridad informa de un problema que en realidad no existe.

Falsos Positivos

TL;DR

En seguridad, un falso positivo ocurre cuando una herramienta informa de un problema que en realidad no existe.

¿Qué es un Falso Positivo?

Un falso positivo es cuando una herramienta de seguridad informa de un problema que en realidad no existe.

Ejemplo simple:

  • Problema real: La alarma de humo se activa porque hay un incendio.
  • Falso positivo: La alarma de humo se activa por el vapor de la cocina.

La alerta es real, pero no hay peligro real.

Por qué los Falsos Positivos son un Problema

Los falsos positivos hacen más que desperdiciar tiempo. Pueden llevar a problemas reales a medida que pasa el tiempo.

Conducen a:

  • Tiempo desperdiciado solucionando problemas que no existen
  • Frustración entre los equipos de seguridad y desarrollo
  • Mayor riesgo porque los problemas reales son ignorados

Por qué Ocurren los Falsos Positivos

Las herramientas de seguridad están diseñadas para ser cuidadosas. Es más seguro para ellas dar demasiadas advertencias que perder un ataque real.

Razones comunes:

  1. Sin contexto

    Una herramienta ve una contraseña codificada, pero solo está en un archivo de prueba.

  2. Código complejo

    La herramienta piensa que la entrada del usuario es insegura, pero el código ya la limpia.

  3. Reglas antiguas

    El software nuevo y seguro parece una amenaza antigua.

  4. Reglas demasiado amplias

    Por ejemplo, marcar cada uso de eval() incluso cuando es seguro.

El Costo Real de los Falsos Positivos

El problema real surge cuando se acumulan demasiadas alertas.

  • Los equipos dejan de prestar atención a las alertas.
  • Las compilaciones y lanzamientos se ralentizan.
  • Ingenieros capacitados desperdician tiempo revisando problemas falsos.

Falsos Positivos vs Falsos Negativos

TérminoQué Significa
Verdadero PositivoUn problema real se encuentra correctamente
Falso PositivoSe informa de un problema pero no es real
Verdadero NegativoEl código seguro se ignora correctamente
Falso NegativoSe pasa por alto un problema real (esto es peligroso)

Términos Relacionados

Preguntas Frecuentes

¿Cómo sé si una alerta es un falso positivo?

Deberías revisar el código para determinar si un usuario real podría desencadenar el problema.

¿Pueden las herramientas tener cero falsos positivos?

No. El objetivo es reducirlos, no eliminarlos completamente.

¿Debería dejar de usar una herramienta con muchos falsos positivos?

No inmediatamente. La mayoría de las herramientas necesitan ajustes para adaptarse a tu base de código.

¿Listo para validar lo que importa?

Listo para validar lo que importa.

Plexicus es Proof-Driven AppSec: hallazgos validados, comprensión contextual y remediación revisada — anclada en evidencia, acotada contigo.

Calificación

Comprueba si el AI Swarm Pentest encaja en tu entorno.

Déjanos el contexto mínimo. Revisaremos el alcance y te indicaremos el siguiente paso comercial.

Antes de enviar — verifica que encajas

Equipos con menos de 50 desarrolladores: empieza una prueba de 14 días en lugar de reservar una demo. Empieza una prueba de 14 días →

0 / 280

Sin compromiso. Si no encajas, te lo decimos.

SAMPLE HANDOVER · ILLUSTRATIVE

Sample evidence handover

A trimmed view of what your team receives at the end of an AI Swarm Pentest engagement. Real engagements include full technical evidence, executive narrative, and a remediation plan.

VALIDATED FINDING Evidence attached

Server-Side Request Forgery in webhooks/receiver

demo-project/sample-app · src/webhooks/receiver.py:42

SeverityHigh CVSS 3.18.6 Priority79 Confirmedvia replay

Untrusted caller-supplied URLs reach an internal egress without an allowlist. Replayed in a sandbox against a fresh authorised target — the same control was validated to fail twice.

REVIEWER-READY REMEDIATION Merge-ready PR

Validate the target URL against an allowlist of permitted hostnames. Reject private/internal IP ranges. Enforce HTTPS only.

plexicus/remediation/webhooks-ssrf 3 changed · 0 new files
42resp = requests.get(target_url)
42+if not is_allowed_host(target_url):
43+  raise WebhookRejected(target_url)
44+resp = requests.get(target_url, timeout=5)
Every engagement hands over:
  • Executive briefing
  • Validated findings list
  • Merge-ready PRs
  • Compliance mapping (NIS2 · DORA · CRA)