Prod_01-2026_Security_Issues: Behebung potenzieller Sicherheitsprobleme

This call for proposal ends on 13. February. 2026!

Zur Qualitätssicherung des Quell-Codes wird u.a. das automatische Analyse-Tool CodeQL verwendet. Die von diesem Tool als potenzielle Sicherheitsprobleme eingestuften Probleme im Java-Code sollen im Rahmen dieser Ausschreibung behoben werden.

Kitodo ist eine quelloffene Softwaresuite für die Digitalisierung von Kulturgut in großen wie kleinen Bibliotheken, Archiven, Museen und Dokumentationszentren.

Kitodo.Production ist das Workflowmanagementmodul der Kitodo-Suite. Es unterstützt den Digitalisierungsprozess von verschiedenen Materialarten wie Drucken, Periodika, Handschriften, Noten und Musikalien, Einblattmedien und Dokumentennachlässen. Kitodo.Production ist als Webapplikation in Java programmiert und kann plattform- und ortsunabhängig über einen herkömmlichen Webbrowser bedient werden.

1. Teilnahmebedingungen 

Zum Nachweis von Erfahrungen mit Java sind drei Referenzen aus den vergangenen drei Jahren einzureichen. Referenzen können z.B. realisierte Projekte mit Beschreibung der eigenen Arbeitsanteile sein. Eine möglichst große Passgenauigkeit der Referenzprojekte zu den Inhalten der Leistungsbeschreibung sind dabei von Vorteil (s. a. 5. Zuschlagskriterien).

Zudem ist der Nachweis von Erfahrungen in der Entwicklung von Open-Source-Systemen bzw. der Durchführung von Open-Source-Projekten in vergleichbarer Weise zu erbringen.

Dem Angebot ist ein detaillierter Zeitplan beizufügen, aus dem ersichtlich ist, wann welche Arbeitsschritte innerhalb der vorgesehenen Projektlaufzeit von sechs Monaten durchgeführt werden. Der Zeitplan soll die geplanten Meilensteine (z. B. Beginn der Entwicklung, Implementierung, Erstellung der Pull-Requests etc.) sowie den voraussichtlichen Aufwand pro Phase enthalten.

2. Angebotsfrist

Die Frist für die Abgabe eines Angebots ist der 13.02.2026.

3. Leistungsbeschreibung

Ausgangssituation/Hintergrund:

Das automatische Analyse-Tool CodeQL prüft zur Qualitätssicherung von Kitodo.Production auf GitHub bei jeder Änderung den Quell-Code automatisch. Dieses Tool meldet derzeit 1380 potenzielle Sicherheitslücken. Von diesen 1381 Meldungen fallen 1000 auf die außerhalb von Kitodo.Production verwaltete JavaScript-Datei „modeler_min.js“ des in Kitodo zu Erstellung von Workflows verwendeten BPMN-Editors. Bei 4 weiteren Meldungen handelt es sich um potenzielle Syntax-Fehler in den HTML-Templates. Die restlichen 377 Meldungen betreffen Hinweise zum Java-Code der Applikation. Von diesen haben 30 einen Schweregrad von „mittel“ oder „hoch“. Diese 30 Meldungen sind im Rahmen des Arbeitspaketes zu beheben.

Leistungen

Diese 30 als mögliche Sicherheitsprobleme klassifizierten Meldungen sind im Rahmen der Beauftragung durch Anpassungen am Quell-Code zu beheben. Sie verteilen sich auf die folgenden verletzten Sicherheitsregeln:

  • „Disabled Spring CSRF protection“ (1x)
  • „Polynomial regular expression used on uncontrolled data“ (3x)
  • „Use of a broken or risky cryptographic algorithm“ (5x)
  • „Use of a potentially broken or risky cryptographic algorithm“ (1x)
  • „Log injection“ (15x)
  • „Insertion of sensitive information into log files“ (2x)
  • „Local information disclosure in a temporary directory“ (3x)

Die genannten Meldungen sind auf GitHub nur für Benutzende mit Schreibrechten in einem Repositorium sichtbar. Dies ist bei Kitodo.Production nur für Mitglieder des Release Managements der Fall. Um die vollständige Liste aller Meldungen inklusive Beschreibungen einzusehen, kann von dem Repository jedoch ein „Fork“ erstellt werden, der die enthält und zugänglich macht.

