La lliçó de DevSecOps va tancar amb una idea incòmoda: cap pipeline substitueix el criteri de qui escriu el codi i aprova els pull requests. Un escàner SAST detecta un patró conegut, però és un desenvolupador qui decideix validar una entrada, qui reconeix que un preu no ha de venir del client, qui escriu una prova per a una amenaça del threat model. La seguretat, en última instància, la produeixen persones. Per això el factor humà no és un complement del programa de seguretat: és el seu fonament. En aquesta lliçó dissenyem la formació i conscienciació de BazarNube, amb security champions, formació en secure coding i gamificació, i ho emmarquem en la pràctica d'Education & Guidance de SAMM.

Contingut

  1. Per què el factor humà és decisiu
  2. Formació en secure coding per a desenvolupadors
  3. Security champions: seguretat distribuïda
  4. Gamificació: aprendre atacant (Juice Shop, CTFs)
  5. Conscienciació general i phishing awareness
  6. Mètriques d'un programa de conscienciació
  7. El programa de conscienciació de BazarNube
  8. Errors comuns i consells
  9. Exercicis
  10. Conclusió

Per què el factor humà és decisiu

La majoria de les vulnerabilitats del Top Ten neixen d'una decisió humana: concatenar SQL en lloc de parametritzar, oblidar una comprovació d'autorització, confiar en una dada del client. Les eines ajuden a atrapar patrons, però no totes les decisions són un patró detectable. Una fallada de lògica de negoci o de disseny (A04) rarament la troba un escàner; l'evita un desenvolupador que ha après a pensar com un atacant.

A més, la conscienciació és el que fa que la resta del programa funcioni. Un pipeline DevSecOps amb gates pressuposa un equip que entén per què existeixen i no els sabota; un threat model pressuposa gent capaç d'imaginar amenaces. Sense cultura, les eines es converteixen en obstacles que la gent aprèn a esquivar.

Formació en secure coding per a desenvolupadors

La formació genèrica de "conscienciació en seguretat" (no cliquis enllaços estranys) és necessària per a tothom, però insuficient per a qui construeix programari. Els desenvolupadors necessiten secure coding: aprendre a escriure codi que resisteix atacs, amb exemples en el seu propi stack.

Característiques d'una formació de secure coding eficaç:

  • Específica de l'stack: exemples en React, Node/Express i Java/Spring —el que l'equip usa de veritat—, no diapositives genèriques.
  • Basada en el Top Ten i ASVS: ensenya a prevenir els riscos reals i a complir requisits verificables.
  • Pràctica, no només teòrica: s'aprèn corregint codi vulnerable, no escoltant.
  • Contínua: una sessió anual s'oblida; millor píndoles freqüents lligades a troballes reals del backlog.
  • Contextual (just-in-time): el millor moment per ensenyar sobre injecció és quan el SAST en marca una al PR d'aquesta persona.

Una bona font de contingut són les OWASP Cheat Sheets (guies concises per tema) i la WSTG, que veurem catalogades a 07-05.

Security champions: seguretat distribuïda

Un equip de seguretat central mai escala a desenes d'equips de desenvolupament. La solució que promouen tant OWASP com SAMM són els security champions: desenvolupadors dins de cada equip que assumeixen un rol addicional de referent de seguretat.

Un security champion:

  • No és un expert en seguretat a temps complet, sinó un desenvolupador amb interès i una mica de formació extra.
  • És el pont entre el seu equip i l'equip de seguretat central.
  • Ajuda a revisar PRs amb focus de seguretat, facilita el threat modeling del seu equip (recordem qui va revisar el model del checkout a 07-02) i triatja les troballes del pipeline.
  • Difon la cultura des de dins, amb la credibilitat d'un igual.
Aspecte Equip de seguretat central Security champion
Dedicació Temps complet Parcial, dins del seu equip
Coneixement Profund en seguretat Profund en el seu producte, bàsic-mitjà en seguretat
Escalabilitat Limitada Alta (un per equip)
Rol Defineix, habilita, forma Aplica, revisa, difon

El programa de champions és una de les inversions de major retorn per elevar la maduresa, precisament perquè escala la cultura.

Gamificació: aprendre atacant (Juice Shop, CTFs)

