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

Read more

Wir expandieren, bringen Kunden und Talente besser...

Read more

Um HTML zum PDF zu konvertieren, werden wir...

Read more

Die Logic Apps-Plattform von Microsoft ermöglicht...

Read more

Du bist neugierig auf aktuelle KI-Technologien und...

Read more

Am 27.09. ab 12.30h starten die vierten QUIBIQ...

Read more

"Das Beste von SAP und Microsoft nutzen": auf dem...

Read more

Azure Bicep wird verwendet, um Ressourcen in Azure...

Read more

In einer Welt, die immer digitaler wird, ist es...

Read more

Dieser Artikel beschreibt wie JSON-Dateien anhand...

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