GitHub-Issue: https://github.com/kitodo/kitodo-production/issues/6208

Hinweis: Falls die Bearbeitung eines dieser Meldungen im Vergleich zu den anderen Meldungen zu außerordentlich hohem Aufwand führen sollte, ist darauf im Angebot explizit hinzuweisen!

Dokumentation

Der Quellcode muss gemäß den Kitodo Coding Guidelines dokumentiert werden. Abweichungen werden mit dem Release Management abgesprochen.

Rahmenbedingungen

Die Entwicklung von Kitodo.Production erfolgt vollständig auf GitHub im Repository.

Das Releasemanagement für dieses Repository ist bei der Firma effective WEBWORK GmbH angesiedelt. Zu Beginn der Entwicklung muss mit dem Release Management die Vorgehensweise abgesprochen werden (z.B. Feature-Branch). Grundsätzlich arbeitet der Dienstleister in seinem eigenen Fork und bietet seine Entwicklungen als Pull-Request an. Jeder entwickelte Code muss mit Unit- und Integration-Tests getestet sein. Änderungen am Frontend müssen mit Selenium-Tests abgedeckt werden. Es ist anzustreben, möglichst kleinteilige Pull-Requests zu erstellen, die leicht und schnell gereviewt werden können.

Abnahme

Das Mergen in den main-Entwicklungszweig durch das Releasemanagement gilt als Abnahme.

4. Zeitplanung

Der Beginn der Arbeiten soll in der Regel unmittelbar nach Auftragsvergabe erfolgen. Wegen möglicher Abhängigkeiten von anderen Entwicklungen ist der tatsächliche Beginn mit dem Releasemanagement abzusprechen.

Der Abschluss der Entwicklung muss innerhalb von 6 Monaten nach Beginn der Arbeiten erfolgen. Für diese Zeit wird angestrebt, dass sich der Quellcode nicht grundlegend ändert.

Die Geschäftsstelle muss monatlich über den aktuellen Stand der Entwicklungen informiert werden.

Änderungen am Zeitplan müssen frühzeitig kommuniziert und vom Auftraggeber abgestimmt werden.

5. Zuschlagskriterien

Den Zuschlag erhält das wirtschaftlichste Angebot unter Berücksichtigung der angebotenen Leistungen, der nachgewiesenen Referenzen (s. a. 1. Teilnahmebedingungen) und des Preises.

6. Vertragsbedingungen

Lizenzierung als Open Source Software

Der vollständige Quellcode und alle damit in Verbindung stehenden elektronischen Ressourcen (Images, Stylesheets, etc.) sind unter GNU General Public License in der Version 3 (GPL3) oder neuer an den Kitodo e. V. zu lizensieren. Werden Frameworks, Bibliotheken, Fonts oder andere Software Dritter verwendet, so müssen diese Bestandteile ebenfalls unter einer mit der GPL3 kompatiblen Lizenz vorliegen und die Lizenz explizit ausweisen.

Die freie Lizenzierung schließt die Dokumentation ein.

7. Einzureichende Unterlagen, Erklärungen und Nachweise

Zur Abgabe eines Angebots ist das angehängte Formblatt zu nutzen.

Darüber hinaus müssen folgende Erklärungen und Nachweise beigelegt werden:

  • Handelsregisterauszug
  • Referenzen (s. 1. Teilnahmebedingungen)
  • Zeitplan (s. 1. Teilnahmebedingungen)

Alle Unterlagen sind in elektronischer oder gedruckter Form in der Geschäftsstelle des Vereins Kitodo e. V. einzureichen.

8. Ansprechpersonen

Kitodo e. V.
Magdalena Eberle
Kitodo. Key to digital objects e. V. | Geschäftsstelle
c/o Staats- und Universitätsbibliothek Hamburg Carl von Ossietzky
Von-Melle-Park 3
20146 Hamburg
contact@kitodo.org

Release-Management für Kitodo.Production
Arved Solth
effective WEBWORK GmbH
Neuer Wall 18
20354 Hamburg
solth@effective-webwork.de