Für Entwickler, Architekten, Projektleiter und...

Read more

In der Welt der Softwareentwicklung ist die...

Read more

QUIBIQ spendet für den guten Zweck – und für...

Read more

Eine bestimmte Antwort auf einen HTTP Request zu...

Read more

In einer Welt, die von stetigem Wandel geprägt...

Read more

In einem unserer Kundenprojekte, war das Ziel eine...

Read more

QUIBIQ Hamburg wird mit dem Hamburger...

Read more

Zwei Tage lang wurde vom 14.-15.11 wieder das...

Read more

Was ist ein Excel-Plugin – und wann ist es...

Read more

Wir expandieren, bringen Kunden und Talente besser...

Read more

How-to: Fix Byte-Order-Mark Fehler beim BOM Upload über eine Azure DevOps Pipeline

Wir nutzen für einige unserer Projekte Dependency Track (1). Dependency Track ist eine Software, die dazu verwendet wird, die Abhängigkeiten von Softwareprojekten zu verfolgen und zu überwachen.

Es ermöglicht es Entwicklern, potenzielle Sicherheitsrisiken in Abhängigkeiten zu identifizieren und zu verwalten, indem es automatisch Sicherheitswarnungen für bekannte Schwachstellen generiert. Es hilft auch dabei, die Compliance mit Unternehmensrichtlinien und Branchenstandards zu überwachen und zu gewährleisten, dass nur sichere und erlaubte Abhängigkeiten verwendet werden. Wie man diesen für sich einrichtet, kann man sehr schön Step für Step hier (2) nachlesen.


Seit kurzen aber wird das Projekt aber nicht mehr aktualisiert, wenn man versucht, das BOM über einer Azure DevOps Pipeline hochzuladen. Die Pipeline zeigt keine Fehler, man sieht es, nur wenn man auf dem DependencyTrack Server in die Logs schaut. Dort findet man dann folgende Fehlermeldung:

WARN [BomUploadProcessingTask] The BOM uploaded is not in a supported format. Supported formats include CycloneDX XML and JSON

Problem ist, dass die neueren Versionen von CycloneDX die BOM-Datei mit einem Byte-Order-Mark (wird ebenfalls mit BOM abgekürzt) (3)(4) versehen. Vor dem Upload muss man dieses entfernen. Hierzu verwenden wir folgendes Powershell-Script:

$BomPath = "$(Build.ArtifactStagingDirectory)/BOM/bom.xml"
$BomRawString = Get-Content -Raw $BomPath
$Utf8NoBomEncoding = New-Object System.Text.UTF8Encoding $False
[System.IO.File]::WriteAllLines($BomPath, $BomRawString, $Utf8NoBomEncoding)

Nun funktioniert alles wieder :)

Links:

  1. dependencytrack.org
  2. https://medium.com/devroot/deploying-dependency-track-as-a-container-in-azure-and-building-a-pipeline-with-azure-devops-ab1627961114
  3. https://de.wikipedia.org/wiki/Byte_Order_Mark
  4. https://github.com/DependencyTrack/dependency-track/issues/1214

 

Dieser quiTeq-Tipp kommt aus Berlin von Mathias Gontek.

© QUIBIQ GmbH · Imprint · Data protection