{"id":66998,"date":"2026-07-28T12:22:30","date_gmt":"2026-07-28T10:22:30","guid":{"rendered":"https:\/\/qualityminds.com\/?p=66998"},"modified":"2026-07-28T12:22:32","modified_gmt":"2026-07-28T10:22:32","slug":"wie-wir-einen-penetration-tester-ueberrascht-haben","status":"publish","type":"post","link":"https:\/\/qualityminds.com\/de\/wie-wir-einen-penetration-tester-ueberrascht-haben\/","title":{"rendered":"Wie wir einen Penetration Tester \u00fcberrascht haben"},"content":{"rendered":"\n<section id=\"block-66794739c40b0\"  class=\"hero-section is-style-type-2 template11\">\n\t<div class=\"bg\">\n\t\t\t<\/div>\n\t<div class=\"container\">\n\t\t<div class=\"hero-section__wrapper flex flex-wrap justify-between\">\n\t\t\t<div class=\"hero-section__description\">\n\t\t\t\t<div class=\"text-element-wrapper\">\n\t\t\t\t\t<div class=\"text-element\">\n\n<h1 class=\"wp-block-heading has-text-align-left\" style=\"font-size:70px\"><strong><mark style=\"background-color:rgba(0, 0, 0, 0)\" class=\"has-inline-color has-theme-secondary-color\">Wie wir einen Penetration Tester \u00fcberrascht haben<\/mark><\/strong><\/h1>\n\n\n\n<p class=\"has-text-align-left has-x-large-font-size wp-block-paragraph\">\n  <strong>Secure Coding in der Praxis<\/strong>\n<\/p>\n\n<\/div>\n\t\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<\/div>\n\n\t\t\t\n\t\t\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<div class=\"hero-section__img\">\n\t\t\t\t\t\t<img fetchpriority=\"high\" decoding=\"async\" width=\"1080\" height=\"1080\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-2.png\" class=\"attachment-full size-full\" alt=\"\" loading=\"eager\" srcset=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-2.png 1080w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-2-300x300.png 300w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-2-1024x1024.png 1024w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-2-150x150.png 150w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-2-768x768.png 768w\" sizes=\"(max-width: 1080px) 100vw, 1080px\" \/>\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\n\t\t\t\n\t\t\t\t\t<\/div>\n\t<\/div>\n\n\t<div class=\"social\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"social-wrapper flex items-center\">\n\t\t\t\tFolge uns\t\t\t\t\t<ul class=\"no-list no-margin social-list\">\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.linkedin.com\/company\/qualityminds-gmbh\/\" target=\"_blank\" aria-label=\"share on social media\" rel=\"noopener\">\n\t\t\t\t\t<img decoding=\"async\" width=\"29\" height=\"29\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2024\/06\/linkedin.svg\" class=\"attachment-full size-full\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.facebook.com\/QualityMindsGmbH\" target=\"_blank\" aria-label=\"share on social media\" rel=\"noopener\">\n\t\t\t\t\t<img decoding=\"async\" width=\"29\" height=\"29\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2024\/06\/facebook.svg\" class=\"attachment-full size-full\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t\t\t<li>\n\t\t\t\t<a href=\"https:\/\/www.xing.com\/pages\/qualitymindsgmbh\" target=\"_blank\" aria-label=\"share on social media\" rel=\"noopener\">\n\t\t\t\t\t<img decoding=\"async\" width=\"29\" height=\"29\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2024\/09\/xing_icon.svg\" class=\"attachment-full size-full\" alt=\"\" loading=\"lazy\" \/>\t\t\t\t<\/a>\n\t\t\t<\/li>\n\t\t\t<\/ul>\n\t\t\t<\/div>\n\t\t<\/div>\n\t<\/div>\n<\/section>\n\n\n<div class=\"wp-block-columns is-layout-flex wp-container-core-columns-is-layout-8f761849 wp-block-columns-is-layout-flex\">\n<div class=\"wp-block-column is-layout-flow wp-block-column-is-layout-flow\" style=\"flex-basis:100%\"><\/div>\n<\/div>\n\n\n\n\t<section id=\"Externe_Abh\u00e4ngigkeiten\"  class=\"single-post-section\">\n\t\t<div class=\"container\">\n\t\t\t<div class=\"content\">\n\t\t\t\t<div class=\"single-post-main\">\n\t\t\t\t\t<div class=\"text-element\">\n\n<h2 class=\"wp-block-heading has-x-large-font-size\" style=\"font-style:normal;font-weight:600;letter-spacing:3px;text-transform:uppercase\"><strong>Secure Coding &#8211; ein Bericht aus der Praxis<\/strong><\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Den Test f\u00fcr eine komplexe Webanwendung hatte sich der Penetration Tester anders vorgestellt: Eine Anwendung mit 4 Bereichen, 10 Nutzerrollen mit verschiedenen Berechtigungen, Erfassung personenbezogener Daten, Email-Versand, Pdf-Generierung, Dateiuploads &#8211; irgendwo m\u00fcssen doch Schwachstellen zu finden sein. Doch an Tag 3 des Tests lie\u00dfen nennenswerte Befunde immer noch auf sich warten. Aber warum genau?<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong><strong><strong><strong>Die Herausforderung<\/strong><\/strong><\/strong><\/strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\"><a href=\"https:\/\/www.jugendtrainiert.com\/\" target=\"_blank\" rel=\"noopener\">Jugend trainiert f\u00fcr Olympia und Paralympics<\/a> ist der gr\u00f6\u00dfte Schulsportwettbewerb der Welt. Jedes Jahr nehmen rund 10.000 Kinder und Jugendliche in 26 Sportarten \u2013 darunter sieben paralympische Disziplinen \u2013 teil. Ihr gemeinsames Ziel: Mit ihrer Schule das Bundesfinale in Berlin erreichen und dort um den Bundessieg k\u00e4mpfen. Die Bundesfinals sind entsprechend Gro\u00dfveranstaltungen bei denen 4.500 Teilnehmende, Betreuungspersonen, Wettkampfleitungen und Helfende zusammenkommen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Die Veranstaltungen werden organisiert von der <a href=\"https:\/\/www.deutscheschulsportstiftung.de\/\" target=\"_blank\" rel=\"noopener\">Deutschen Schulsportstiftung<\/a>, die von den 16 Bundesl\u00e4ndern und Sportspitzenverb\u00e4nden getragen wird. Anmeldung, Organisation und Ergebnispublikation der Bundesfinals sollen auf einer zentralen Plattform digitalisiert werden, um Prozesse einfacher zu gestalten. Daf\u00fcr hatte die Deutsche Schulsportstiftung ein mehrj\u00e4hriges Softwareprojekt ausgeschrieben.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Im Rahmen dieses Projekts haben wir von QualityMinds in den vergangenen zweieinhalb Jahren mit einem Scrum-Team eine Webapplikation entwickelt. Dank der zentralen Anmeldung der Teilnehmenden und G\u00e4ste sind keine h\u00e4ndisch gepflegten Excel-Tabellen oder postalisch versandten Teilnahmeausweise mehr n\u00f6tig. Da die Webapplikation die personenbezogenen Daten sowie wenige Gesundheitsdaten der Teilnehmenden verarbeitet, lag in diesem Projekt ein besonderer Fokus auf der Sicherheit der Anwendung.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"666\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Jugend-Trainiert-1024x666.png\" alt=\"\" class=\"wp-image-67015\" srcset=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Jugend-Trainiert-1024x666.png 1024w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Jugend-Trainiert-300x195.png 300w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Jugend-Trainiert-768x499.png 768w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Jugend-Trainiert.png 1200w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong><strong><strong><strong><strong>Unsere Herangehensweise<\/strong><\/strong><\/strong><\/strong><\/strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Dieser Artikel konzentriert sich auf das Thema Secure Coding doch das Thema Sicherheit betrifft das ganze Team. Sicherheit ist nicht nur ein Thema w\u00e4hrend des Code-schreibens, sondern im ganzen Lebenszyklus der Software.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Besonders wichtige Fragen waren f\u00fcr uns und den Kunden:<mark><\/mark><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Wer darf welche Daten zu welchem Zeitpunkt sehen?<\/li>\n\n\n\n<li>Wer darf die Daten bearbeiten?<\/li>\n\n\n\n<li>Wer muss an einem Prozess beteiligt sein, und welche Informationen ben\u00f6tigen diese Personen in ihrer jeweiligen Rolle?<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Diese Fragen haben uns bereits im Requirements Engineering, in Abstimmung mit dem Kunden und in Refinements besch\u00e4ftigt. Wenn existierende Prozesse erstmals digitalisiert werden oder ein Email-und-Telefon-Workflow durch eine zentrale Plattform abgel\u00f6st wird, ist ein guter Moment, den ganzen Prozess neu zu denken. Dadurch kann der Prozess nutzerfreundlich gestaltet werden und eine wirksame Zugriffskontrolle f\u00fcr die Daten implementiert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Immer, wenn wir neue Aufgabenstellungen f\u00fcr die Entwicklung geplant haben, wurden n\u00f6tige Sicherheitsma\u00dfnahmen bereits im Refinement diskutiert. Beim ersten Dateiupload stellte sich etwa die Frage, welche Dateiformate akzeptiert werden m\u00fcssen und wie diese validiert werden k\u00f6nnen. So haben wir IT-Sicherheit bei der Planung und der Entwicklung neuer Features mitgedacht.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong><strong><strong><strong><strong>Ressourcen und Tools f\u00fcr Secure Coding<\/strong><\/strong><\/strong><\/strong><\/strong><\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Als ich in Vorbereitung f\u00fcr diesen Artikel mit meinem Kollegen Martin Schmidt \u00fcber unsere Herangehensweise sprach, sagte er: &#8222;Wir haben halt einfach alle Basics beachtet.&#8220; Aber was sind diese Basics?<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Secure Coding ist ein weites Feld bei dem es leicht ist, den \u00dcberblick zu verlieren. Empfohlen seien an dieser Stelle die <a href=\"https:\/\/top10proactive.owasp.org\/the-top-10\/\" target=\"_blank\" rel=\"noopener\">OWASP Top 10 Proactive Controls <\/a>als breiter \u00dcberblick, welchen Aspekten man sich bei der Absicherung einer Web-Applikation widmen sollte. Die Top 10 verweisen auf weitere Ressourcen zu jedem Thema sowie auf konkrete Tools, die bei der Implementierung und dem Testen von Ma\u00dfnahmen helfen k\u00f6nnen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Als Basis f\u00fcr unsere Anwendung haben wir etablierte Frameworks verwendet, konkret Spring Boot f\u00fcr das Backend und Angular f\u00fcr das Frontend. Als Identity Management setzen wir Keycloak ein. Sich mit den genutzten Frameworks vertraut zu machen und deren Konfigurationsm\u00f6glichkeiten z.B. f\u00fcr Authentication und Authorization zu nutzen ist eine wichtige Grundlage f\u00fcr eine sichere Anwendung. Als weitere &#8222;Standardbausteine&#8220; verwenden wir verschiedene Templating-Bibliotheken, um Html-Emails sowie Pdf-Dokumente zu generieren. Durch das Templating k\u00f6nnen Script-Injection-Angriffe effektiv verhindert werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Nachdem wir nun also die absoluten Basics beachten, stellt sich die Frage, wo wir weitermachen sollten? Hier haben uns verschiedene Methoden und Tools weiterf\u00fchrende Antworten gegeben:<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">In einem internen <strong>Threat Modelling Workshop<\/strong> haben wir uns strukturiert Gedanken gemacht, welche Bedrohungen f\u00fcr unsere Anwendung relevant sind und mit welchen Risiken diese einher gehen. Eine unterhaltsame Erg\u00e4nzung dazu sind Kartenspiele wie <a href=\"https:\/\/cornucopia.owasp.org\/\" target=\"_blank\" rel=\"noopener\">Cornucopia<\/a>. Die Karten geben zahlreiche Anregungen, welche m\u00f6glichen Bedrohungen ber\u00fccksichtigt werden sollten. Gleichzeitig macht es der spielerische Ansatz leichter, dass alle im Team sich trauen, ihre Erfahrung beizutragen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">SAST (Static Application Security Testing) &#8211; Der Scanner <a href=\"https:\/\/www.sonarsource.com\/de\/products\/sonarqube\/\" target=\"_blank\" rel=\"noopener\">SonarQube<\/a> hat uns neben Verbesserungspotential bei der Codequalit\u00e4t auch auf m\u00f6gliche Sicherheitsprobleme hingewiesen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">DAST (Dynamic Application Security Testing) &#8211; Ein Scan durch den <a href=\"https:\/\/www.zaproxy.org\/\" target=\"_blank\" rel=\"noopener\">Zed Attack Proxy <\/a>kann beispielsweise fehlende Security Headers erkennen.<\/p>\n\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"781\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/image-12-1024x781.png\" alt=\"\" class=\"wp-image-67003\" srcset=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/image-12-1024x781.png 1024w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/image-12-300x229.png 300w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/image-12-768x585.png 768w, https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/image-12.png 1334w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:600\">Speziell auf die Anwendung zugeschnittene Ma\u00dfnahmen<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Einige weiterf\u00fchrende Ma\u00dfnahmen haben wir speziell auf die Bedarfe unserer Webanwendung zugeschnitten.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr die Autorisierung verfolgen wir einen Defense-in-Depth-Ansatz. Dies bedeutet, dass f\u00fcr jede Aktion mehrere Autorisierungsschritte in verschiedenen Schichten der Anwendung erfolgen. F\u00fcr jeden API-Aufruf erfolgt zun\u00e4chst eine initiale Berechtigungspr\u00fcfung basierend auf der Benutzerrolle. Innerhalb des Dom\u00e4nenmodells erfolgt danach eine detaillierte Pr\u00fcfung. Diese bezieht neben der dauerhaft bestehenden Benutzerrolle z.B. die konkrete Funktion des Benutzers innerhalb einer Veranstaltung, den Status einer Entit\u00e4t oder die Einhaltung von Fristen f\u00fcr bestimmte Aktionen ein.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie bereits erw\u00e4hnt ist ein Dateiupload Teil unserer Anwendung. Im ersten Schritt haben wir daf\u00fcr eingeschr\u00e4nkt, welche Dateitypen unterst\u00fctzt werden m\u00fcssen. Als Basisabsicherung pr\u00fcfen wir die Dateigr\u00f6\u00dfe und den Content-Type aus dem HTTP-Request. Dar\u00fcber hinaus pr\u00fcfen wir die <a href=\"https:\/\/de.wikipedia.org\/wiki\/Magische_Zahl_(Informatik)#Magische_Zahlen_zur_Kennzeichnung_von_Dateitypen\" target=\"_blank\" rel=\"noopener\">Magic Bytes<\/a> auf \u00dcbereinstimmung mit dem Content-Type, um manipulierte Dateien abzulehnen. Die Pr\u00fcfung kann bequem mit der Bibliothek <a href=\"https:\/\/tika.apache.org\/\" target=\"_blank\" rel=\"noopener\">Apache Tika<\/a> erfolgen.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">F\u00fcr Dateiuploads und Importe von Dateien haben wir dar\u00fcber hinaus einen Teil der Verarbeitung ins Frontend verlagert. So findet die Verarbeitung im Browser der Nutzerin statt und die Angriffsfl\u00e4che des Backends, z.B. auf Dateiparser, wird geringer.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Bei einem Fotoupload k\u00f6nnen verschiedene Bild-Dateitypen durch Zeichnen auf einen Canvas in JPEG-Dateien konvertiert werden. Das Backend muss nur JPEG-Dateien akzeptieren.<\/li>\n\n\n\n<li>Bei einem Dateiupload k\u00f6nnen verschiedene Bild-Dateitypen und Pdf-Dateien in den Browser geladen werden. Alle werden in Pdf-Dateien konvertiert. Das Backend muss nur PDF-Dateien akzeptieren.<\/li>\n\n\n\n<li>Bei einem Excel-Dateiupload wird die Datei direkt im Browser mit <a href=\"https:\/\/sheetjs.com\/\" target=\"_blank\" rel=\"noopener\">SheetJS<\/a> geparst. Dabei wird validiert, dass die Daten grundlegend das erwartete Format haben. Die Datei wird im Frontend verarbeitet und die einzelnen Datens\u00e4tze auf Data Transfer Objects gemappt. Das Backend muss nur eine Liste von Data Transfer Objects akzeptieren.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Im Konfigurationsbereich innerhalb der Anwendung, der f\u00fcr einen eingeschr\u00e4nkten Nutzerkreis zug\u00e4nglich ist, k\u00f6nnen Textbausteine hinterlegt werden. Auf anderen Seiten zeigen wir diese Textbausteine mit entsprechender Formatierung an. Um die Textformatierung zu unterst\u00fctzen, haben wir uns f\u00fcr ein HTML-Format der Textbausteine entschieden. Das er\u00f6ffnet die M\u00f6glichkeit von Script-Injection-Angriffen, was wir nat\u00fcrlich verhindern wollen. Mit dem OWASP <a href=\"https:\/\/github.com\/owasp\/java-html-sanitizer\" target=\"_blank\" rel=\"noopener\">Java HTML Sanitizer<\/a> schr\u00e4nken wir die erlaubten HTML-Elemente und Kombinationen auf eine sichere Auswahl ein. Die Logik f\u00fcr die Sanitisierung ist Teil eines Value Objects <code>HtmlText<\/code> im Sinne des Domain Driven Design. Dadurch sind HTML-Textbausteine im Code direkt als solche erkennbar und es ist sichergestellt, dass die Sanitisierung f\u00fcr alle HTML-Textbausteine erfolgt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:600\">Tests f\u00fcr die IT-Sicherheit<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Mit der Umsetzung der Ma\u00dfnahmen sind wir fertig? Nicht ganz: Wie auch andere Teile der Software sollten die Sicherheitsma\u00dfnahmen getestet werden.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wie wichtig solche Tests sind, zeigt ein Beispiel aus dem Projekt: Wir setzen eine Cloud-Speicher-L\u00f6sung f\u00fcr hochgeladene Dateien ein. Dort haben wir das Malware-Scanning aktiviert, aber zun\u00e4chst nicht getestet. Erst bei einem Test stellte sich heraus, dass die Konfiguration des Malware-Scanners nicht ausreichend war: Die Dateien wurden zwar gescannt, aber die Scan-Ergebnisse sind nur mit bestimmten Berechtigungen sichtbar. F\u00fcr das Team war also zun\u00e4chst nicht erkennbar, ob der Scan stattgefunden hat und welche Dateien als auff\u00e4llig markiert wurden. Desweiteren haben wir die automatische Quarant\u00e4ne f\u00fcr auff\u00e4llige Dateien erst nachtr\u00e4glich eingeschaltet.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Erg\u00e4nzend zu den Tests des Entwicklungsteams haben wir einen externen Penetration Test durchf\u00fchren lassen, um unsere Anwendung auf Herz und Nieren zu pr\u00fcfen. Dabei haben wir unseren Penetration Tester \u00fcberrascht, denn er musste ausgiebig suchen, um Verbesserungspotentiale aufzudecken. Der Test hat somit den hohen Sicherheitsstandard unserer Web-Applikation best\u00e4tigt.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\" style=\"font-style:normal;font-weight:600\">Sicherheit als Teamsport<\/h3>\n\n\n\n<p class=\"wp-block-paragraph\">Eins hat uns der \u00fcberraschte Penetration Tester noch mitgegeben: Was auch immer ihr gemacht habt, um diese Anwendung so sicher zu bekommen: Macht es weiter so &#8211; und am Besten schreibt es auf. Das Ergebnis ist dieser Text, der unsere technischen Ma\u00dfnahmen erl\u00e4utert. Die Quintessenz ist jedoch: \u201cSicherheit ist ein Teamsport\u201d.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Wir haben Sicherheit von Anfang an mitgedacht. Wir nutzen die Expertise des gesamten Teams, um die Anwendung Schritt f\u00fcr Schritt sicherer zu machen. Verschiedene Anl\u00e4sse von Refinement bis Threat Modelling Workshop geben die M\u00f6glichkeit, alle Perspektiven einzubringen, Risiken zu erkennen und gezielte Ma\u00dfnahmen zu planen.<\/p>\n\n<\/div>\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t<div class=\"single-post-aside\">\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"post-author-wr\">\n\t\t\t\t\t\t\t<div class=\"author-img\">\n\t\t\t\t\t\t\t\t<img alt='' src='https:\/\/secure.gravatar.com\/avatar\/dce1b098985cd6eaef05ffc54312c030f256c2c44b17dd17cddb60e4a6dd9e61?s=96&#038;d=mm&#038;r=g' srcset='https:\/\/secure.gravatar.com\/avatar\/dce1b098985cd6eaef05ffc54312c030f256c2c44b17dd17cddb60e4a6dd9e61?s=192&#038;d=mm&#038;r=g 2x' class='avatar avatar-96 photo' height='96' width='96' \/>\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"author-info text-element\">\n\t\t\t\t\t\t\t\t\t<p>\n\t\t\t\t\t\t\t\t\t\tGeschrieben von:\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t\t<p class=\"author-name\">\n\t\t\t\t\t\t\t\t\t\tClaudia Bischoff\t\t\t\t\t\t\t\t\t<\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"aside-cta\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"icon-wr\">\n\t\t\t\t\t\t\t\t\t<img decoding=\"async\" width=\"76\" height=\"76\" src=\"https:\/\/qualityminds.com\/wp-content\/uploads\/2024\/05\/Capa_1.svg\" class=\"attachment-full size-full\" alt=\"send icon\" loading=\"lazy\" \/>\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"text-element\">\n\t\t\t\t\t\t\t\t\t<p>Schreib uns eine Mail \u2013 wir freuen uns auf deine Nachricht! <a class=\"cc-1rn59kg\" title=\"mailto:podcast@qualityminds.de\" href=\"mailto:hello@qualityminds.de\" data-testid=\"link-with-safety\" data-renderer-mark=\"true\">hello@qualityminds.de <\/a>oder auf <a class=\"cc-1rn59kg\" title=\"https:\/\/www.linkedin.com\/company\/qualityminds-gmbh\/posts\/?feedView=all\" href=\"https:\/\/www.linkedin.com\/company\/qualityminds-gmbh\/posts\/?feedView=all\" data-testid=\"link-with-safety\" data-renderer-mark=\"true\" target=\"_blank\" rel=\"noopener\">LinkedIn<\/a><\/p>\n\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t\t\t<div class=\"similar-posts\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<div class=\"heading\">\n\t\t\t\t\t\t\t\t\tWeiterf\u00fchrende Links\t\t\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t<ul class=\"no-list no-margin\">\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/qualityminds.com\/de\/ms-office-accessibility-checker\/\">Blog-Beitrag: Der MS Office Accessibility Checker als Barrierefreiheitstool\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/qualityminds.com\/de\/iwc-s4f5-vom-seminar-zur-lernenden-organisation-wie-man-lernen-in-den-arbeitsalltag-integriert\/\">IWC (S4F5) Vom Seminar zur lernenden Organisation: Wie man Lernen in den Arbeitsalltag integriert\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<li>\n\t\t\t\t\t\t\t\t\t\t<a href=\"https:\/\/qualityminds.com\/de\/forschungszulage-explainable-ai\/\">Forschungszulage &#8222;Explainable AI&#8220;\t\t\t\t\t\t\t\t\t\t<\/a>\n\t\t\t\t\t\t\t\t\t<\/li>\n\t\t\t\t\t\t\t\t\t\t\t\t\t\t\t<\/ul>\n\t\t\t\t\t\t<\/div>\n\t\t\t\t\t\n\t\t\t\t\t\t\t\t\t<\/div>\n\t\t\t<\/div>\n\n\t\t\t\t\t\t\t<div class=\"social-sharing\">\n\t\t\t\t\t<p class=\"no-margin\"> teilen\t\t\t\t\t<\/p>\n\t\t\t\t\t\n<ul class=\"no-list no-margin\">\n\t<li>\n\t\t<a href=\"https:\/\/www.linkedin.com\/feed\/?shareActive=true&#038;text=https:\/\/qualityminds.com\/de\/forschungszulage-explainable-ai\/\" class=\"linkedin\" target=\"_blank\" aria-label=\"auf LinkedIn teilen\"><\/a>\n\t<\/li>\n\t<li>\n\t\t<a href=\"https:\/\/www.facebook.com\/sharer\/sharer.php?u=https:\/\/qualityminds.com\/de\/forschungszulage-explainable-ai\/\" class=\"facebook\" target=\"_blank\" aria-label=\"auf Facebook teilen\"><\/a>\n\t<\/li>\n\t<li>\n\t\t<a href=\"https:\/\/www.xing.com\/spi\/shares\/new?url=https:\/\/qualityminds.com\/de\/forschungszulage-explainable-ai\/\" class=\"xing\" target=\"_blank\" aria-label=\"auf Xing teilen\"><\/a>\n\t<\/li>\n<\/ul>\t\t\t\t<\/div>\n\t\t\t\t\t<\/div>\n\t<\/section>\n\n\n","protected":false},"excerpt":{"rendered":"","protected":false},"author":87,"featured_media":67094,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"inline_featured_image":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[1,480,483,484],"tags":[504,503,516],"class_list":["post-66998","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-blog-de","category-news-de","category-software-dev-de","category-testing-qa-de","tag-blog","tag-software-engineering","tag-testing-qa"],"acf":[],"jetpack_featured_media_url":"https:\/\/qualityminds.com\/wp-content\/uploads\/2026\/07\/Blog-Bilder-1-1.png","jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/posts\/66998","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/users\/87"}],"replies":[{"embeddable":true,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/comments?post=66998"}],"version-history":[{"count":11,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/posts\/66998\/revisions"}],"predecessor-version":[{"id":67099,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/posts\/66998\/revisions\/67099"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/media\/67094"}],"wp:attachment":[{"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/media?parent=66998"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/categories?post=66998"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/qualityminds.com\/de\/wp-json\/wp\/v2\/tags?post=66998"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}