Review: syft 1.54.1+ds-1
Package Information
| Description | CLI tool for generating Software Bill of Materials (SBOM) Syft is a CLI tool and Go library for generating a Software Bill of Materials (SBOM) from container images and filesystems. Features include: - Generates SBOMs for container images, filesystems, archives, and more - Supports multiple package ecosystems (Alpine, Debian, RPM, Go, Python, Java, JavaScript, Ruby, Rust, PHP, .NET, and more) - Multiple output formats: SPDX, CycloneDX, Syft JSON - Integration with Grype for vulnerability scanning |
|---|---|
| Maintainer | Debian Go Packaging Team <team+pkg-go@tracker.debian.org> |
| Changed By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Sponsor | tsimonq2@debian.org |
| Distribution | unstable |
| Architecture | any all |
| VCS | git: https://salsa.debian.org/go-team/packages/syft.git (browse) |
| Closes | #1124819 |
| Tracker | https://tracker.debian.org/pkg/syft |
| Uploaded | 6 hours ago |
New Package Report
.changes
| Source | syft |
|---|---|
| Version | 1.54.1+ds-1 |
| Changed-By | Juan Manuel Méndez Rey <juan.mendezr@proton.me> |
| Architecture | source all amd64 |
| Distribution | unstable |
| Date | Thu, 15 Oct 2026 10:50:02 +0200 |
Changelog
syft (1.54.1+ds-1) unstable; urgency=medium
.
* Initial release (Closes: #1124819)
* Do not ship upstream's .make build-tooling module.
* Thanks to Rafael Passos for getting upstream to add a COPYRIGHT file
(https://github.com/anchore/syft/issues/5394), which settled the
copyright holder question for this package..dsc
| Section | golang |
|---|---|
| Priority | optional |
| Component | main |
| Package-List | golang-github-anchore-syft-dev deb golang optional arch=all syft deb devel optional arch=any |
debian/copyright
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: syft
Upstream-Contact: Anchore, Inc. <support@anchore.com>
Source: https://github.com/anchore/syft
Files-Excluded:
internal/licenses/testdata/nvidia-software-and-cuda-supplement
internal/licenses/testdata/Knuth-CTAN
syft/pkg/cataloger/debian/testdata/copyright/cuda
syft/pkg/cataloger/debian/testdata/copyright/dev-kit
syft/pkg/cataloger/debian/testdata/copyright/microsoft
Comment: Files-Excluded removes non-DFSG license texts that upstream ships as
test fixtures for its license detection engine. Dependencies are not vendored:
they are Debian golang-*-dev packages listed in Build-Depends, resolved by
dh-go through the generated Go workspace.
Files: *
Copyright: 2020-2026 Anchore, Inc.
License: Apache-2.0
Comment:
Upstream names the holder itself, in a COPYRIGHT file that says
"Copyright (c) Anchore, Inc.". It was added on 2026-10-12 in
https://github.com/anchore/syft/commit/c2ea35ef328795647cfaabaf33e2ce74032f6e07,
after https://github.com/anchore/syft/issues/5394 asked for one, and the
LICENSE appendix was left as the Apache-2.0 boilerplate,
"Copyright [yyyy] [name of copyright owner]".
.
That file is not in this release: it landed after 1.52.0 was tagged, so the
tarball here does not contain it and this comment stands in for it. The first
upstream release after 2026-10-12 ships the file and this comment can go.
Upstream states no year, so the range above is this repository's history,
from its first commit in 2020 to the current release.
Files: debian/*
Copyright: 2026 Juan Manuel Méndez Rey <juan.mendezr@proton.me>
License: Apache-2.0
Files: syft/pkg/cataloger/golang/testdata/xcoff/*
Copyright: 2018 The Go Authors. All rights reserved.
License: BSD-3-clause
Comment: AIX XCOFF executables used as fixtures by the Go binary cataloger
tests, taken from the Go project's own debug/xcoff testdata. Upstream removed
the accompanying xcoff reader source in 1.44.0 in favour of the standard
library; only the fixtures remain.
Files: cmd/syft/internal/test/integration/testdata/npm-lock/node_modules/once/*
cmd/syft/internal/test/integration/testdata/npm-lock/node_modules/wrappy/*
cmd/syft/internal/test/integration/testdata/npm-lock/package.json
Copyright: Isaac Z. Schlueter and Contributors
License: ISC
Files: cmd/syft/internal/test/integration/testdata/npm-lock/node_modules/collapse-white-space/*
Copyright: 2015 Titus Wormer <tituswormer@gmail.com>
License: Expat
Files: cmd/syft/internal/test/integration/testdata/npm-lock/node_modules/end-of-stream/*
cmd/syft/internal/test/integration/testdata/npm-lock/node_modules/pump/*
Copyright: 2014 Mathias Buus
License: Expat
Files: cmd/syft/internal/test/integration/testdata/npm-lock/node_modules/insert-css/*
Copyright: James Halliday <mail@substack.net>
License: Expat
Files: cmd/syft/internal/test/integration/testdata/yarn-lock/node_modules/async/*
cmd/syft/internal/test/integration/testdata/yarn-lock/packages/nested-package/node_modules/async/*
Copyright: 2010-2018 Caolan McMahon
License: Expat
Files: cmd/syft/internal/test/integration/testdata/yarn-lock/node_modules/merge-objects/*
Copyright: 2015 Oleksii Shevchenko <shevaroller@gmail.com>
License: Expat
Files: cmd/syft/internal/test/integration/testdata/yarn-lock/node_modules/resize-observer-polyfill/*
Copyright: 2016 Denis Rul
License: Expat
Files: cmd/syft/internal/test/integration/testdata/yarn-lock/node_modules/should-type/*
Copyright: 2014 Denis Bardadym <bardadymchik@gmail.com>
License: Expat
Files: cmd/syft/internal/test/integration/testdata/yarn-lock/package.json
cmd/syft/internal/test/integration/testdata/yarn-lock/packages/nested-package/package.json
Copyright: 2020-2025 Anchore, Inc.
License: Expat
Files: cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/wordpress/wp-content/plugins/akismet/akismet.php
syft/pkg/cataloger/wordpress/testdata/glob-paths/wp-content/plugins/akismet/akismet.php
Copyright: Automattic
License: GPL-2+
Files: cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/opam/ocaml-base-compiler.4.14.0/opam
syft/pkg/cataloger/ocaml/testdata/ocaml-base-compiler.4.14.0/opam
Copyright: Institut National de Recherche en Informatique et en Automatique
License: LGPL-2.1
Files: cmd/syft/internal/test/integration/testdata/image-sbom-cataloger/test.spdx.json
syft/format/internal/testutil/testdata/snapshot/TestSPDXTagValueImageEncoder.golden
syft/format/spdxjson/testdata/identify/*
syft/format/spdxjson/testdata/snapshot/*
syft/format/spdxjson/testdata/spdx/*
syft/format/spdxtagvalue/testdata/identify/*
syft/format/spdxtagvalue/testdata/snapshot/*
syft/format/spdxtagvalue/testdata/tag-value.spdx
syft/pkg/cataloger/bitnami/testdata/tag-value/opt/bitnami/redis/.spdx-apache.spdx
syft/pkg/cataloger/bitnami/testdata/json/opt/bitnami/postgresql/.spdx-postgresql.spdx
syft/pkg/cataloger/bitnami/testdata/mix/opt/bitnami/render-template/.spdx-render-template.spdx
syft/pkg/cataloger/bitnami/testdata/no-rel/opt/bitnami/redis/.spdx-redis.spdx
Copyright: SPDX contributors
License: CC0-1.0
Files: syft/pkg/cataloger/golang/testdata/licenses-vendor/github.com/!cap!o!r!g/!cap!project/LICENSE.txt
syft/pkg/cataloger/golang/testdata/licenses/pkg/mod/github.com/!cap!o!r!g/!cap!project@v4.111.5/LICENSE.txt
syft/pkg/cataloger/internal/licenses/testdata/LICENSE
Comment: Test fixture LICENSE files containing MIT/Expat text,
created by Anchore for testing the license detection engine.
Copyright: 2020-2025 Anchore, Inc.
License: Expat
Files: syft/pkg/cataloger/javascript/testdata/pkg-lock/node_modules/@actions/core/package.json
Comment: Real package.json from GitHub Actions toolkit.
Copyright: GitHub, Inc.
License: Expat
Files: syft/pkg/cataloger/javascript/testdata/pkg-lock/node_modules/cowsay/package.json
Comment: Real package.json from cowsay npm package.
Copyright: Fabio Crisci <piuccio@gmail.com>
License: Expat
Files: syft/pkg/cataloger/r/testdata/installed/stringr/DESCRIPTION
syft/pkg/cataloger/r/testdata/DESCRIPTION
Comment: Real R CRAN DESCRIPTION files from the stringr package.
Copyright: Hadley Wickham
RStudio
License: Expat
Files: cmd/syft/internal/test/integration/testdata/image-pkg-coverage/composer/composer.lock
syft/pkg/cataloger/php/testdata/vendor/composer_1/installed.json
syft/pkg/cataloger/php/testdata/vendor/composer_2/installed.json
syft/pkg/cataloger/php/testdata/composer.lock
syft/pkg/cataloger/javascript/testdata/pkg-json/package-repo-string.json
syft/pkg/cataloger/javascript/testdata/pkg-lock/package-lock-2.json
syft/pkg/cataloger/javascript/testdata/pnpm-remote/registry_response.json
syft/pkg/cataloger/javascript/testdata/yarn-remote/registry_response.json
syft/pkg/cataloger/binary/testdata/elf-testdata/elfbinwithnestedlib/elfsrc/makefile
syft/pkg/cataloger/binary/testdata/elf-testdata/elfbinwithsisterlib/elfsrc1/makefile
syft/pkg/cataloger/binary/testdata/elf-testdata/elfbinwithsisterlib/elfsrc2/makefile
syft/pkg/cataloger/r/testdata/map-parse/eof-multiline
syft/pkg/cataloger/r/testdata/map-parse/multiline
Comment: Anchore-created test fixtures. JSON/lock files contain license
identifiers as structured data values describing other packages.
The fixture files themselves are Apache-2.0. licensecheck misreads
license strings in JSON content as the file's own license.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
Files: syft/pkg/cataloger/javascript/testdata/pkg-lock/array-license-package-lock.json
syft/pkg/cataloger/javascript/testdata/pkg-lock/alias-package-lock-2.json
Comment: Anchore-created test fixtures for lockfile parsing. License
identifiers in JSON content describe test packages, not the file itself.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
Files: syft/pkg/cataloger/ocaml/testdata/alcotest.opam
Copyright: Thomas Gazagnaire
License: ISC
Files: cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/php/vendor/composer/installed.json
syft/pkg/cataloger/conda/testdata/conda-meta-python-c-etc/conda-meta/jupyterlab-4.4.3-pyhd8ed1ab_0.json
Comment: Anchore test fixtures. License identifiers in JSON describe
other packages, not these files.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
Files: syft/pkg/cataloger/conda/testdata/conda-meta-python-c-etc/conda-meta/zlib-1.2.11-h90dfc92_1014.json
Comment: Conda metadata JSON describing zlib package. The "license" field
in the JSON refers to the described package, not this file's own license.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
Files: syft/pkg/cataloger/python/testdata/pypi-remote/registry_response.json
Comment: Cached PyPI registry response describing certifi package (MPL-2.0).
The JSON data file itself is Apache-2.0.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
Files: syft/pkg/cataloger/python/testdata/site-packages/license/with-license-file-declared.dist-info/LICENSE.txt
Copyright: 2010 Pallets
License: BSD-3-clause
Files: syft/pkg/cataloger/golang/testdata/repo/LICENSE
Copyright: 2020-2025 Anchore, Inc.
License: BSD-1-Clause
Files: syft/format/testdata/alpine-syft.json
syft/pkg/cataloger/sbom/testdata/alpine/syft-json/sbom.syft.json
test/compare/testdata/acceptance-centos-8.2.2004.json
Comment: These are syft SBOM JSON outputs that LIST packages with GPL-2
license identifiers as data values. The JSON files themselves are
Apache-2.0 (generated by syft). licensecheck misreads JSON string
values like "licenses": ["GPL-2.0-only"] as the file's own license.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
Files: syft/pkg/cataloger/debian/testdata/copyright/libaudit-common
Copyright: 2012-2016 Steve Grubb <sgrubb@redhat.com>
2007-2011 Philipp Matthias Hahn <pmhahn@debian.org>
License: GPL-2 and LGPL-2.1
Files: syft/pkg/cataloger/debian/testdata/copyright/trilicense
Copyright: 1993 John Doe
1993 Joe Average
License: GPL-2 and LGPL-2.1 and MPL-1.1
Files: syft/pkg/cataloger/debian/testdata/copyright/libc6
Copyright: 1991-2015 Free Software Foundation, Inc.
License: GPL-2+ and LGPL-2.1+
Files: syft/pkg/cataloger/debian/testdata/copyright/python
Copyright: Python Software Foundation
License: CNRI-Python
Files: syft/pkg/cataloger/python/testdata/site-packages/license/without-license-file-declared.dist-info/LICENSE.txt
syft/pkg/cataloger/python/testdata/site-packages/nested/dist-name/dist-info/LICENSE.txt
Copyright: 2010 Pallets
License: BSD-3-clause
Files: internal/licenses/testdata/multi-license
Copyright: Emscripten contributors
Joyent, Inc. and Node contributors
Sam Lantinga
Mihai Bazon
WebGPU native developers
David Schultz
License: Expat and Apache-2.0 and NCSA
Files: syft/pkg/apk_test.go
Comment: This test file contains GPL-2 license identifiers as string
constants for testing APK package metadata parsing.
Copyright: 2020-2025 Anchore, Inc.
License: Apache-2.0
License: Apache-2.0
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian systems, the complete text of the Apache License, Version 2.0
can be found in "/usr/share/common-licenses/Apache-2.0".
License: Expat
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
in the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
The above copyright notice and this permission notice shall be included in all
copies or substantial portions of the Software.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
SOFTWARE.
License: BSD-3-clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
.
2. Redistributions in binary form must reproduce the above copyright notice,
this list of conditions and the following disclaimer in the documentation
and/or other materials provided with the distribution.
.
3. Neither the name of the copyright holder nor the names of its contributors
may be used to endorse or promote products derived from this software
without specific prior written permission.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR CONTRIBUTORS BE
LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
POSSIBILITY OF SUCH DAMAGE.
License: ISC
Permission to use, copy, modify, and/or distribute this software for any
purpose with or without fee is hereby granted, provided that the above
copyright notice and this permission notice appear in all copies.
.
THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
License: CC0-1.0
The person who associated a work with this deed has dedicated the work to
the public domain by waiving all of his or her rights to the work worldwide
under copyright law, including all related and neighboring rights, to the
extent allowed by law.
.
You can copy, modify, distribute and perform the work, even for commercial
purposes, all without asking permission.
.
On Debian systems, the complete text of the CC0 1.0 Universal license can
be found in "/usr/share/common-licenses/CC0-1.0".
License: LGPL-2.1+
On Debian systems, the complete text of the GNU Lesser General Public
License, version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".
License: GPL-2
On Debian systems, the complete text of the GNU General Public License,
version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: GPL-2+
On Debian systems, the complete text of the GNU General Public License,
version 2 can be found in "/usr/share/common-licenses/GPL-2".
License: MPL-1.1
On Debian systems, the complete text of the Mozilla Public License,
version 1.1 can be found at "/usr/share/common-licenses/MPL-1.1".
License: LGPL-2.1
On Debian systems, the complete text of the GNU Lesser General Public
License, version 2.1 can be found in "/usr/share/common-licenses/LGPL-2.1".
License: BSD-1-Clause
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
.
1. Redistributions of source code must retain the above copyright notice,
this list of conditions and the following disclaimer.
.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
ARE DISCLAIMED.
License: NCSA
Permission is hereby granted, free of charge, to any person obtaining a copy
of this software and associated documentation files (the "Software"), to deal
with the Software without restriction, including without limitation the rights
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
copies of the Software, and to permit persons to whom the Software is
furnished to do so, subject to the following conditions:
.
Redistributions of source code must retain the above copyright notice, this
list of conditions and the following disclaimers.
.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
License: CNRI-Python
CNRI hereby grants permission to use, copy, modify, and distribute the
software for any purpose without fee, provided that the above copyright
notice appear in all copies and that both that copyright notice and this
permission notice appear in supporting documentation.
DFSG Assistant LLM REVIEW 3 blocker, 2 important, 1 minor
This is an LLM based review using a Debian Inference based workflow. It was not written by a member of the DFSG team and has not been checked by one. It is not a decision on the package: it may be wrong, and it may have missed things.
Reviewed 5 hours ago.
Report
DFSG NEW review for syft version 1.54.1+ds-1
Summary
- Licensing is DFSG-compliant and
debian/copyrightis accurate: No - Packaging is of good quality: Yes
- Issues: 3 blocker, 2 important, 1 minor
- debian/watch: version 5
- debian/copyright: machine-readable
- Scan before the review: 265 found, 36 not mentioned in this report (193 not listed by the scan, so not checked)
Licensing
The tree is overwhelmingly Apache-2.0 (upstream's own code, no vendoring), and the repack correctly drops five non-DFSG licence texts. But the orig tarball still contains the unmodifiable Internet Society RFC 3492 text, removed only by a quilt patch, so the source package is not DFSG-free. debian/copyright is otherwise well organised but misdescribes several fixtures: four copies of other packages' Debian copyright files fall under Files: * Apache-2.0, the multi-license fixture's licence list omits four licences it contains, the NCSA and CNRI-Python texts are abridged, and two third-party holders (Alibaba Cloud, The Sigstore Authors) are recorded as Anchore.
Packaging
Careful, modern pkg-go packaging: dh-go at compat 14, two packages split sensibly (CLI and library), a measured -dev dependency list, DEP-3 patches, the go.work workaround documented with its upstream bugs, autopkgtest via autopkgtest-pkg-go and a README.source that explains every skip and exclusion. Standards-Version 4.7.4 is current, the changelog is sane and there are no maintainer scripts. The only fault found is the manual page still advertising syft 1.39.0.
Issues
blocker licensing 1. The orig tarball still contains non-free Internet Society RFC 3492 text; quilt patch 0001 removes it only from the unpacked tree ◂
- Files:
syft_1.54.1+ds.orig.tar.xz: syft-1.54.1/syft/pkg/cataloger/debian/testdata/copyright/libc6 (lines 334-359),debian/patches/0001-remove-non-free-rfc-license-from-libc6-testdata.patch,debian/copyright:5-10 (Files-Excluded) - Basis: checked, in the package or with a reference tool
- Evidence: In the orig tarball, libc6 lines 334-359 read
Copyright (C) The Internet Society (2003). All Rights Reserved....However, this document itself may not be modified in any way. debian/source.lintian-overrides itself says the patch removesthe non-free RFC 3492 Internet Society license. - Problem: The
+dsrepack excludes five fixtures but not this one, so syft_1.54.1+ds.orig.tar.xz, which is part of the source package that would go into main, ships text that permits no modification (DFSG 3). A quilt patch changes only the tree unpacked on top of it, and Debian cannot accept a tarball that is not itself free; the maintainer's patch and lintian override show the text is understood to be non-free. - Fix: Add syft/pkg/cataloger/debian/testdata/copyright/libc6 (or the parts of testdata/copyright the suite needs) to Files-Excluded, regenerate the +ds tarball with uscan/mk-origtargz, drop patch 0001 and its source lintian override, and skip the test that read the file the way the other excluded fixtures are skipped.
blocker licensing 2. Four copies of other packages' Debian copyright files fall under Files: * Apache-2.0, and the libc6 and python stanzas name only part of what those files contain ◂
- Files:
syft/pkg/cataloger/debian/testdata/copyright/liblzma5,syft/pkg/cataloger/debian/testdata/glob-paths/usr/share/doc/libpam-runtime/copyright,syft/pkg/cataloger/debian/testdata/image-dpkg/usr/share/doc/libpam-runtime/copyright,syft/pkg/cataloger/debian/testdata/image-distroless-deb/usr/share/doc/libsqlite3-0/copyright,debian/copyright:16-18 (Files: *),debian/copyright:204-220 (existing fixture stanzas) - Basis: checked, in the package or with a reference tool
- Evidence: syft/pkg/cataloger/debian/testdata/copyright/liblzma5:2 is
Upstream-Name: XZ Utilsand saysliblzma is in the public domainwithGNU LGPLv2.1+andGNU GPLv2+parts; the two libpam-runtime fixtures are byte-identical to syft/pkg/cataloger/debian/testdata/copyright/libaudit-common (Upstream-Name: auditd,License: GPL-2,License: LGPL-2.1); the sqlite3 one declaresLicense: public-domainfor the package andGPL-2+for debian/*. debian/copyright never mentions liblzma, libpam, sqlite or distroless, and itslibaudit-commonstanza matches one path only. - Problem: Files not matched by a later stanza take
Files: *, which declares them Apache-2.0 and copyright Anchore. These four files are other packages' Debian copyright files: their content is GPL-2, LGPL-2.1+, public domain and similar, and their authors are the people those files name. The two stanzas that do exist are also incomplete: libc6 is declaredGPL-2+ and LGPL-2.1+although the file also carries BSD-3-clause/All rights reserved, Sun Microsystems and Henry Spencer notices, and the 958-line python fixture is declaredCNRI-Pythonalthough it contains a section headedFiles with other licenses than the Python Licensewith Apache-2.0, GPL-2 (readline) and OpenSSL/SSLeay texts. - Fix: Add stanzas for liblzma5 (public domain, LGPL-2.1+, GPL-2+, GPL-3+ as its own text lists), the two libpam-runtime copies (the same GPL-2/LGPL-2.1 as the libaudit-common stanza — or widen that stanza's pattern), and the sqlite3 file (public-domain and GPL-2+), and extend the libc6 and python stanzas to the full licence sets those files contain.
blocker licensing 3. License field for internal/licenses/testdata/multi-license omits Zlib, BSD-2-clause, BSD-3-clause and public-domain, which the file contains ◂
- Files:
debian/copyright:227-234,internal/licenses/testdata/multi-license:306-330,internal/licenses/testdata/multi-license:334-355,internal/licenses/testdata/multi-license:359-380,internal/licenses/testdata/multi-license:390-415,internal/licenses/testdata/multi-license:420-445 - Basis: checked, in the package or with a reference tool
- Evidence: The stanza says
License: Expat and Apache-2.0 and NCSA, while the file also holds the zlib text (Permission is granted to anyone to use this software for any purpose, including commercial applications, underSimple DirectMedia Layer), the Unlicense dedication (This is free and unencumbered software released into the public domain), BSD-2-clause for uglify-js (Distributed under the BSD license, Mihai Bazon) and for David Schultz, and BSD-3-clause for the WebGPU header. - Problem: The licence statement for the file is wrong for six of its sections, and Zlib and BSD-2-clause, being permissive licences whose notice must be reproduced and neither of which is in /usr/share/common-licenses, have no stand-alone License paragraph at all.
- Fix: Make the field
Expat and NCSA and Apache-2.0 and Zlib and BSD-2-clause and BSD-3-clause and public-domain, and addLicense: ZlibandLicense: BSD-2-clauseparagraphs with their full texts (BSD-3-clause, Expat, NCSA and Apache-2.0 already exist).
important licensing 4. The stand-alone License: NCSA paragraph is an abridged NCSA text, and License: CNRI-Python a one-sentence grant with no disclaimer ◂
- Files:
debian/copyright:361-375 (NCSA),debian/copyright:376-380 (CNRI-Python),internal/licenses/testdata/multi-license:46-72 (full NCSA text) - Basis: checked, in the package or with a reference tool
- Evidence: debian/copyright gives only
Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimers.followed by a one-sentence warranty disclaimer; the NCSA text in the fixture also hasRedistributions in binary form must reproduce ...,Neither the names of Mozilla, nor the names of its contributors may be used to endorse or promote products ..., and the full liability disclaimer. CNRI-Python is one sentence (CNRI hereby grants permission to use, copy, modify, and distribute ...) with no warranty or liability terms. - Problem: Neither licence is in /usr/share/common-licenses, so the complete text must be reproduced in debian/copyright (copyright-format 1.0 §5.3, Policy 12.5). As written the NCSA entry drops two of the three conditions, so the file does not state the licence the fixture is under.
- Fix: Copy the complete NCSA text from internal/licenses/testdata/multi-license into the NCSA paragraph, and the full CNRI-Python/Python-1.6 text into the CNRI-Python paragraph.
important licensing 5. Files: * records Anchore as the copyright holder of fixtures whose notices name Alibaba Cloud and The Sigstore Authors ◂
- Files:
syft/pkg/cataloger/golang/testdata/licenses-vendor/github.com/someorg/somename/LICENSE:189,syft/pkg/cataloger/golang/testdata/licenses-vendor/github.com/someorg/strangelicense/LiCeNsE.tXt:189,syft/pkg/cataloger/golang/testdata/licenses/pkg/mod/github.com/someorg/somename@v0.3.2/LICENSE:189,syft/pkg/cataloger/golang/testdata/licenses/pkg/mod/github.com/someorg/strangelicense@v1.2.3/LiCeNsE.tXt:189,test/cli/testdata/attestation/docker-compose-config.yaml:2,test/cli/testdata/attestation/config/logid.sh:3,test/cli/testdata/attestation/config/dex/docker-compose-config.yaml:2 - Basis: checked, in the package or with a reference tool
- Evidence: The four golang fixtures carry
Copyright (c) 2009-present, Alibaba Cloud All rights reserved.; the three sigstore fixtures start# Copyright 2021 The Sigstore Authors.with an Apache-2.0 grant. debian/copyright:16-17 declares onlyCopyright: 2020-2026 Anchore, Inc.for Files: *. - Problem: The licence (Apache-2.0) is right, but the Copyright field of the catch-all stanza asserts a holder the files deny. The holder named in a file's own notice must appear in debian/copyright; these are real third parties, unlike the
Someone Cool/Some Place, Inc.placeholders the project fabricated for its own fixtures. - Fix: Add stanzas for the four Alibaba Cloud licence files and the three Sigstore files, naming those holders with Apache-2.0 (the same License paragraph can be reused).
minor packaging 6. The manual page is for syft 1.39.0 in a 1.54.1 package ◂
- Files:
debian/syft.1:1,debian/syft.manpages:1 - Basis: checked, in the package or with a reference tool
- Evidence:
.TH SYFT 1 "January 2026" "syft 1.39.0" "User Commands" - Problem: The page is installed as the manual for /usr/bin/syft, but its header and date are fifteen upstream releases old, so
man syftreports a version and date that do not match the binary users have. - Fix: Update the .TH header (or drop the version and date from it) when the package is updated, and check the option list against cmd/syft at the same time.
Verified ◂
- All 23 files of debian/ were read in full: changelog, clean, control, copyright, gbp.conf, the two .install files, both package lintian-overrides, lrc.config, rules, README.source, salsa-ci.yml, source.lintian-overrides, source/format, syft.1, syft.examples, syft.manpages, upstream/metadata, and all three patches with series.
- debian/copyright is DEP-5 (Format 1.0 URL) and every path it names exists in the tree, including the xcoff fixtures, the four node_modules fixture trees, and the SPDX/CycloneDX testdata stanzas.
- Every npm/yarn/javascript node_modules fixture is matched by a stanza with the licence its own licence file states: ISC for once and wrappy, Expat for collapse-white-space, end-of-stream, insert-css, pump, async, merge-objects, resize-observer-polyfill and should-type.
- Files-Excluded is effective: the five named files are neither in the tree nor in syft_1.54.1+ds.orig.tar.xz (checked by reading the tarball).
- cmd/syft/internal/test/integration/testdata/image-go-bin-arch-coverage/test is a Mach-O fixture built from the app.go and go.mod beside it, not a shipped program.
- cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/java/example-java-app-maven-0.1.0.jar is built from pkgs/java/pom.xml via syft/pkg/cataloger/java/testdata/java-builds/build-example-java-app-maven.sh.
- cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/java/example-jenkins-plugin.hpi is built from syft/pkg/cataloger/java/testdata/java-builds/example-jenkins-plugin (pom.xml, HelloWorldBuilder.java, build-example-jenkins-plugin.sh are all in the tree).
- syft/pkg/cataloger/golang/testdata/glob-paths/partial-binary and syft/pkg/cataloger/rust/testdata/glob-paths/partial-binary are truncated binary fragments used only to test path resolution; their content is not interpreted by syft.
- test/cli/testdata/image-unknowns/unknown-readable.jar is the jar for the CLI 'unknown files' test, and test/cli/testdata/malformed/truncated-archive/a-1.0.jar is a deliberately truncated jar for the malformed-archive test.
- syft/pkg/cataloger/dotnet/testdata/image-net6-asp-libman/src/vendor/lodash.min.js is a minified lodash kept to test detection of embedded JavaScript; its unminified source lodash.js is in the same directory.
- The pacman metadata fixtures cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/var/lib/pacman/local/pacman-6.0.1-5/mtree, syft/pkg/cataloger/arch/testdata/installed/var/lib/pacman/local/gmp-6.2.1-2/mtree and syft/pkg/cataloger/arch/testdata/mtree are gzip mtree files the pacman cataloger parses.
- syft/format/internal/testutil/testdata/snapshot/stereoscope-fixture-image-simple.golden and syft/format/text/testdata/snapshot/stereoscope-fixture-image-simple.golden are tar archives committed as golden snapshots for the snapshot tests.
- syft/source/testdata/rar-archive/example.rar is the RAR archive fixture for the archive source resolver.
- cmd/syft/internal/test/integration/testdata/image-pkg-coverage/pkgs/var/lib/rpm/Packages is the RPM database of the pkg-coverage test image; syft/pkg/cataloger/ai/testdata/safetensors/nomic-embed-475M.header.safetensors is a header-only slice of a model file, generated by extract_header.go and documented in the README.md beside it.
- syft/pkg/cataloger/binary/testdata/classifiers/negative/gzip and syft/pkg/cataloger/binary/testdata/classifiers/negative/traefik/traefik are the decoy files read at classifier_cataloger_test.go:3247, which must not match any classifier.
- The snippets the scan lists under syft/pkg/cataloger/binary/testdata/classifiers/snippets/ (arangodb, aws-lc, bash, busybox, chrome, consul, dart, deno, envoy, erlang and the rest of the 193 unnamed) are byte ranges of real programs captured with upstream's capture-snippet.sh, as syft/pkg/cataloger/binary/README.md documents; they are a few hundred bytes each, not whole programs. The ELF fixtures under syft/pkg/cataloger/binary/testdata/elf-testdata/ are built from the sources beside them (see its README.md).
- internal/licenses/testdata/multi-license:332 is the Unlicense dedication — a permission, not a restriction — in the file covered by the issue on its License field.
- The Creative-Commons-NC/ND and BUSL hits in internal/spdxlicense/license_list.go, internal/spdxlicense/generate/generate_license_list_test.go, internal/spdxlicense/license_test.go, internal/spdxlicense/generate/testdata/licenses.json, schema/cyclonedx/spdx.schema.json and schema/cyclonedx/spdx.xsd are SPDX identifier strings and enum names used as data, not grants.
- The three patches are DEP-3 headed and purposeful; 0003 is a correct fix for an i386 compile error and is forwarded (github.com/anchore/syft/pull/5512), 0002 removes two test cases that read excluded fixtures.
- Standards-Version 4.7.4 has the first two components of the reviewing system's Policy 4.7.4.1, so it is current.
- dh-go 1.69 is in the archive and provides dh_golang and dh_golang_autopkgtest; at compat 14 dh_gencontrol injects relationship substvars itself, and deb-control(5) documents Static-Built-Using as the field for statically built binaries (Policy 7.8 requires Built-Using only where a licence needs the source retained), so removing misc:Built-Using in execute_after_dh_golang is sound.
- Build-Depends spot-checked against the archive: dh-go 1.69, golang-any 2:1.27
1, golang-github-anchore-clio-dev 0.1.0, golang-github-anchore-fangs-dev 0.1.1, golang-github-anchore-go-rpmdb-dev 0.2.0, golang-github-anchore-bubbly-dev 0.2.2, golang-github-spdx-tools-golang-dev 0.6.0rc4-1 (satisfies the constraint), and the less usual names (kastenhq-goversion, gpustack-gguf-parser-go, rust-secure-code-go-rustaudit, vifraa-gopom, saintfish-chardet, nix-community-go-nix, deitch-magic, zyedidia-generic) all exist. - golang-github-blakesmith-ar-dev is imported by non-test code (syft/pkg/cataloger/debian/parse_deb_archive.go:14) and is correctly in the -dev Depends; README.source's 'fourteen Build-Depends not in Depends' list is stale on that entry, but the control file itself is right.
- No vendor/ directory: dependencies come from the golang-*-dev packages, so there are no embedded copies of libraries Debian already ships.
- The go:embed targets named in DH_GOLANG_INSTALL_EXTRA exist (internal/capabilities/appconfig.yaml, syft/pkg/cataloger/*/capabilities.yaml, syft/pkg/cataloger/internal/cpegenerate/dictionary/data/cpe-index.json).
- debian/copyright's COPYRIGHT comment matches reality: no COPYRIGHT file is in this tarball and the root LICENSE is the unmodified Apache-2.0 text.
- uscan found upstream releases with
debian/watch; a newer upstream version is available (upstream1.56.0, packaged1.54.1+ds), which is not a fault of the package. - Every pointer of
debian/copyrightto /usr/share/common-licenses names a file that is there (Apache-2.0,CC0-1.0,GPL-2,LGPL-2.1,MPL-1.1).
Not confirmed ◂
- Two files larger than 4 MiB could not be scanned past their first 4 MiB; the SPDX licence-list fixture and the CycloneDX schemas are the likely ones, and what was readable of them is identifier lists.
- The contents of the binary fixtures (jars, the .hpi, Mach-O and ELF fragments, mtree databases, the .rar, the binary snippets) were not opened; they are judged by name, by the sources and scripts in the tree next to them, and by upstream's documentation.
- Build-Depends asks for golang-github-anchore-stereoscope-dev (>= 0.3.4) while the archive has 0.3.2-1; a build would show whether 0.3.4 is waiting in NEW.
- README.source says the autopkgtest run passes (115 packages, no failures) and also that the still-open dh-go bug 1149023 makes it end in
go: errors parsing go.workunder dh_golang_autopkgtest; only running the pipeline settles which is true. - What these files are. The scan made before the review picked them out (built files, minified code, archives, licence wording that is rarely free, or licences that are not accepted), and this report does not mention them:
syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.11.8/linux-amd64/arangosh(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.0-2/linux-amd64/arangosh(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5/linux-amd64/arangosh(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/arangodb/3.12.5-2/linux-amd64/arangosh(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/aws-lc/1.69.0/linux-amd64/openssl(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/bash/5.1.16/linux-amd64/bash(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/busybox/1.36.1/linux-amd64/[(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/chrome/126.0.6478.182/linux-amd64/chrome(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/chrome/127.0.6533.119/linux-amd64/chrome(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/consul/1.7.14/linux-amd64/consul(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/dart/2.12.4/linux-amd64/dart(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/dart/3.0.0/linux-arm/dart(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/dart/3.5.2/linux-amd64/dart(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/dart/3.6.0-216.1.beta/linux-amd64/dart(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/deno/2.9.2/linux-amd64/deno(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.11.0/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.14.3/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.18.6/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.20.7/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.22.10/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.22.11/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.23.7/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.24.5/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.24.9/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.28.7/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.30.1/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.30.2/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.30.6/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.31.2/linux-amd64/envoy(binary data of a kind the scan does not recognise);syft/pkg/cataloger/binary/testdata/classifiers/snippets/envoy/1.34.12/linux-amd64/envoy(binary data of a kind the scan does not recognise), and 6 more.
Proposed changes ◂
None.
Uploader's response to the LLM review
The uploader rejected this upload in response to the review.
Review Information
rejected — allocated to dfsg-uploader 5 hours ago, started 5 hours ago, completed 5 hours ago.
Final Comment
The uploader rejected this upload in response to the automated (LLM) review of it, so that they can fix the problems it found and upload again.
The uploader said:
Rejecting to fix the issues found. The fix will come on next upload.
Other Reviews of this Package
| Version | Hash | Allocated | Completed | Reviewer | Status | Details |
|---|---|---|---|---|---|---|
| 1.54.1+ds1-1 | d3ffdfa8… | 2026-11-03 23:45 | 2026-11-03 23:45 | dfsg-uploader | rejected | VIEW |
| 1.42.4+ds-1 | df58cc21… | 2026-04-19 10:38 | 2026-04-20 13:48 | siretart | rejected | VIEW |
| 1.42.3+ds-1 | 3b5b6d1f… | 2026-04-06 11:21 | 2026-04-06 23:33 | siretart | rejected | VIEW |