Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Koleksi ketergantungan bahasa pemrograman
Amazon Inspector SBOM Generator mendukung berbagai bahasa dan kerangka kerja pemrograman, yang membentuk kumpulan dependensi yang kuat dan terperinci. Membuat SBOM membantu Anda memahami komposisi perangkat lunak Anda, sehingga Anda dapat mengidentifikasi kerentanan dan menjaga kepatuhan terhadap standar keamanan. Amazon Inspector SBOM Generator mendukung bahasa pemrograman berikut dan format file.
Pergi pemindaian ketergantungan
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
Go |
Go |
|
N/A N/A Ya N/A |
N/A N/A N/A N/A |
N/A N/A N/A N/A |
N/A N/A N/A N/A |
Ya Ya Ya Tidak |
go.mod/go.sum
Gunakan go.mod dan go.sum file untuk menentukan dan mengunci dependensi dalam Go proyek. Amazon Inspector SBOM Generator mengelola file-file ini secara berbeda berdasarkan versi toolchain. Go
Fitur utama
-
Mengumpulkan dependensi dari
go.mod(jika versi Go toolchain adalah 1.17 atau lebih tinggi) -
Mengumpulkan dependensi dari
go.sum(jika versi Go toolchain 1.17 atau lebih rendah) -
Parses
go.moduntuk mengidentifikasi semua dependensi dan versi dependensi yang dideklarasikan
Contoh file go.mod
Berikut ini adalah contoh go.mod file.
module example.com/project go 1.17 require ( github.com/gin-gonic/gin v1.7.2 golang.org/x/crypto v0.0.0-20210616213533-5cf6c0f8e123 )
Contoh file go.sum
Berikut ini adalah contoh go.sum file.
github.com/gin-gonic/gin v1.7.2 h1:VZ7DdRl0sghbA6lVGSkX+UXO2+J0aH7RbsNugG+FA8Q= github.com/gin-gonic/gin v1.7.2/go.mod h1:ILZ1Ngh2f1pL1ASUj7gGk8lGFeNC8cRTaN2ZhsBNbXU= golang.org/x/crypto v0.0.0-20210616213533-5cf6c0f8e123 h1:b6rCu+qHze+BUsmC3CZzH8aNu8LzPZTVsNTo64OypSc= golang.org/x/crypto v0.0.0-20210616213533-5cf6c0f8e123/go.mod h1:K5Dkpb0Q4ewZW/EzWlQphgJcUMBCzoWrLfDOVzpTGVQ=
catatan
Masing-masing file ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Go Binari
Amazon Inspector SBOM Generator mengekstrak dependensi dari Go binari yang dikompilasi untuk memberikan jaminan tentang kode yang digunakan.
catatan
Amazon Inspector SBOM Generator mendukung pengambilan dan evaluasi versi toolchain dari Go binari yang dibuat menggunakan kompiler resmi. Go Untuk informasi selengkapnya, lihat Unduh dan instal
Fitur utama
-
Mengekstrak informasi ketergantungan langsung dari binari Go
-
Mengumpulkan dependensi yang tertanam dalam biner
-
Mendeteksi dan mengekstrak versi Go toolchain yang digunakan untuk mengkompilasi biner.
GOMODCACHE
Amazon Inspector SBOM Generator memindai cache Go modul untuk mengumpulkan informasi tentang dependensi yang diinstal. Cache ini menyimpan modul yang diunduh untuk memastikan versi yang sama digunakan di berbagai build.
Fitur utama
-
Memindai
GOMODCACHEdirektori untuk mengidentifikasi modul yang di-cache -
Mengekstrak metadata terperinci, termasuk nama modul, versi, dan sumber URLs
Contoh struktur
Berikut ini adalah contoh GOMODCACHE strukturnya.
~/go/pkg/mod/ ├── github.com/gin-gonic/gin@v1.7.2 ├── golang.org/x/crypto@v0.0.0-20210616213533-5cf6c0f8e123
catatan
Struktur ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pemindaian ketergantungan Java
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
Java |
Maven |
JavaAplikasi yang dikompilasi (.jar/.war/.ear)
|
N/A N/A |
N/A N/A |
Ya Ya |
N/A N/A |
Ya Ya |
catatan
Fitur evaluasi kerentanan kami hanya mendukung repositori Maven Central. Repositori pihak ketiga, sepertiJBoss Enterprise Maven Repository, saat ini tidak didukung.
Amazon Inspector SBOM Generator melakukan pemindaian Java ketergantungan dengan menganalisis aplikasi dan file yang dikompilasiJava. pom.xml Saat memindai aplikasi yang dikompilasi, pemindai menghasilkan hash SHA-1 untuk verifikasi integritas, mengekstrak file yang disematkan, dan mem-parsing pom.properties file bersarang. pom.xml
Koleksi hash SHA—1 (untuk file.jar, .war, .ear yang dikompilasi)
Amazon Inspector SBOM Generator mencoba mengumpulkan hash SHA—1 untuk semua .ear.jar, dan .war file dalam proyek untuk menjamin integritas dan keterlacakan artefak yang dikompilasi. Java
Fitur utama
-
Menghasilkan hash SHA—1 untuk semua artefak yang dikompilasi Java
Contoh artefak
Berikut ini adalah contoh artefak SHA-1.
{ "bom-ref": "comp-52", "type": "library", "name": "jul-to-slf4j", "version": "2.0.6", "hashes": [ { "alg": "SHA-1", "content": "" } ], "purl": "pkg:maven/jul-to-slf4j@2.0.6", "properties": [ { "name": "amazon:inspector:sbom_generator:source_path", "value": "test-0.0.1-SNAPSHOT.jar/BOOT-INF/lib/jul-to-slf4j-2.0.6.jar" } ] }
catatan
Artefak ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
pom.properti
pom.propertiesFile ini digunakan dalam Maven proyek untuk menyimpan metadata proyek, termasuk nama paket dan versi paket. Amazon Inspector SBOM Generator mem-parsing file ini untuk mengumpulkan informasi proyek.
Fitur utama
-
Mem-parsing dan mengekstrak artefak paket, grup paket, dan versi paket
Contoh file pom.properties
Berikut ini adalah contoh pom.properties file.
#Generated by Maven #Tue Mar 16 15:44:02 UTC 2021 version=1.6.0 groupId=net.datafaker artifactId=datafaker
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Tidak termasuk penguraian bersarang pom.xml
Jika Anda ingin mengecualikan pom.xml penguraian saat memindai Java aplikasi yang dikompilasi, gunakan --skip-nested-pomxml argumen.
pom.xml
pom.xmlFile tersebut adalah file konfigurasi inti untuk Maven proyek. Ini berisi informasi tentang proyek dan dependensi proyek. Amazon Inspector SBOM Generator mem-parsing pom.xml file untuk mengumpulkan dependensi, memindai file mandiri di repositori dan file di dalam file yang dikompilasi. .jar
Fitur utama
-
Mem-parsing dan mengekstrak artefak paket, grup paket, dan versi paket dari
pom.xmlfile.
MavenCakupan dan tag yang didukung
Dependensi dikumpulkan dengan cakupan berikut: Maven
-
mengompilasikan
-
provided
-
runtime
-
pengujian
-
sistem
-
impor
Dependensi dikumpulkan dengan Maven tag berikut:. <optional>true</optional>
Contoh pom.xml file dengan ruang lingkup
Berikut ini adalah contoh pom.xml file dengan cakupan.
<dependency> <groupId>jakarta.servlet</groupId> <artifactId>jakarta.servlet-api</artifactId> </version>6.0.0</version> <scope>provided</scope> </dependency> <dependency> <groupId>mysql</groupId> <artifactId>mysql-connector-java</artifactId> <version>8.0.28</version> <scope>runtime</scope> </dependency>
Contoh pom.xml file tanpa ruang lingkup
Berikut ini adalah contoh pom.xml file tanpa ruang lingkup.
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.17.1</version> </dependency> <dependency> <groupId>org.jenkins-ci.plugins</groupId> <artifactId>plain-credentials</artifactId> <version>183.va_de8f1dd5a_2b_</version> </dependency> <dependency> <groupId>org.jenkins-ci.plugins</groupId> <artifactId>jackson2-api</artifactId> <version>2.15.2-350.v0c2f3f8fc595</version> </dependency>
catatan
Masing-masing file ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
JavaScript pemindaian ketergantungan
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
Javascript |
|
|
N/A N/A N/A N/A |
N/A Ya Ya Ya |
Ya N/A N/A N/A |
Ya N/A N/A N/A |
Ya Tidak Tidak Tidak |
package.json
package.jsonFile adalah komponen inti dari Node.js proyek. Ini berisi metadata tentang paket yang diinstal. Amazon Inspector SBOM Generator memindai file ini untuk mengidentifikasi nama paket dan versi paket.
Fitur utama
-
Mem-parsing struktur file JSON untuk mengekstrak nama dan versi paket
-
Mengidentifikasi paket pribadi dengan nilai pribadi
Contoh file package.json
Berikut ini adalah contoh package.json file.
{ "name": "arrify", "private": true, "version": "2.0.1", "description": "Convert a value to an array", "license": "MIT", "repository": "sindresorhus/arrify" }
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
package-lock.json
package-lock.jsonFile ini secara otomatis dihasilkan oleh npm untuk mengunci versi dependensi yang tepat yang diinstal untuk sebuah proyek. Ini memastikan konsistensi dalam lingkungan dengan menyimpan versi yang tepat dari semua dependensi dan sub-dependensinya. File ini dapat membedakan antara dependensi reguler dan dependensi pengembangan.
Fitur utama
-
Mem-parsing struktur file JSON untuk mengekstrak nama paket dan versi paket
-
Mendukung deteksi ketergantungan dev
Contoh file package-lock.json
Berikut ini adalah contoh package-lock.json file.
"verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" }
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
npm-shrinkwrap.json
npmsecara otomatis menghasilkan package-lock.json dan npm-shrinkwrap.json file untuk mengunci versi dependensi yang tepat yang diinstal untuk sebuah proyek. Ini menjamin konsistensi dalam lingkungan dengan menyimpan versi yang tepat dari semua dependensi dan sub-dependensi. File membedakan antara dependensi reguler dan dependensi pengembangan.
Fitur utama
-
Parse
package-lockversi 1 ,2, dan 3 dari struktur JSON file untuk mengekstrak nama paket dan versi -
Deteksi ketergantungan pengembang didukung (
package-lock.jsonmenangkap dependensi produksi dan pengembangan, memungkinkan alat untuk mengidentifikasi paket mana yang digunakan dalam lingkungan pengembangan) -
npm-shrinkwrap.jsonFile diprioritaskan di atas filepackage-lock.json
Contoh
Berikut ini adalah contoh package-lock.json file.
"verror": { "version": "1.10.0", "resolved": "https://registry.npmjs.org/verror/-/verror-1.10.0.tgz", "integrity": "sha1-OhBcoXBTr1XW4nDB+CiGguGNpAA=", "requires": { "assert-plus": "^1.0.0", "core-util-is": "1.0.2", "extsprintf": "^1.2.0" } }, "wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", "dev": true }, "yallist": { "version": "3.0.2", "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.0.2.tgz", "integrity": "sha1-hFK0u36Dx8GI2AQcGoN8dz1ti7k=" }
pnpm-yaml.lock
pnpm-lock.yamlFile dihasilkan oleh pnpm untuk mempertahankan catatan versi ketergantungan yang diinstal. Ini juga melacak dependensi pengembangan secara terpisah.
Fitur utama
-
Mem-parsing struktur file YAMM untuk mengekstrak nama dan versi paket
-
Mendukung deteksi ketergantungan dev
Contoh
Berikut ini adalah contoh pnpm-lock.yaml file.
lockfileVersion: 5.3 importers: my-project: dependencies: lodash: 4.17.21 devDependencies: jest: 26.6.3 specifiers: lodash: ^4.17.21 jest: ^26.6.3 packages: /lodash/4.17.21: resolution: integrity: sha512-xyz engines: node: '>=6' dev: false /jest/26.6.3: resolution: integrity: sha512-xyz dev: true
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
yarn.lock
Amazon Inspector SBOM Generator mencoba mengumpulkan hash SHA—1 untuk.ear,.jar, dan .war file dalam proyek untuk menjamin integritas dan keterlacakan artefak yang dikompilasi. Java
Fitur utama
-
Menghasilkan hash SHA—1 untuk semua artefak yang dikompilasi Java
Contoh artefak SHA—1
Berikut ini adalah contoh artefak SHA-1.
"@ampproject/remapping@npm:^2.2.0": version: 2.2.0 resolution: "@ampproject/remapping@npm:2.2.0" dependencies: "@jridgewell/gen-mapping": ^0.1.0 "@jridgewell/trace-mapping": ^0.3.9 checksum: d74d170d06468913921d72430259424b7e4c826b5a7d39ff839a29d547efb97dc577caa8ba3fb5cf023624e9af9d09651afc3d4112a45e2050328abc9b3a2292 languageName: node linkType: hard "@babel/code-frame@npm:^7.0.0, @babel/code-frame@npm:^7.12.13, @babel/code-frame@npm:^7.18.6, @babel/code-frame@npm:^7.21.4": version: 7.21.4 resolution: "@babel/code-frame@npm:7.21.4" dependencies: "@babel/highlight": ^7.18.6 checksum: e5390e6ec1ac58dcef01d4f18eaf1fd2f1325528661ff6d4a5de8979588b9f5a8e852a54a91b923846f7a5c681b217f0a45c2524eb9560553160cd963b7d592c languageName: node linkType: hard
catatan
Artefak ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pemindaian ketergantungan.NET
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
.NET |
|
|
N/A N/A N/A N/A |
N/A N/A N/A N/A |
N/A N/A Ya N/A |
N/A N/A N/A N/A |
Ya Ya Ya Ya |
packages.config
Packages.configFile ini adalah file XMLyang digunakan oleh versi lama Nuget untuk mengelola dependensi proyek. Ini mencantumkan semua paket yang direferensikan oleh proyek, termasuk versi tertentu.
Fitur utama
-
Mem-parsing struktur XMLuntuk mengekstrak paket IDs dan versi
Contoh
Berikut ini adalah contoh Packages.config file.
<?xml version="1.0" encoding="utf-8"? > <packages> <package id="FluentAssertions" version="5.4.1" targetFramework="net461" /> <package id="Newtonsoft.Json" version="11.0.2" targetFramework="net461" /> <package id="SpecFlow" version="2.4.0" targetFramework="net461" /> <package id="SpecRun.Runner" version="1.8.0" targetFramework="net461" /> <package id="SpecRun.SpecFlow" version="1.8.0" targetFramework="net461" /> <package id="SpecRun.SpecFlow.2-4-0" version="1.8.0" targetFramework="net461" /> <package id="System.ValueTuple" version="4.5.0" targetFramework="net461" /> </packages>
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
*.deps.json
*.deps.jsonFile dihasilkan oleh .NET Core proyek dan berisi informasi terperinci tentang semua dependensi, termasuk jalur, versi, dan dependensi runtime. File ini memastikan runtime memiliki informasi yang diperlukan untuk memuat versi dependensi yang benar.
Fitur utama
-
Mem-parsing struktur JSON untuk detail ketergantungan yang komprehensif
-
Mengekstrak nama dan versi paket dalam
librariesdaftar.
Contoh file .deps.json
Berikut ini adalah contoh .deps.json file.
{ "runtimeTarget": { "name": ".NETCoreApp,Version=v7.0", "signature": "" }, "libraries": { "sample-Nuget/1.0.0": { "type": "project", "serviceable": false, "sha512": "" }, "Microsoft.EntityFrameworkCore/7.0.5": { "type": "package", "serviceable": true, "sha512": "sha512-RXbRLHHWP2Z3pq8qcL5nQ6LPeoOyp8hasM5bd0Te8PiQi3RjWQR4tcbdY5XMqQ+oTO9wA8/RLhZRn/hnxlTDnQ==", "path": "microsoft.entityframeworkcore/7.0.5", "hashPath": "microsoft.entityframeworkcore.7.0.5.nupkg.sha512" }, }
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
packages.lock.json
packages.lock.jsonFile ini digunakan oleh versi yang lebih baru Nuget untuk mengunci versi dependensi yang tepat untuk .NET proyek guna menjamin versi yang sama digunakan secara konsisten di lingkungan yang berbeda.
Fitur utama
-
Mem-parsing struktur JSON untuk membuat daftar dependensi terkunci
-
Mendukung dependensi langsung dan transitif
-
Ekstrak nama paket dan versi yang diselesaikan
Contoh file packages.lock.json
Berikut ini adalah contoh packages.lock.json file.
{ "version": 1, "dependencies": { "net7.0": { "Microsoft.EntityFrameworkCore": { "type": "Direct", "requested": "[7.0.5, )", "resolved": "7.0.5", "contentHash": "RXbRLHHWP2Z3pq8qcL5nQ6LPeoOyp8hasM5bd0Te8PiQi3RjWQR4tcbdY5XMqQ+oTO9wA8/RLhZRn/hnxlTDnQ==", "dependencies": { "Microsoft.EntityFrameworkCore.Abstractions": "7.0.5", "Microsoft.EntityFrameworkCore.Analyzers": "7.0.5", "Microsoft.Extensions.Caching.Memory": "7.0.0", "Microsoft.Extensions.DependencyInjection": "7.0.0", "Microsoft.Extensions.Logging": "7.0.0" } }, "Newtonsoft.Json": { "type": "Direct", "requested": "[13.0.3, )", "resolved": "13.0.3", "contentHash": "HrC5BXdl00IP9zeV+0Z848QWPAoCr9P3bDEZguI+gkLcBKAOxix/tLEAAHC+UvDNPv4a2d18lOReHMOagPa+zQ==" }, "Microsoft.Extensions.Primitives": { "type": "Transitive", "resolved": "7.0.0", "contentHash": "um1KU5kxcRp3CNuI8o/GrZtD4AIOXDk+RLsytjZ9QPok3ttLUelLKpilVPuaFT3TFjOhSibUAso0odbOaCDj3Q==" } } } }
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
.csproj
.csprojFile ini ditulis dalam XHTML dan file proyek untuk .NET proyek. Ini termasuk referensi ke Nuget paket, properti proyek, dan konfigurasi build.
Fitur utama
-
Mem-parsing XMLstruktur untuk mengekstrak referensi paket
Contoh file .csproj
Berikut ini adalah contoh .csproj file.
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <TargetFramework>net7.0</TargetFramework> <RootNamespace>sample_Nuget</RootNamespace> <ImplicitUsings>enable</ImplicitUsings> <Nullable>enable</Nullable> <RestorePackagesWithLockFile>true</RestorePackagesWithLockFile> </PropertyGroup> <ItemGroup> </ItemGroup> <ItemGroup> <PackageReference Include="Newtonsoft.Json" Version="13.0.3" /> <PackageReference Include="Microsoft.EntityFrameworkCore" Version="7.0.5" /> </ItemGroup> </Project>
Contoh file .csproj
Berikut ini adalah contoh .csproj file.
<PackageReference Include="ExamplePackage" Version="6.*" /> <PackageReferencePackageReference Include="ExamplePackage" Version="(4.1.3,)" /> <PackageReference Include="ExamplePackage" Version="(,5.0)" /> <PackageReference Include="ExamplePackage" Version="[1,3)" /> <PackageReference Include="ExamplePackage" Version="[1.3.2,1.5)" />
catatan
Masing-masing file ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pemindaian ketergantungan PHP
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
PHP |
Composer |
|
N/A N/A |
N/A N/A |
Ya Ya |
N/A N/A |
Ya Ya |
composer.lock
composer.lockFile secara otomatis dihasilkan saat menjalankan perintah composer install atau composer update. File ini menjamin versi dependensi yang sama diinstal di setiap lingkungan. Ini memberikan proses pembuatan yang konsisten dan andal.
Fitur utama
-
Mem-parsing format JSON untuk data terstruktur
-
Mengekstrak nama dan versi ketergantungan
Contoh file composer.lock
Berikut ini adalah contoh composer.lock file.
{ "packages": [ { "name": "nesbot/carbon", "version": "2.53.1", // TRUNCATED }, { "name": "symfony/deprecation-contracts", "version": "v3.2.1", // TRUNCATED }, { "name": "symfony/polyfill-mbstring", "version": "v1.27.0", // TRUNCATED } ] // TRUNCATED }
catatan
Ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
/vendor/composer/installed.json
/vendor/composer/installed.jsonFile ini terletak di vendor/composer direktori dan menyediakan daftar lengkap semua paket yang diinstal dan versi paket.
Fitur utama
-
Mem-parsing format JSON untuk data terstruktur
-
Mengekstrak nama dan versi ketergantungan
Contoh file /vendor/composer/installed.json
Berikut ini adalah contoh /vendor/composer/installed.json file.
{ "packages": [ { "name": "nesbot/carbon", "version": "2.53.1", // TRUNCATED }, { "name": "symfony/deprecation-contracts", "version": "v3.2.1", // TRUNCATED }, { "name": "symfony/polyfill-mbstring", "version": "v1.27.0", // TRUNCATED } ] // TRUNCATED }
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pemindaian ketergantungan Python
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
Python |
|
|
N/A N/A N/A N/A N/A N/A |
N/A N/A N/A Ya N/A N/A |
N/A N/A N/A N/A N/A N/A |
N/A N/A N/A N/A N/A N/A |
Ya Ya Ya Ya Ya Ya |
requirements.txt
requirements.txtFile ini adalah format yang banyak digunakan dalam Python proyek untuk menentukan dependensi proyek. Setiap baris dalam file ini menyertakan paket dengan batasan versinya. Amazon Inspector SBOM Generator mem-parsing file ini untuk mengidentifikasi dan katalog dependensi secara akurat.
Fitur utama
-
Mendukung penentu versi (== dan ~=)
-
Mendukung komentar dan garis ketergantungan yang kompleks
catatan
Penentu versi <= dan => tidak didukung.
Contoh file requirements.txt
Berikut ini adalah contoh requirements.txt file.
flask==1.1.2 requests==2.24.0 numpy==1.18.5 foo~=1.2.0 # Comment about a dependency scipy. # invalid
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pipfile.lock
Pipenvadalah alat yang menghadirkan yang terbaik dari semua dunia pengemasan (dibundel, disematkan, dan tidak disematkan). Pipfile.lockMengunci versi dependensi yang tepat untuk memfasilitasi build deterministik. Amazon Inspector SBOM Generator membaca file ini untuk mencantumkan dependensi dan versi yang diselesaikan.
Fitur utama
-
Mem-parsing format JSON untuk resolusi ketergantungan
-
Mendukung dependensi default dan pengembangan
Contoh file Pipfile.lock
Berikut ini adalah contoh Pipfile.lock file.
{ "default": { "requests": { "version": "==2.24.0", "hashes": [ "sha256:cc718bb187e53b8d" ] } }, "develop": { "blinker": { "hashes": [ "sha256:1779309f71bf239144b9399d06ae925637cf6634cf6bd131104184531bf67c01", "sha256:8f77b09d3bf7c795e969e9486f39c2c5e9c39d4ee07424be2bc594ece9642d83" ], "markers": "python_version >= '3.8'", "version": "==1.8.2" } } }
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Puisi.lock
Poetryadalah manajemen ketergantungan dan alat pengemasan untuk Python. Poetry.lockFile mengunci versi dependensi yang tepat untuk memfasilitasi lingkungan yang konsisten. Amazon Inspector SBOM Generator mengekstrak informasi ketergantungan terperinci dari file ini.
Fitur utama
-
Mem-parsing format TOMM untuk data terstruktur
-
Mengekstrak nama ketergantungan, dan versi
Contoh file Poetry.lock
Berikut ini adalah contoh Poetry.lock file.
[[package]] name = "flask" version = "1.1.2" description = "A simple framework for building complex web applications." category = "main" optional = false python-versions = ">=3.5" [[package]] name = "requests" version = "2.24.0" description = "Python HTTP for Humans." category = "main" optional = false python-versions = ">=3.5"
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
uv.lock
uvadalah manajer Python paket cepat yang ditulisRust. uv.lockFile mengunci versi dependensi yang tepat untuk memfasilitasi lingkungan yang konsisten. Amazon Inspector SBOM Generator mengekstrak informasi ketergantungan terperinci dari file ini.
Fitur utama
-
Mem-parsing TOMM yang diformat untuk data terstruktur
uv.lock -
Mengekstrak nama ketergantungan, dan versi
-
Mendukung dependensi pengembangan
-
Mengumpulkan hanya paket di mana sumbernya adalah registri
Contoh file uv.lock
Berikut ini adalah contoh uv.lock file.
version = 1 requires-python = ">=3.12" [[package]] name = "flask" version = "3.1.0" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "blinker" }, { name = "click" }, { name = "itsdangerous" }, { name = "jinja2" }, { name = "markupsafe" }, { name = "werkzeug" }, ] [[package]] name = "pytest" version = "8.3.4" source = { registry = "https://pypi.org/simple" } dependencies = [ { name = "iniconfig" }, { name = "packaging" }, { name = "pluggy" }, ] [package.dev-dependencies] dev = [ { name = "pytest" }, ]
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Telur/Roda
Untuk paket Python yang diinstal secara global, Amazon Inspector SBOM Generator mendukung penguraian file metadata yang ditemukan di direktori dan. .egg-info/PKG-INFO .dist-info/METADATA File-file ini menyediakan metadata terperinci tentang paket yang diinstal.
Fitur utama
-
Ekstrak nama paket, dan versi
-
Mendukung format telur dan roda
Contoh file PKG-INFO/METADATA
Berikut ini adalah contoh PKG-INFO/METADATA file.
Metadata-Version: 1.2 Name: Flask Version: 1.1.2 Summary: A simple framework for building complex web applications. Home-page: https://palletsprojects.com/p/flask/
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pemindaian ketergantungan Ruby
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchaing | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
Ruby |
Bundler |
|
N/A N/A N/A |
N/A N/A N/A |
Ya N/A N/A |
N/A N/A N/A |
Ya Ya Ya |
Gemfile.lock
Gemfile.lockFile mengunci versi yang tepat dari semua dependensi untuk memastikan versi yang sama digunakan di setiap lingkungan.
Fitur utama
-
Mem-parsing
Gemfile.lockfile ke dependensi identitas dan versi dependensi -
Mengekstrak nama paket rinci dan versi paket
Contoh file Gemfile.lock
Berikut ini adalah contoh Gemfile.lock file.
GEM remote: https://rubygems.org/ specs: ast (2.4.2) awesome_print (1.9.2) diff-lcs (1.5.0) json (2.6.3) parallel (1.22.1) parser (3.2.2.0) nokogiri (1.16.6-aarch64-linux)
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
.gemspec
.gemspecFile tersebut adalah RubyGem file yang berisi metadata tentang permata. Amazon Inspector SBOM Generator mem-parsing file ini untuk mengumpulkan informasi rinci tentang permata.
Fitur utama
-
Mem-parsing dan mengekstrak nama permata dan versi permata
catatan
Spesifikasi referensi tidak didukung.
Contoh file .gemspec
Berikut ini adalah contoh .gemspec file.
Gem::Specification.new do |s| s.name = "generategem" s.version = "2.0.0" s.date = "2020-06-12" s.summary = "generategem" s.description = "A Gemspec Builder" s.email = "edersondeveloper@gmail.com" s.files = ["lib/generategem.rb"] s.homepage = "https://github.com/edersonferreira/generategem" s.license = "MIT" s.executables = ["generategem"] s.add_dependency('colorize', '~> 0.8.1') end
# Not supported Gem::Specification.new do |s| s.name = &class1 s.version = &foo.bar.version
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Permata yang dipasang secara global
Amazon Inspector SBOM Generator mendukung pemindaian permata yang diinstal secara global, yang terletak di direktori standar, seperti di Amazon /usr/local/lib/ruby/gems/<ruby_version>/gems/ EC2/Amazon ECR dan di Lambda. ruby/gems/<ruby_version>/gems/ Ini memastikan semua dependensi yang diinstal secara global diidentifikasi dan dikatalogkan.
Fitur utama
-
Mengidentifikasi dan memindai semua permata yang diinstal secara global di direktori standar
-
Mengekstrak metadata dan informasi versi untuk setiap permata yang diinstal secara global
Contoh struktur direktori
Berikut ini adalah contoh struktur direktori.
. └── /usr/local/lib/ruby/3.5.0/gems/ ├── actrivesupport-6.1.4 ├── concurrent-ruby-1.1.9 └── i18n-1.8.10
catatan
Struktur ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Pemindaian ketergantungan karat
| Bahasa pemrograman | Package manager | Artefak yang didukung | Dukungan Toolchain | Dependensi pengembangan | Dependensi transitif | Bendera pribadi | Secara rekursif |
|---|---|---|---|---|---|---|---|
Rust |
Cargo.toml |
|
N/A N/A Ya |
N/A N/A N/A |
N/A Ya N/A |
N/A N/A N/A |
Ya Ya Ya |
Cargo.toml
Cargo.tomlFile adalah file manifes untuk Rust proyek.
Fitur utama
-
Mem-parsing dan mengekstrak
Cargo.tomlfile untuk mengidentifikasi nama paket proyek dan versi.
Contoh file Cargo.toml
Berikut ini adalah contoh Cargo.toml file.
[package] name = "wait-timeout" version = "0.2.0" description = "A crate to wait on a child process with a timeout specified across Unix and\nWindows platforms.\n" homepage = "https://github.com/alexcrichton/wait-timeout" documentation = "https://docs.rs/wait-timeout" readme = "README.md" categories = ["os"] license = "MIT/Apache-2.0" repository = "https://github.com/alexcrichton/wait-timeout" [target."cfg(unix)".dependencies.libc] version = "0.2" [badges.appveyor] repository = "alexcrichton/wait-timeout"
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Cargo.lock
Cargo.lockFile mengunci versi dependensi untuk memastikan versi yang sama digunakan setiap kali proyek dibangun.
Fitur utama
-
Mem-parsing
Cargo.lockfile untuk mengidentifikasi semua dependensi dan versi dependensi.
Contoh file Cargo.lock
Berikut ini adalah contoh Cargo.lock file.
# This file is automatically @generated by Cargo. # It is not intended for manual editing. [[package]] name = "adler32" version = "1.0.3" source = "registry+https://github.com/rust-lang/crates.io-index" [[package]] name = "aho-corasick" version = "0.7.4" source = "registry+https://github.com/rust-lang/crates.io-index"
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Biner karat dengan cargo-auditable
Amazon Inspector SBOM Generator mengumpulkan dependensi dari Rust binari yang dibangun dengan perpustakaan. cargo-auditable Ini memberikan informasi ketergantungan tambahan dengan mengaktifkan ekstraksi ketergantungan dari binari yang dikompilasi.
Fitur utama
-
Mengekstrak informasi ketergantungan langsung dari Rust binari yang dibangun dengan perpustakaan
cargo-auditable -
Mengambil metadata dan informasi versi untuk dependensi yang disertakan dalam binari
catatan
File ini menghasilkan output yang berisi URL paket. URL ini dapat digunakan untuk menentukan informasi tentang paket perangkat lunak saat membuat tagihan materi perangkat lunak dan dapat dimasukkan dalam ScanSbomAPI. Untuk informasi selengkapnya, lihat url paket di Situs
Artefak yang tidak didukung
Bagian ini menjelaskan artefak yang tidak didukung.
Java
Generator Amazon Inspector SBOM Generator hanya mendukung deteksi kerentanan untuk dependensi yang bersumber dari repositori arus utama. Maven
JavaScript
bundel esbuild
Untuk bundel esbuild yang diperkecil, Amazon Inspector SBOM Generator tidak mendukung pemindaian dependensi untuk proyek yang digunakan. esbuild Peta sumber yang dihasilkan oleh esbuild tidak menyertakan metadata yang memadai (nama dan versi ketergantungan) yang diperlukan untuk pembuatan yang akurat. Sbomgen Untuk hasil yang andal, pindai file proyek asli, seperti node_modules/directory danpackage-lock.json, sebelum proses bundling.
package.json
Amazon Inspector SBOM Generator tidak mendukung pemindaian file package.json tingkat root untuk informasi ketergantungan. File ini hanya menentukan nama paket dan rentang versi, tetapi tidak menyertakan versi paket yang sepenuhnya diselesaikan. Untuk hasil pemindaian yang akurat, gunakan package.json atau file kunci lainnya, seperti yarn.lock danpnpm.lock, yang menyertakan versi yang diselesaikan.
Dotnet
Saat menggunakan versi mengambang atau rentang versiPackageReference, menjadi lebih menantang untuk menentukan versi paket yang tepat yang digunakan dalam proyek tanpa melakukan resolusi paket. Versi mengambang dan rentang versi memungkinkan pengembang untuk menentukan rentang versi paket yang dapat diterima daripada versi tetap.
Pergi binari
Amazon Inspector SBOM Generator tidak memindai Go binari yang dibuat dengan flag build yang dikonfigurasi untuk mengecualikan ID build. Bendera build ini mencegah Amazon Inspector SBOM Generator memetakan biner secara akurat ke sumber aslinya. GoBinari yang tidak jelas tidak didukung karena ketidakmampuan untuk mengekstrak informasi paket. Untuk pemindaian dependensi yang akurat, pastikan Go binari dibuat dengan setelan default, termasuk ID build.
Biner karat
Amazon Inspector SBOM Generator hanya memindai Rust binari jika binari dibuat menggunakan pustaka yang dapat diaudit kargo.
catatan
Deteksi kerentanan untuk Rust rantai alat itu sendiri tidak didukung, bahkan jika versi toolchain diekstraksi.