{"id":987627822,"date":"2026-06-25T10:53:11","date_gmt":"2026-06-25T08:53:11","guid":{"rendered":"https:\/\/warpnet.nl\/?p=987627822"},"modified":"2026-06-25T11:22:36","modified_gmt":"2026-06-25T09:22:36","slug":"ai-beeldgeneratie-gebruiken-voor-social-engineering","status":"publish","type":"post","link":"https:\/\/warpnet.nl\/en\/blog\/ai-beeldgeneratie-gebruiken-voor-social-engineering\/","title":{"rendered":"AI-beeldgeneratie gebruiken voor Social Engineering"},"content":{"rendered":"<p class=\"has-medium-font-size\">AI-beeldgeneratie maakt het steeds makkelijker om geloofwaardig visueel bewijs te maken. Dat verandert social engineering: een verhaal hoeft niet langer alleen verbaal overtuigend te zijn, maar kan worden ondersteund met foto&#x2019;s, screenshots of aangepaste afbeeldingen.<br><br>Collin, stagiair Platform Engineering bij Warpnet kreeg de opdracht om een self-hosted tool te bouwen waarmee organisaties gecontroleerd kunnen worden getoetst op hun weerbaarheid tegen AI-ondersteunde social engineering. Deze blogpost beschrijft hoe die stageopdracht is aangepakt en wat hij daarvan heb geleerd. De belangrijkste les: het genereren van beelden is niet het moeilijkste deel. De waarde zit vooral in goede scope, realistische scenario&#x2019;s, controle over data, consistente persona&#x2019;s en een zorgvuldige vertaling naar verdedigbare maatregelen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">De persona-en-beeld-loop<\/h2>\n\n\n\n<p>Teams die social-engineeringtests uitvoeren, lopen telkens door ongeveer dezelfde cyclus. Voor AI-ondersteunde scenario&#x2019;s heb ik die cyclus vertaald naar zes stappen:<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li>Scope: bepaal welk vertrouwen, proces of controlemoment je wilt testen.<\/li>\n\n\n\n<li>Pretext: bouw een verhaal dat past binnen de opdracht en de organisatie.<\/li>\n\n\n\n<li>Dossier: genereer een persona met biografie, werkgeschiedenis en basismateriaal.<\/li>\n\n\n\n<li>Beeldstrategie: kies of je snelle beelden, consistente personages of aanpassingen aan bestaande foto&#x2019;s nodig hebt.<\/li>\n\n\n\n<li>Validatie: controleer of de beelden technisch en inhoudelijk geloofwaardig zijn.<\/li>\n\n\n\n<li>Terugkoppeling: vertaal de testresultaten naar concrete verbeteringen in processen en awareness.<\/li>\n<\/ol>\n\n\n\n<p>De tool ondersteunt vooral stap 3 tot en met 5. De eerste en laatste stap blijven mensenwerk: daar worden de ethische grenzen, klantafspraken en leerdoelen bepaald.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">1. Scope: test vertrouwen, niet alleen herkenning<\/h2>\n\n\n\n<p>Een veelgemaakte fout bij AI-awareness is dat de nadruk volledig komt te liggen op &#x201C;AI herkennen&#x201D;. Dat is nuttig, maar onvoldoende. De betere vraag is: welke processen gaan ervan uit dat beeldmateriaal automatisch betrouwbaar is?<br>Neem een volgende scenario als voorbeeld. In een algemene ruimte hangt een brandalarm. Een tester maakt daar een foto van en laat die later aanpassen, zodat het lijkt alsof een led brandt.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"626\" height=\"417\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_rgzde_00009_.png\" alt=\"\" class=\"wp-image-987627823\" style=\"aspect-ratio:1.501217821411174;width:401px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_rgzde_00009_.png 626w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_rgzde_00009_-300x200.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_rgzde_00009_-18x12.png 18w\" sizes=\"(max-width: 626px) 100vw, 626px\"\/><figcaption class=\"wp-element-caption\">Origineel<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"624\" height=\"416\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_risyq_00022_-1.png\" alt=\"\" class=\"wp-image-987627824\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_risyq_00022_-1.png 624w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_risyq_00022_-1-300x200.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/ComfyUI_temp_risyq_00022_-1-18x12.png 18w\" sizes=\"(max-width: 624px) 100vw, 624px\"\/><figcaption class=\"wp-element-caption\">Aangepaste foto<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p><br>Daarmee kan een onderhoudsverhaal overtuigender lijken dan het eigenlijk is:<br>&#x201C;Ik ben Jeroen van <strong><em>*<\/em><\/strong> Installatietechniek. Ik kreeg een melding dat er iets mis was met &#xE9;&#xE9;n van jullie brandalarmen.&#x201D;<br><br>Het punt van zo&#x2019;n test is niet dat medewerkers perfecte AI-detectie moeten uitvoeren. Het punt is dat een organisatie wil weten of medewerkers leveranciers, monteurs en spoedverzoeken via bekende kanalen controleren. Een foto kan een verhaal versterken, maar mag nooit de verificatie vervangen.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">2. Stack: houd gevoelige testdata lokaal<\/h2>\n\n\n\n<p>Publieke beeldgeneratiemodellen kunnen uitstekende resultaten leveren, maar social-engineeringtests bevatten vaak gevoelige klantcontext: foto&#x2019;s van locaties, interne scenario&#x2019;s, persona&#x2019;s en soms portretmateriaal van testers. Daarom is voor deze tool gekozen voor een self-hosted opzet.<br><br>De Docker-stack bestaat uit vier componenten:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Flask: de webapp waarin dossiers, uploads en workflows worden aangestuurd.<\/li>\n\n\n\n<li>ComfyUI: de engine voor beeldgeneratie en inpainting-workflows.<\/li>\n\n\n\n<li>Ollama: de lokale LLM-container voor biografie&#xEB;n en werkervaring.<\/li>\n\n\n\n<li>Kohya-SS: de container voor het trainen van LoRA&#x2019;s.<\/li>\n<\/ul>\n\n\n\n<p>Deze opzet geeft meerdere voordelen: de data blijft lokaal, workflows zijn herhaalbaar en verschillende beeldtaken kunnen als losse modules worden opgebouwd.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">3. Dossier: bouw de persona vanuit context<\/h2>\n\n\n\n<p>Een goede persona begint niet bij een gezicht, maar bij context. De tool vraagt daarom eerst basisgegevens uit, zoals naam, leeftijd, woonplaats, sector, functie, werkplek, hobby&#x2019;s en opleidingsniveau. Die gegevens worden via SQLAlchemy opgeslagen in de database.<br><br>Daarna gebruikt de tool SerpAPI om relevante context op te halen. Voor een fictieve systeembeheerder uit Assen kunnen dat bijvoorbeeld deze zoekqueries zijn:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><code>bekende bedrijven ICT \/ Software Assen Nederland<\/code><\/li>\n\n\n\n<li><code>hogeschool ICT \/ Software Assen Nederland<\/code><\/li>\n<\/ul>\n\n\n\n<p>Het resultaat is een JSON-bestand met zoekresultaten:<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"530\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-1024x530.png\" alt=\"\" class=\"wp-image-987627825\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-1024x530.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-300x155.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-768x397.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-1536x795.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-2048x1060.png 2048w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-18x9.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-1080x559.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526134048-1920x993.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">SerpAPI visuele weergave.<\/figcaption><\/figure>\n\n\n\n<p><br>Die JSON gaat naar Ollama. Het LLM gebruikt de informatie om een realistische, maar fictieve, biografie en werkgeschiedenis op te bouwen.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">BIOGRAFIE:\nHenk de Vries is een ervaren systeembeheerder met meer dan 25 jaar ervaring\nin de ICT-branche. Na zijn afstuderen aan de Saxion Hogeschool voor HBO-ICT\nbegon hij zijn loopbaan bij een middelgrote ICT-firma in Assen. Hij\nspecialiseerde zich in systeembeheer en netwerkbeheer en werkte zich op tot\nsenior-beheerder. In 2016 verliet Henk de firma om als zelfstandig\nsysteembeheerder te gaan werken. Sindsdien heeft hij een breed scala aan\nklanten geholpen met hun ICT-problemen. In zijn vrije tijd houdt hij van\nhardlopen en zwemmen.\n\nWERKERVARING:\n2020-heden: Zelfstandig systeembeheerder\n2016-2020: Senior System Administrator bij ********* IT Services Assen\n2012-2016: System Administrator bij ********* Hogeschool\n2007-2012: Netwerkbeheerder bij ********* ICT\n1999-2007: Systeembeheerder bij ********* ICT<\/code><\/pre>\n\n\n\n<p>De output is geen eindpunt, maar startmateriaal. Een pentester kan de persona aanpassen aan de opdracht, inconsistenties verwijderen en details toevoegen die relevant zijn voor het scenario.<br><br>Vanuit hetzelfde dossier kan ook een basisportret worden gegenereerd. Dat geeft de persona een visuele identiteit voordat er eventueel een LoRA wordt getraind.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><div class=\"wp-block-image\">\n<figure class=\"alignleft size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526135008.png\" alt=\"\" class=\"wp-image-987627826\" style=\"width:527px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526135008.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526135008-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526135008-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526135008-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526135008-12x12.png 12w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Foto van het fictieve personage Henk de Vries.<\/figcaption><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">4. Beeldstrategie: kies de lichtste workflow die past<\/h2>\n\n\n\n<p>Niet elk scenario vraagt om dezelfde technische aanpak. De tool ondersteunt daarom drie soorten beeldwerk:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Out-of-the-box generatie<\/strong>: snel realistische afbeeldingen maken wanneer gezichtsconsistentie niet belangrijk is.<\/li>\n\n\n\n<li><strong>Consistente persona&#x2019;s<\/strong>: een LoRA trainen zodat dezelfde persoon in meerdere beelden herkenbaar blijft.<\/li>\n\n\n\n<li><strong>Inpainting<\/strong>: bestaande beelden aanpassen of een persoon in een bestaande foto plaatsen.<\/li>\n<\/ul>\n\n\n\n<p>De keuze hangt af van het testdoel. Als een afbeelding maar &#xE9;&#xE9;n keer wordt gebruikt, is out-of-the-box generatie vaak genoeg. Als een persona op LinkedIn, in e-mail en in meerdere scenariofoto&#x2019;s terugkomt, wordt gezichtsconsistentie belangrijker. Als de test draait om visueel bewijs uit een bestaande omgeving, is inpainting meestal de betere route.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Out-of-the-box generatie<\/h2>\n\n\n\n<p>Voor snelle beelden gebruikt de tool een ComfyUI-workflow met het checkpoint UltraReal Fine-Tune van Danrisi, beschikbaar via Civitai. Een checkpoint functioneert als basismodel. Een LoRA kan daar bovenop worden geladen om het model te specialiseren in een persoon, object of stijl.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111050-1.png\" alt=\"\" class=\"wp-image-987627828\" style=\"width:357px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111050-1.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111050-1-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111050-1-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111050-1-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111050-1-12x12.png 12w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Gegenereerde foto van een koeltoren bij nacht<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<p><em>prompt: d1g1cam, Cooling tower, nighttime, industrial setting, large cylindrical structure illuminated by orange lights, red warning lights at the top, steam billowing upwards, dark blue sky with lots of stars and aurora, reflection in still water below, surrounding industrial landscape, power lines and pylons to the right, scattered faintly lit buildings in the distance, clear and sharp image quality, long exposure, tranquility, calm atmosphere<\/em><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-full\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111128.png\" alt=\"\" class=\"wp-image-987627830\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111128.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111128-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111128-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111128-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527111128-12x12.png 12w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Gegenereerde foto van een CEO tijdens een presentatie<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<p><em>prompt: 40 year-old CEO having a presentation at defcon, formal clothing, slightly overweight<\/em><br><em><br><\/em>De checkpoint is gebaseerd op FLUX.1-dev en is gericht op beelden die minder studio-perfect ogen. Dat is belangrijk: te schone afbeeldingen vallen vaak juist sneller op.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"594\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-1024x594.png\" alt=\"\" class=\"wp-image-987627832\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-1024x594.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-300x174.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-768x445.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-1536x891.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-2048x1188.png 2048w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-18x10.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-1080x626.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527112528-1-1862x1080.png 1862w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">De out-of-the-box workflow in ComfyUI.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:10%\"><\/div>\n<\/div>\n\n\n\n<p>In deze workflow wordt ook de Realistic Amplifier for UltraReal Fine-Tune-LoRA van dezelfde maker geladen om het realisme verder te verhogen<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Smart Fill<\/h2>\n\n\n\n<p>Smart Fill past een geselecteerd deel van een bestaande afbeelding aan. De tester tekent een masker over het gebied dat moet veranderen en geeft een prompt mee. FLUX vult dat gebied vervolgens opnieuw in.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"505\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-1024x505.png\" alt=\"\" class=\"wp-image-987627834\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-1024x505.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-300x148.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-768x379.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-1536x758.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-2048x1011.png 2048w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-18x9.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-1080x533.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260602091907-1-1920x948.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Smart Fill-workflow in ComfyUI<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:10%\"><\/div>\n<\/div>\n\n\n\n<p>Dit is de workflow die ook in het brandalarmvoorbeeld wordt gebruikt. In een geautoriseerde opdracht kan dit helpen om te testen of medewerkers visueel bewijs te snel vertrouwen, bijvoorbeeld wanneer een afbeelding zogenaamd een storing, badge, sticker of interne situatie toont.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Insert Character<\/h2>\n\n\n\n<p>Insert Character gebruikt de Flux-Insert-Character-workflow van Kinelite. De workflow plaatst een persoon in een bestaande afbeelding op basis van vier inputs:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Source Image: de achtergrond of locatie.<\/li>\n\n\n\n<li>Masker: de plek waar de persoon moet komen.<\/li>\n\n\n\n<li>Reference Image: het gezicht of lichaam van de persoon die moet worden geplaatst.<\/li>\n\n\n\n<li>Prompt: de beschrijving van houding, kleding en context.<\/li>\n<\/ul>\n\n\n\n<p>Source:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339-1024x577.jpg\" alt=\"\" class=\"wp-image-987627835\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339-1024x577.jpg 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339-300x169.jpg 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339-768x433.jpg 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339-18x10.jpg 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339-1080x608.jpg 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Attack-of-the-Clones-battle-824326339.jpg 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Source image met een fictieve gevechtssc&#xE8;ne<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:10%\"><\/div>\n<\/div>\n\n\n\n<p>Mask:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"575\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-1024x575.png\" alt=\"\" class=\"wp-image-987627836\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-1024x575.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-300x168.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-768x431.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-1536x862.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-18x10.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-1080x606.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652-1920x1077.png 1920w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135652.png 1996w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Masker voor de locatie waar de persoon moet komen<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:10%\"><\/div>\n<\/div>\n\n\n\n<p>Reference:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-1024x1024.png\" alt=\"\" class=\"wp-image-987627837\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-1024x1024.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-1536x1536.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-12x12.png 12w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1-1080x1080.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/view-1.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Referentieafbeelding van Henk de Vries<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>Resultaat:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"577\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712-1024x577.png\" alt=\"\" class=\"wp-image-987627838\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712-1024x577.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712-300x169.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712-768x433.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712-18x10.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712-1080x608.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527135712.png 1200w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Resultaat waarin Henk in de sc&#xE8;ne is geplaatst<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>Dit voorbeeld is bewust overdreven. Het laat vooral zien dat de workflow belichting, positie en compositie kan combineren. Voor echte opdrachten gebruik je uiteraard realistische scenario&#x2019;s binnen de afgesproken scope.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">5. Consistentie: train een LoRA wanneer een persona terugkomt<\/h2>\n\n\n\n<p>Het grootste probleem bij meerdere gegenereerde beelden is consistentie. Je kunt dezelfde prompt opnieuw gebruiken, maar het gezicht, de lichaamsbouw en kleine herkenbare kenmerken veranderen vaak alsnog. Voor een persona die vaker terugkomt, is dat niet goed genoeg.<br><br>Daarvoor gebruikt de tool een Low-Rank Adaptation, meestal LoRA genoemd. Een LoRA is een kleine toevoeging aan een bestaand diffusion-model. Door het model op een dataset met afbeeldingen van &#xE9;&#xE9;n persoon te trainen, leert de LoRA welke kenmerken bij die persoon horen.<br><br>De tool ondersteunt twee datasetroutes:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Fictieve persoon: start vanuit &#xE9;&#xE9;n gegenereerde afbeelding en maak daar meerdere variaties van.<\/li>\n\n\n\n<li>Echte persoon: upload foto&#x2019;s van een tester.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Fictieve persona&#x2019;s<\/h2>\n\n\n\n<p>Voor fictieve persona&#x2019;s gebruikt de tool een workflow van Mickmumpitz, een AI-YouTuber die veel met diffusion-modellen werkt. De workflow kan vanuit &#xE9;&#xE9;n referentieafbeelding meerdere variaties maken waarbij de gezichtskenmerken redelijk consistent blijven.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-1024x1024.png\" alt=\"\" class=\"wp-image-987627840\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-1024x1024.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-1536x1536.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-12x12.png 12w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1-1080x1080.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526143601-1.png 2048w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Henk de Vries in een gegenereerde parksc&#xE8;ne.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>De workflow gebruikt Qwen 2.5. Die neemt een referentieafbeelding en genereert op basis van een prompt nieuwe beelden.<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\"> A hyper-realistic, low-angle cinematic shot of the exact person from the reference image, sitting on a natural surface in a sun-drenched park. The camera is positioned low, looking up towards the subject.\n\nSubject &amp; Pose: The person is captured with their head tilted back, eyes gazing upward into the sky with a serene, neutral expression. Every facial feature&mdash;the eye shape, jawline, and nose bridge&mdash;must be an exact 1:1 match to the reference person. The hair texture and body proportions remain identical.\n\nAtmosphere &amp; Lighting: Bright, direct afternoon sunlight creating natural, high-contrast highlights on the skin and hair. Soft environment bounce-light fills the shadows. The sky above is a clear, brilliant blue with subtle lens flare.\n\nEnvironment: The background consists of out-of-focus green tree canopies and a vast open sky, rendered with a creamy, professional bokeh. The person is wearing the identical white t-shirt and shorts from the reference image, with realistic fabric textures and sun-lit fibers.\n\nTechnical Quality: Shot on a Sony A7R IV, 35mm wide-angle lens, f\/8 for deep clarity on the subject. High-resolution 8k photography, RAW format. Meticulous detail on skin pores, natural skin oils, and individual hair strands. Strictly no digital smoothing, no cartoon shading, and no 3D-render aesthetic. High-fidelity photographic realism.<\/code><\/pre>\n\n\n\n<p>In ComfyUI kun je zelf bepalen hoeveel afbeeldingen worden gegenereerd:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"640\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-1024x640.png\" alt=\"\" class=\"wp-image-987627841\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-1024x640.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-300x188.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-768x480.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-1536x960.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-2048x1280.png 2048w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-18x12.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-400x250.png 400w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-1080x675.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526144907-1728x1080.png 1728w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">ComfyUI met de Consistent Character-workflow van Mickmumpitz.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>Voor deze tool is de oorspronkelijke hoeveelheid van 22 afbeeldingen aangehouden als dataset voor LoRA-training.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Echte personen<\/h2>\n\n\n\n<p>Voor echte personen is de dataset minder technisch, maar kwaliteitscontrole blijft belangrijk. De webapp bevat daarom een uploadscherm waarmee foto&#x2019;s in bulk kunnen worden toegevoegd en bijgesneden naar 1024&#xD7;1024 pixels.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"780\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-1024x780.png\" alt=\"\" class=\"wp-image-987627842\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-1024x780.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-300x229.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-768x585.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-1536x1170.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-16x12.png 16w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-1080x823.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036-1418x1080.png 1418w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095036.png 1738w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Dataset van een echte persoon.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>Daarna maakt een workflow de achtergrond wit. Daarmee verklein je de kans dat de LoRA achtergrondpatronen leert in plaats van alleen persoonskenmerken. Een paar foto&#x2019;s met achtergrond zijn geen probleem, maar de achtergrond mag de dataset niet domineren.<br><br>De tool bevat ook een gids die uitlegt welke foto&#x2019;s samen een bruikbare dataset vormen.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:90%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"517\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-1024x517.png\" alt=\"\" class=\"wp-image-987627843\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-1024x517.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-300x152.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-768x388.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-1536x776.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-2048x1035.png 2048w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-18x9.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-1080x546.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527095715-1920x970.png 1920w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Datasetgids.<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:10%\"><\/div>\n<\/div>\n\n\n\n<h2 class=\"wp-block-heading\">6. Training: gebruik loss als signaal, niet als oordeel<\/h2>\n\n\n\n<p>Voor training heeft elke afbeelding een caption nodig: een tekstbestand dat beschrijft wat er op de afbeelding staat. De Mickmumpitz-workflow gebruikt Florence-2 om captions automatisch te genereren. Die captions worden samen met de afbeeldingen in de datasetmap geplaatst.<br><br>Daarna start de tool via de Kohya-SS API een LoRA-training. De meeste instellingen blijven gelijk, zoals resolutie, modelpad en trainingslocaties. Per persona veranderen vooral de naam, datasetmappen en trainingsstappen.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"867\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526154133-1024x867.png\" alt=\"\" class=\"wp-image-987627844\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526154133-1024x867.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526154133-300x254.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526154133-768x650.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526154133-14x12.png 14w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260526154133.png 1054w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">JSON-template met trainingsinstellingen<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>Een belangrijk detail is het trainingstoken. In captions staat bijvoorbeeld:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">h3nkd3 vr135, The image is a close-up portrait of an elderly man's face. The man appears to be in his late 60s or early 70s, with gray hair that is slightly disheveled and falls over his shoulders. His eyes are closed, and his expression is peaceful and serene. He has a slight smile on his lips and his eyebrows are slightly furrowed. He is wearing a dark blue polo shirt with a collar. The background is white, making the man the focal point of the image.<\/code><\/pre>\n\n\n\n<p>Zo&#x2019;n token voorkomt dat het model bestaande associaties met gewone namen mengt met de persona. &#x201C;Roos&#x201D; kan bijvoorbeeld een naam zijn, maar ook een bloem. Een uniek token geeft de LoRA een duidelijker anker.<br><br>Het trainen zelf blijft een iteratief proces. Een LoRA kan ondertraind zijn, waardoor de persona niet genoeg lijkt, of overtraind, waardoor het model trainingsbeelden te letterlijk kopieert.<br><br>Kohya-SS kan trainingslogs naar TensorBoard schrijven:<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:66.66%\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"802\" height=\"895\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527093550.png\" alt=\"\" class=\"wp-image-987627845\" style=\"aspect-ratio:0.8961062590975255;width:468px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527093550.png 802w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527093550-269x300.png 269w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527093550-768x857.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527093550-11x12.png 11w\" sizes=\"(max-width: 802px) 100vw, 802px\"\/><figcaption class=\"wp-element-caption\">TensorBoard-grafiek van het LoRA-trainingsproces<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:33.33%\"><\/div>\n<\/div>\n\n\n\n<p>De loss-grafiek is een nuttige weergave van het LoRA-trainingstraject. Tijdens de training leert de LoRA om afbeeldingen uit de dataset te reconstrueren vanuit een afbeelding die alleen uit ruis bestaat (latent image).<br><br>De waarden op de Y-as zijn gebaseerd op het verschil tussen de door het model gegenereerde afbeelding en de oorspronkelijke afbeelding uit de dataset. Dit proces wordt herhaald voor alle afbeeldingen in de dataset gedurende meerdere trainingsstappen en epochs.<br><br>Dalen in de grafiek kunnen interessante checkpoints zijn om te testen omdat de loss daar relatief laag is, wat erop wijst dat het model de trainingsdata op dat moment goed heeft geleerd. Ze garanderen echter niet dat de output visueel de beste is. De uiteindelijke selectie vraagt daarom altijd om handmatige beoordeling.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"946\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-1024x946.png\" alt=\"\" class=\"wp-image-987627846\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-1024x946.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-300x277.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-768x709.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-1536x1419.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-13x12.png 13w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-1080x998.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801-1169x1080.png 1169w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102801.png 1560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Eerste testresultaat van een LoRA<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"957\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-1024x957.png\" alt=\"\" class=\"wp-image-987627847\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-1024x957.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-300x280.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-768x718.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-1536x1436.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-13x12.png 13w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-1080x1010.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815-1155x1080.png 1155w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102815.png 1567w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Tweede testresultaat van een LoRA<\/figcaption><\/figure>\n<\/div>\n<\/div>\n\n\n\n<p>Latere checkpoints kunnen beter worden, maar niet altijd.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:80%\">\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"483\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-1024x483.png\" alt=\"\" class=\"wp-image-987627848\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-1024x483.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-300x142.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-768x362.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-1536x725.png 1536w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-18x8.png 18w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910-1080x510.png 1080w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527102910.png 1560w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Latere test waarin een dubbel personage ontstaat<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:20%\"><\/div>\n<\/div>\n\n\n\n<p>In dit voorbeeld ontstaat zelfs een dubbel personage. Daarom test je meerdere checkpoints en kies je de LoRA die in de praktijk het meest bruikbaar is.<br><br>Met een goede LoRA kun je dezelfde persoon in meerdere contexten laten terugkomen.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110459.png\" alt=\"\" class=\"wp-image-987627849\" style=\"width:435px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110459.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110459-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110459-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110459-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110459-12x12.png 12w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Gegenereerde foto van dezelfde persoon in een cafetaria<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\"><\/div>\n<\/div>\n\n\n\n<p><em>prompt: d1g1cam, wel-lit, Low-resolution photo, shot on a mobile phone, daytime, cafeteria. Solo foto of c0l1n5m17 wearing a formal attire, relaxed look, closed mouth.<\/em><\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\">\n<figure class=\"wp-block-image size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"1024\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110235.png\" alt=\"\" class=\"wp-image-987627850\" style=\"width:435px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110235.png 1024w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110235-300x300.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110235-150x150.png 150w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110235-768x768.png 768w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/Pasted-image-20260527110235-12x12.png 12w\" sizes=\"(max-width: 1024px) 100vw, 1024px\"\/><figcaption class=\"wp-element-caption\">Gegenereerde foto van dezelfde persoon in een park<\/figcaption><\/figure>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:50%\"><\/div>\n<\/div>\n\n\n\n<p><em>prompt: d1g1cam, wel-lit, Low-resolution photo, shot on a mobile phone, daytime, in a park. Solo foto of c0l1n5m17 sitting with his dog, wearing a casual green hoodie, relaxed look, closed mouth.<\/em><br><em><br><\/em>Voor social-engineeringtests is dit vooral nuttig wanneer een pretext meerdere contactmomenten heeft. De persona moet dan niet alleen inhoudelijk kloppen, maar ook visueel herkenbaar blijven.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Wat organisaties hiervan kunnen leren<\/h2>\n\n\n\n<p>AI-beeldgeneratie maakt social engineering niet automatisch succesvol, maar het verlaagt wel de moeite die nodig is om een verhaal geloofwaardig te ondersteunen. De verdedigende les is daarom niet: &#x201C;leer elk AI-beeld herkennen.&#x201D; De les is: bouw processen die niet afhankelijk zijn van beeldvertrouwen alleen.<br><br>Een paar praktische maatregelen:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Controleer externe monteurs, leveranciers en bezoekers via bekende interne kanalen.<\/li>\n\n\n\n<li>Behandel foto&#x2019;s, screenshots en meldingen als context, niet als bewijs.<\/li>\n\n\n\n<li>Maak duidelijk wie uitzonderingen mag goedkeuren en hoe spoedverzoeken worden gecontroleerd.<\/li>\n\n\n\n<li>Neem AI-gegenereerde beelden mee in awareness-trainingen en tabletop-oefeningen.<\/li>\n\n\n\n<li>Rapporteer verdachte situaties laagdrempelig, ook als iemand overtuigend beeldmateriaal laat zien.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">Vooruitkijken<\/h2>\n\n\n\n<p>Self-hosted diffusion-modellen worden snel beter. ComfyUI maakt het relatief eenvoudig om workflows van anderen te testen, aan te passen en te integreren in een eigen tool. Dat is technisch leuk, maar voor security vooral relevant omdat aanvallers dezelfde ontwikkeling kunnen benutten.<br><br>Voor verdedigers ligt de kans in gecontroleerd oefenen. Door AI-ondersteunde scenario&#x2019;s binnen een veilige opdracht te testen, ontdek je waar medewerkers, procedures en aannames nog te veel vertrouwen op wat er visueel overtuigend uitziet. Hoe realistischer de beelden worden, hoe belangrijker het wordt dat verificatieprocessen sterker zijn dan de pixels.<\/p>\n\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-medium-font-size\" style=\"font-style:normal;font-weight:500\">Dit onderzoek is uitgevoerd &amp; geschreven door Collin Smit:<\/p>\n\n\n\n<div class=\"wp-block-columns are-vertically-aligned-center is-layout-flex wp-container-core-columns-is-layout-9d6595d7 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:25%\"><div class=\"wp-block-image is-style-rounded\">\n<figure class=\"aligncenter size-full is-resized\"><img loading=\"lazy\" decoding=\"async\" width=\"652\" height=\"644\" src=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/image-collin-e1782376505940.png\" alt=\"\" class=\"wp-image-987627863\" style=\"object-fit:cover;width:82px;height:auto\" srcset=\"https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/image-collin-e1782376505940.png 652w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/image-collin-e1782376505940-300x296.png 300w, https:\/\/warpnet.nl\/wp-content\/uploads\/2026\/06\/image-collin-e1782376505940-12x12.png 12w\" sizes=\"(max-width: 652px) 100vw, 652px\"\/><\/figure>\n<\/div><\/div>\n\n\n\n<div class=\"wp-block-column is-vertically-aligned-center is-layout-flow wp-block-column-is-layout-flow\">\n<p class=\"has-text-color has-medium-font-size\" style=\"color:#1d2537\"><strong><a href=\"https:\/\/www.linkedin.com\/in\/remco-vandermeer\/\" target=\"_blank\" rel=\"noopener\">Collin Smit<\/a><\/strong><br>Stagiair Platform Engineering<\/p>\n<\/div>\n<\/div>\n<\/div>\n\n\n\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\"><\/div>\n<\/div>\n\n\n\n<p><br><\/p>","protected":false},"excerpt":{"rendered":"<p>Collin, stagiair Platform Engineering bij Warpnet kreeg de opdracht om een self-hosted tool te bouwen waarmee organisaties gecontroleerd kunnen worden getoetst op hun weerbaarheid tegen AI-ondersteunde social engineering.<\/p>","protected":false},"author":17,"featured_media":987627881,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_et_pb_use_builder":"off","_et_pb_old_content":"","_et_gb_content_width":"","content-type":"","footnotes":""},"categories":[1],"tags":[],"class_list":["post-987627822","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-uncategorised"],"acf":[],"_links":{"self":[{"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/posts\/987627822","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/users\/17"}],"replies":[{"embeddable":true,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/comments?post=987627822"}],"version-history":[{"count":9,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/posts\/987627822\/revisions"}],"predecessor-version":[{"id":987627886,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/posts\/987627822\/revisions\/987627886"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/media\/987627881"}],"wp:attachment":[{"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/media?parent=987627822"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/categories?post=987627822"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/warpnet.nl\/en\/wp-json\/wp\/v2\/tags?post=987627822"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}