Mapa de la lección
Lección 39 publicada. Mapa, ejemplo, EX115.
flowchart TD
N0["Resultados de aprendizaje"]
N1["39.1 Plan de evaluación final"]
N2["39.2 Pruebas independientes"]
N3["39.3 Usabilidad y efectos secundarios"]
N4["39.4 Riesgo residual y recomendaciones"]
N5["39.4b Comunicación de la evaluación"]
N6["39.6b Acordar de antemano los criterios del veredict"]
N7["Síntesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7
N7 --> EX["Ejemplo resuelto"]
EX --> Q["Ejercicio EX115"]
Dibujo lógico
flowchart LR
N0["Resultados de aprendizaje"]
N1["39.1 Plan de evaluación final"]
N2["39.2 Pruebas independientes"]
N3["39.3 Usabilidad y efectos secundarios"]
N4["39.4 Riesgo residual y recomendaciones"]
N5["39.4b Comunicación de la evaluación"]
N6["39.6b Acordar de antemano los criterios del veredict"]
N7["Síntesis"]
N0 --> N1 --> N2 --> N3 --> N4 --> N5 --> N6 --> N7 --> Q["EX115"]
[Resultados de aprendizaje]
|
v
[39.1 Plan de evaluación final]
|
v
[39.2 Pruebas independientes]
|
v
[39.3 Usabilidad y efectos secundarios]
|
v
[39.4 Riesgo residual y recomendaciones]
|
v
[39.4b Comunicación de la evaluación]
|
v
[39.6b Acordar de antemano los criterios del veredict]
|
v
[Síntesis]
|
v
[Ejemplo resuelto] --> [Ejercicio EX115]
Resultados de aprendizaje
Usted podrá (1) evaluar el proyecto final frente a sus criterios de aceptación; (2) incluir pruebas independientes y adaptativas; (3) evaluar la usabilidad y los efectos secundarios; y (4) indicar los riesgos residuales y las recomendaciones.
39.1 Plan de evaluación final
Use los criterios de aceptación de la propuesta, sin cambios salvo que el registro de cambios indique por qué. Ejecute los conjuntos reservados completos, el conjunto adaptativo independiente y las pruebas de uso normal. Calcule las tasas con intervalos y compárelas con los criterios. El plan final de Rina usaba los criterios de su propuesta: cero reservas para otro paciente con un límite superior inferior al 0,5 %, reservas completadas de al menos el 93 % y el umbral de afirmaciones falsas. El único cambio registrado era la exclusión del canal de voz, aprobada antes. Ejecutar los conjuntos completos una sola vez, sobre una configuración congelada, evitó la tentación de repetir hasta que apareciera un resultado mejor.
39.2 Pruebas independientes
Pida a personas que no construyeron el sistema que lo ataquen dentro del alcance. Sus resultados entran en la evaluación aunque sean desfavorables. Los dos compañeros de Rina ya habían escrito casos adaptativos durante el seminario; para la evaluación final, un tercer evaluador de otro curso atacó el sistema durante dos días. Ese evaluador encontró el problema de la cuota en las conversaciones largas, que nadie implicado en la construcción había advertido porque sus conversaciones de prueba eran cortas. Los evaluadores nuevos traen hábitos distintos, y esos hábitos encuentran fallos distintos.
39.3 Usabilidad y efectos secundarios
Mida la finalización de las tareas, el tiempo, las negativas indebidas y la opinión de los usuarios. Los controles de seguridad que los usuarios eluden o abandonan no protegen a nadie. Rina midió las reservas completadas, el tiempo medio para reservar y las negativas indebidas, y pidió una breve opinión a diez compañeros que actuaban como pacientes. El problema de la cuota apareció en esas opiniones como frustración, no como fallo de seguridad. Un asistente de reservas que pierde el contexto en las conversaciones largas devolvería a los pacientes al teléfono, lo que anula el propósito del servicio y añade carga en la recepción.
39.4 Riesgo residual y recomendaciones
Enumere los riesgos que quedan, por qué son aceptables o no, y qué trabajo adicional los reduciría. Recomiende si el enfoque debe adoptarse y cómo.
"""Lab S: reporting attack-success rates honestly: Wilson intervals,
seed variation and a paired bootstrap. Synthetic trial outcomes only."""
import math, random
def wilson(k, n, z=1.96):
p = k/n; d = 1 + z*z/n
c = (p + z*z/(2*n))/d; h = z*math.sqrt(p*(1-p)/n + z*z/(4*n*n))/d
return c - h, c + h
for k, n in ((3, 20), (30, 200), (300, 2000)):
lo, hi = wilson(k, n); print(f"successes={k}/{n} rate={k/n:.3f} wilson95=[{lo:.3f}, {hi:.3f}]")
# five seeds of a synthetic defence evaluation: per-seed attack success rate
rates = []
for seed in range(5):
r = random.Random(seed); rates.append(sum(r.random() < 0.12 for _ in range(200))/200)
m = sum(rates)/5; sd = math.sqrt(sum((x-m)**2 for x in rates)/4)
print("per-seed rates:", " ".join(f"{x:.3f}" for x in rates), f"mean={m:.3f} sd={sd:.3f}")
# paired bootstrap: baseline vs defence on the same 300 synthetic prompts
r = random.Random(42)
base = [r.random() < 0.30 for _ in range(300)]
defn = [b and r.random() < 0.6 for b in base] # defence blocks ~40% of successes
diffs = []
for _ in range(2000):
idx = [r.randrange(300) for _ in range(300)]
diffs.append(sum(base[i] for i in idx)/300 - sum(defn[i] for i in idx)/300)
diffs.sort()
print(f"baseline_asr={sum(base)/300:.3f} defended_asr={sum(defn)/300:.3f} "
f"reduction_ci95=[{diffs[50]:.3f}, {diffs[1949]:.3f}]")
Salida esperada:
successes=3/20 rate=0.150 wilson95=[0.052, 0.360]
successes=30/200 rate=0.150 wilson95=[0.107, 0.206]
successes=300/2000 rate=0.150 wilson95=[0.135, 0.166]
per-seed rates: 0.110 0.130 0.135 0.105 0.145 mean=0.125 sd=0.017
baseline_asr=0.350 defended_asr=0.190 reduction_ci95=[0.120, 0.203]
El laboratorio muestra por qué Rina informó de intervalos en lugar de tasas aisladas: tasas idénticas de 0,150 conllevan una certeza muy distinta con 20 y con 2000 ensayos. Su lista de riesgos residuales mencionaba la inyección en idiomas distintos del inglés y la dependencia de la revisión de las subidas de asociados, explicaba por qué cada uno era aceptable para un piloto y proponía pruebas que los reducirían antes de una adopción más amplia.
39.4b Comunicación de la evaluación
Presente una tabla por criterio, con el resultado, el intervalo, el umbral y si se aprueba o se suspende. Presente después los hallazgos independientes, las medidas de usabilidad y una breve discusión. Adjunte los scripts de evaluación y las descripciones de los conjuntos de pruebas para que un lector pueda repetir la ejecución. Comunique un criterio suspendido como un fallo, con su causa y un plan, en lugar de redefinirlo. La tabla de Rina para las reservas completadas mostraba un 94 % frente al umbral del 93 %, con su intervalo. Como el margen era estrecho, informó del aprobado con esa salvedad en lugar de presentarlo como holgado, y sugirió que LCH vigilara la tasa durante el piloto. El hallazgo de la cuota figuraba a continuación, en la parte del informe dedicada a las pruebas independientes.
39.5 Ejemplo resuelto (caso sintético de LCH)
La evaluación final de Rina: 0 reservas para otro paciente en 1000 intentos (límite superior ≈ 0,4 %); confirmaciones engañosas 0 en 300 casos adaptativos; afirmaciones falsas sobre las clínicas 2,4 % (intervalo 1,6–3,5 %), por debajo del criterio del 4 %; reservas completadas 94 %. Los evaluadores independientes encontraron un problema: las conversaciones muy largas alcanzaban la cuota de tokens y perdían el contexto, lo que frustraba a los usuarios. Riesgos residuales: inyección en idiomas distintos del inglés sin probar; dependencia de la revisión de las subidas de asociados. Recomendación: adoptar en LCH el servicio de políticas y la confirmación estructurada; ampliar las pruebas a otros idiomas. El problema de la cuota se comunicó como hallazgo de usabilidad con una corrección propuesta: aumentar la cuota para los pacientes autenticados.
39.6 Errores y límites
- Cambiar los criterios después de los resultados.
- Omitir los resultados independientes desfavorables.
- Ignorar la usabilidad.
Cambiar el umbral de afirmaciones falsas después de ver los resultados habría vaciado de sentido el aprobado, así que Rina mantuvo el original. Omitir el problema de la cuota porque procedía de un evaluador independiente ocultaría la principal debilidad de usabilidad. Ignorar la usabilidad habría producido un sistema que superaba las pruebas de seguridad mientras los pacientes renunciaban a usarlo y llamaban a la clínica. Comunicar los tres, incluidos los desfavorables, mantiene la evaluación honesta y útil para LCH.
39.6b Acordar de antemano los criterios del veredicto
Los criterios de aprobación del proyecto final —por ejemplo, un éxito de la inyección inferior a una tasa acordada en un conjunto de ataques reservado, sin aumento de las reservas erróneas— se fijan antes de la evaluación final. Si los resultados quedan entre umbrales, el informe lo dice con claridad en lugar de redondear hacia el éxito. Los criterios de Rina los firmó su supervisor antes de la ejecución final, así que no podían desplazarse. Firmarlos primero significó que, cuando las reservas completadas quedaron cerca del umbral, nadie pudo discutir qué contaba como aprobado. El examinador comprobó la fecha de la firma frente a la fecha de la ejecución final.
Ejercicios
- EX115 — Criterios. Compruebe los resultados de Rina frente a sus criterios y diga cuáles se aprobaron. Rúbrica: 3 = todos los criterios indicados evaluados correctamente; 2 = la mayoría; 1 = vago; 0 = nada.
- EX116 — Problema de usabilidad. ¿Cómo debe tratarse el problema de la cuota? Rúbrica: 3 = comunicarlo, ajustar la cuota/resumir el contexto, volver a probar, sopesarlo frente al riesgo de coste; 2 = parcial; 1 = ignorarlo; 0 = nada.
- EX117 — Riesgo residual. Redacte una declaración de riesgo residual con justificación y siguiente paso. Rúbrica: 3 = riesgo, por qué es aceptable o no, siguiente paso; 2 = dos; 1 = vago; 0 = nada.
Síntesis
La evaluación del proyecto final es una medición honesta frente a criterios fijados de antemano, que incluye ataques independientes y usabilidad, y termina con riesgos residuales y recomendaciones claros.
Siga estudiando — capítulo 39 de 40
← Capítulo 38 (borrador) · Índice de capítulos del curso · Capítulo 40 (borrador) →