C'est en effet typiquement ce que fait un GAN, un premier réseau (générateur) s'entraîne à générer de nouvelles écritures, et le second (discriminateur) s'entraîne à détecter le vrai du faux. Les 2 réseaux s'entrainent ensemble et doivent rester à niveau équivalent, c'est à dire que le réseau discriminateur ne doit pas devenir trop fort et deviner tout (ou vise versa), sinon le gradient s'écroule et l'un des réseaux n'apprend plus rien : c'est un jeu à somme nulle, si l'un gagne l'autre perd (on cherche l'équilibre de Nash).
Tout ça pour dire que oui, c'est possible que ton second programme détecte les contrefaçons avec perfection, mais il est aussi possible d'entraîner ton premier programme afin qu'il crée des contrefaçons indétectables pour ton second programme.