anchore / anchore/syft

Windows sbom have strange % in purl/sbom-ref

Open
#3,569 8 comments 0 reactions 0 assignees View on GitHub
bug
Dominant language
Go
Stars
9.6k
Forks
954
Avg merge
23h 27m
Merged PRs (30d)
48

Description

**What happened**:
I tried to generate a sbom with syft on a windows system.
To avoid intrusion on a working unconnecter system
- I booted a linux stick on said system,
- mounted windows disk on /mnt
- launched syft like that
```
syft scan dir:/mnt -o cyclonedx=sbom.json
```
I tried to import said sbom on dependency track got an error :
```
Caused by: org.datanucleus.exceptions.NucleusUserException: Attempt to store value "pkg:nuget/Microsoft%20Reporting%20Services%20%FFFFFFC3%FFFFFF92%FFFFFFC2%FFFFFF9B%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF8B%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB7%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFBC%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB5%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF82%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF82%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB5%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF80%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%20%FFFFFFC3%FFFFFF92%FFFFFFC2%FFFFFFAF%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF88%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFBD%20ADO.NET%20%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB4%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB5%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF80%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB5%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFBA%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF82%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB5%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF80%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFBD%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%FFFFFFC3%FFFFFF92%FFFFFFC2%FFFFFFA3%20%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB6%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB5%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF82%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFBA%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%FFFFFFC3%FFFFFF90%FFFFFFC2%FFFFFFB7%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF83%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF88%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF81%FFFFFFC3%FFFFFF91%FFFFFFC2%FFFFFF96%FFFFFFC3%FFFFFFAF%FFFFFFC2%FFFFFFBF%FFFFFFC2%FFFFFFBD@11.0.9165.1186" in column "PURLCOORDINATES" that has maximum length of 786. Please correct your data!
```
I searched that string in the json file -> nothing
But some of the the sbom-ref or purl fields were strange:
```
bom-ref": "pkg:nuget/Microsoft%20Reporting%20Services%20%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D1%80%D0%B5%D1%9A%D0%B5%20%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0%20%D0%B7%D0%B0%20Analysis%20Services@11.0.9165.1186?package-id=9ddc785f7a23aa1b",
```

**What you expected to happen**:
Get readable & short fields

**Anything else we need to know?**:
It seems to be urlencoded: I found that "pkg:nuget/Microsoft%20Reporting%20Services%20%D0%BF%D1%80%D0%BE%D1%88%D0%B8%D1%80%D0%B5%D1%9A%D0%B5%20%D0%BF%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA%D0%B0%20%D0%B7%D0%B0%20Analysis%20Services@11.0.9165.1186" decodes as "pkg:nuget/Microsoft Reporting Services проширење података за Analysis Services@11.0.9165.1186"

**Environment**:
- Output of `syft version`: 1.18.1
- OS (e.g: `cat /etc/os-release` or similar): ubuntu 24 on the stick, windows 10 ltsc on the system

Contributor guide

Open the contributing guide

Research direction

Reproduce the report with `syft scan dir:/mnt -o cyclonedx=sbom.json` and inspect the generated `purl` and `bom-ref` fields for the reported package name. Trace where those CycloneDX values are produced, then verify that the output remains readable and short enough for Dependency-Track to import successfully.

Written by the indexing model from the issue text.

Assessment

Tech stack
go
Domain
cli, security
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.