Vom 5. bis 7. Juni findet in London wieder die...

Read more

Vom 5. bis 7. Juni findet in London wieder die...

Read more

Vom 5. bis 7. Juni findet in London wieder die...

Read more

Live Coding on stage in Hamburg - exklusiv für...

Read more

Um Azure Ressourcen von DevOps aus zu deployen,...

Read more

In diesem Artikel wird ein beispielhafter Aufbau...

Read more

Die QUIBIQ Gruppe wurde am 9. März 2023 von dem...

Read more

Der Schnelleinstieg in die Welt der Tests für den...

Read more

Wenn man eine, im Azure Portal, entwickelte Logic...

Read more

WinSCP für BizTalk wird für den SFTP-Adapter...

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