S'aprèn molt més trencant un sistema que llegint sobre com es trenca. La gamificació converteix l'aprenentatge en un repte atractiu:

  • OWASP Juice Shop: aplicació web deliberadament vulnerable, moderna (JavaScript), amb desenes de reptes que cobreixen tot el Top Ten. L'alumne explota vulnerabilitats reals en un entorn segur i guanya punts. Ideal per a tallers interns.
  • CTF (Capture The Flag): competicions on els equips resolen reptes de seguretat per capturar "banderes". Fomenten l'aprenentatge col·laboratiu i la sana competició.
  • Entorns vulnerables: WebGoat (també d'OWASP), DVWA i similars, per practicar tècniques concretes.

La gamificació té un benefici cultural extra: en posar-se al costat de l'atacant, el desenvolupador interioritza per què importen les defenses que abans veia com a burocràcia.

Conscienciació general i phishing awareness

Més enllà de qui programa, tota l'organització maneja informació i accessos. La conscienciació general cobreix tothom, inclosos rols no tècnics (product, vendes, direcció):

  • Higiene bàsica: gestió de contrasenyes, MFA, bloqueig d'equips, no reutilitzar credencials.
  • Phishing awareness: el phishing segueix sent una de les principals vies d'entrada. A alt nivell, un programa inclou formació sobre com reconèixer correus sospitosos i simulacions de phishing controlades per mesurar i millorar. La simulació s'ha d'usar per educar, mai per castigar o avergonyir: una cultura punitiva fa que la gent amagui els errors en lloc de reportar-los.
  • Report fàcil: un canal clar i sense fricció per avisar d'alguna cosa sospitosa; reportar ha de ser fàcil i ben rebut.

Mètriques d'un programa de conscienciació

El que no es mesura no es pot millorar. Un programa seriós defineix mètriques, evitant les purament vanitoses (nombre d'hores de formació) a favor de les que reflecteixen canvi de comportament i reducció de risc.

Mètrica Què indica Tipus
% de desenvolupadors formats en secure coding Cobertura de la formació Activitat
Nº de security champions actius / equips Abast del programa distribuït Cobertura
Tendència de vulnerabilitats per categoria Es reintrodueixen els mateixos errors? Resultat
Taxa de clics en simulacions de phishing Resistència real al phishing Resultat
Taxa i temps de report de phishing Cultura de report activa Resultat
Temps mitjà de correcció de troballes L'equip prioritza la seguretat? Resultat

Les mètriques de resultat (baixen els errors reals?) valen més que les d'activitat (quanta formació vam donar?). L'objectiu últim és que la tendència de vulnerabilitats reintroduïdes baixi amb el temps.

El programa de conscienciació de BazarNube

A BazarNube la seguretat la portava de facto Lucía en els seus estones lliures. El programa formalitza i distribueix aquesta responsabilitat, emmarcat explícitament en la pràctica Education & Guidance del domini Govern de SAMM.

Estructura de security champions:

graph TD
    SecCore[Equip de seguretat: Lucia + SRE]
    ChFront[Champion Frontend: Marc]
    ChBack[Champion Backend]
    ChLegacy[Champion Legacy Java]

    SecCore -->|forma i habilita| ChFront
    SecCore -->|forma i habilita| ChBack
    SecCore -->|forma i habilita| ChLegacy
    ChFront -->|difon a| EqFront[Equip Frontend]
    ChBack -->|difon a| EqBack[Equip Backend]
    ChLegacy -->|difon a| EqLegacy[Equip Legacy]

Pla de formació (primer any):

Trimestre Activitat Públic Objectiu
Q1 Onboarding de secure coding (Top Ten al seu stack) Tots els desenvolupadors Base comuna
Q1 Selecció i formació de champions 1 per equip Arrencar el programa distribuït
Q2 Taller pràctic amb OWASP Juice Shop Desenvolupadors Aprendre atacant
Q2 Conscienciació general + 1a simulació de phishing Tota l'empresa Higiene i baseline
Q3 Píndoles just-in-time lligades a troballes del pipeline Autor del PR Aprenentatge contextual
Q3 CTF intern per equips Desenvolupadors + champions Cohesió i pràctica
Q4 Revisió de mètriques i ajust del programa Seguretat + CTO Millora contínua (SAMM)

El programa no és un curs puntual, sinó un cicle que es retroalimenta amb les mètriques i amb les troballes reals, pujant el nivell de maduresa any rere any.

Errors Comuns i Consells

  • Formació genèrica i anual. Una xerrada d'una hora a l'any no canvia comportaments. Prioritza formació específica de l'stack, contínua i contextual (just-in-time sobre troballes reals).
  • Phishing punitiu. Usar les simulacions per assenyalar culpables destrueix la confiança i fa que la gent amagui incidents. Usa-les per educar i per mesurar la tendència, no per castigar.
  • Champions sense temps ni suport. Anomenar champions i no donar-los hores, formació ni reconeixement condemna el programa. El rol necessita suport explícit de direcció.
  • Mesurar només activitat. "Vam donar 200 hores de formació" no diu si l'equip és més segur. Mesura resultats: baixen els errors reintroduïts?, millora el temps de correcció?
  • Consell: aprofita la curiositat. Un taller de Juice Shop on la gent "hackeja" de veritat genera més aprenentatge i entusiasme que deu presentacions. L'engagement és el millor multiplicador de la formació.

Exercicis

Exercici 1. BazarNube té un equip central de dues persones i sis equips de desenvolupament. Proposa un mecanisme per escalar la cultura de seguretat sense contractar i explica'n la lògica.

Exercici 2. Classifica cada mètrica com d'activitat o de resultat i indica quina és més valuosa: (a) hores de formació impartides, (b) tendència de vulnerabilitats d'injecció per trimestre, (c) taxa de clics en simulacions de phishing.

Exercici 3. El SAST marca una injecció SQL al PR d'un desenvolupador júnior. Descriu com aprofitar aquest moment com a oportunitat de formació just-in-time.

Solucions

Solució 1. Un programa de security champions: un desenvolupador per equip (sis en total) rep formació extra i actua de referent i pont amb l'equip central. La seva lògica és que un equip central no escala a sis equips, però sí que pot habilitar sis champions que difonen la cultura des de dins, amb la credibilitat d'un igual i el coneixement profund del seu propi producte. Multiplica l'abast sense multiplicar la plantilla i és la pràctica que SAMM recomana.

Solució 2.

  • (a) Activitat. (b) Resultat. (c) Resultat.
  • La més valuosa és (b): mesura si la formació realment redueix la reintroducció de l'error, que és l'objectiu final. (a) només mesura esforç, no efecte.

Solució 3. En lloc de només rebutjar el PR, el security champion o un revisor comenta la troballa explicant per què és vulnerable, enllaça la Cheat Sheet de prevenció d'injecció, mostra la correcció amb consulta parametritzada i, si escau, demana una prova que cobreixi el cas. Així l'aprenentatge passa en el context real, sobre el codi d'aquesta persona i en el moment en què és més memorable, en lloc d'en una xerrada abstracta mesos després.

Conclusió

El factor humà és el fonament de tot el programa: les eines atrapen patrons, però són les persones qui prenen les decisions de disseny i qui fan que gates, threat models i pipelines funcionin en lloc d'estorbar. Hem dissenyat el programa de BazarNube amb secure coding específic de l'stack, security champions que escalen la cultura, gamificació amb Juice Shop i CTFs, i mètriques de resultat, tot emmarcat en la pràctica Education & Guidance de SAMM. Al llarg d'aquestes lliçons han aparegut moltes eines i recursos pel seu nom. A l'última lliçó del mòdul, 07-05, els reunim en un panorama ordenat per categories i definim l'stack de seguretat recomanat per a BazarNube, tancant així les bones pràctiques abans de passar a posar-les en joc.

Curs d'OWASP: Directrius i Estàndards per a la Seguretat en Aplicacions Web

Mòdul 1: Introducció a OWASP

Mòdul 2: Principals Projectes d'OWASP

Mòdul 3: OWASP Top Ten 2021 en Profunditat

Mòdul 4: OWASP ASVS (Application Security Verification Standard)

Mòdul 5: OWASP SAMM (Software Assurance Maturity Model)

Mòdul 6: OWASP ZAP (Zed Attack Proxy)

Mòdul 7: Bones Pràctiques i Recomanacions

Mòdul 8: Exercicis Pràctics i Casos d'Estudi

Mòdul 9: Avaluació i Certificació

© Copyright 2026. Tots els drets reservats