

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

# Mengintegrasikan pemindaian Amazon Inspector ke dalam pipeline Anda CI/CD
<a name="scanning-cicd"></a>

 CI/CD Integrasi Amazon Inspector menggunakan Amazon Inspector SBOM Generator dan Amazon Inspector Scan API untuk menghasilkan laporan kerentanan untuk gambar kontainer. Amazon Inspector SBOM Generator membuat tagihan bahan perangkat lunak (SBOM) untuk arsip, gambar kontainer, direktori, sistem lokal, dan kompilasi dan binari. Go Rust Amazon Inspector Scan API memindai SBOM untuk membuat laporan dengan detail tentang kerentanan yang terdeteksi. Anda dapat mengintegrasikan pemindaian gambar penampung Amazon Inspector dengan CI/CD pipeline untuk memindai kerentanan perangkat lunak dan menghasilkan laporan kerentanan, yang memungkinkan Anda menyelidiki dan memulihkan risiko sebelum penerapan. Untuk mengatur CI/CD integrasi, Anda dapat menggunakan plugin atau membuat CI/CD integrasi khusus menggunakan Amazon Inspector SBOM Generator dan Amazon Inspector Scan API. 

**Topics**
+ [Integrasi plugin](#plugin-integration)
+ [Integrasi kustom](#custom-integration)
+ [Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD](configure-cicd-account.md)
+ [Pemeriksaan Amazon Inspector Dockerfile](dockerfile-checks.md)
+ [Membuat integrasi CI/CD pipeline khusus dengan Amazon Inspector Scan](cicd-custom.md)
+ [Menggunakan plugin Amazon Inspector Jenkins](cicd-jenkins.md)
+ [Menggunakan plugin Amazon Inspector TeamCity](cicd-teamcity.md)
+ [Menggunakan Amazon Inspector dengan tindakan GitHub](cicd-inspector-github-actions.md)
+ [Menggunakan Amazon Inspector dengan komponen GitLab](cicd-inspector-gitlab-components.md)
+ [Menggunakan CodeCatalyst tindakan dengan Amazon Inspector](cicd-inspector-codecatalyst-actions.md)
+ [Menggunakan tindakan Amazon Inspector Scan dengan CodePipeline](cicd-inspector-codepipeline-actions.md)

## Integrasi plugin
<a name="plugin-integration"></a>

Amazon Inspector menyediakan plugin untuk solusi yang didukung. CI/CD Anda dapat menginstal plugin ini dari pasar masing-masing dan kemudian menggunakannya untuk menambahkan Amazon Inspector Scan sebagai langkah pembuatan dalam pipeline Anda. Langkah pembuatan plugin menjalankan generator Amazon Inspector SBOM pada gambar yang Anda berikan, dan kemudian menjalankan Amazon Inspector Scan API pada SBOM yang dihasilkan.

Berikut ini adalah ikhtisar tentang cara kerja CI/CD integrasi Amazon Inspector melalui plugin:

1. Anda mengonfigurasi Akun AWS untuk mengizinkan akses ke Amazon Inspector Scan API. Untuk petunjuk, lihat [Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD](configure-cicd-account.md).

1. Anda menginstal plugin Amazon Inspector dari marketplace.

1. Anda menginstal dan mengkonfigurasi biner Amazon Inspector SBOM Generator. Untuk petunjuk, lihat [Amazon Inspector SBOM Generator](sbom-generator.md).

1. Anda menambahkan Amazon Inspector Scan sebagai langkah build di CI/CD pipeline Anda dan mengonfigurasi pemindaian.

1. Saat Anda menjalankan build, plugin mengambil image container Anda sebagai input dan kemudian menjalankan Amazon Inspector SBOM Generator pada image untuk menghasilkan SBOM yang CycloneDX kompatibel.

1. Dari sana, plugin mengirimkan SBOM yang dihasilkan ke titik akhir Amazon Inspector Scan API yang menilai setiap komponen SBOM untuk kerentanan.

1. Respons API Amazon Inspector Scan diubah menjadi laporan kerentanan dalam format CSV, SBOM JSON, dan HTML. Laporan tersebut berisi rincian tentang kerentanan apa pun yang ditemukan Amazon Inspector.

### CI/CD Solusi yang didukung
<a name="supported-plugins"></a>

Amazon Inspector saat ini mendukung solusi berikut CI/CD . Untuk petunjuk lengkap tentang pengaturan CI/CD integrasi menggunakan plugin, pilih plugin untuk solusi CI/CD Anda:
+ [Plugin Jenkins](cicd-jenkins.md)
+ [TeamCity plugin](cicd-teamcity.md)
+ [GitHub tindakan](https://docs.aws.amazon.com/inspector/latest/user/cicd-inspector-github-actions.html)

## Integrasi kustom
<a name="custom-integration"></a>

Jika Amazon Inspector tidak menyediakan plugin untuk CI/CD solusi Anda, Anda dapat membuat CI/CD integrasi kustom Anda sendiri menggunakan kombinasi Amazon Inspector SBOM Generator dan Amazon Inspector Scan API. Anda juga dapat menggunakan integrasi khusus untuk menyempurnakan pemindaian menggunakan opsi yang tersedia melalui Amazon Inspector SBOM Generator. 

Berikut ini adalah ikhtisar tentang cara kerja CI/CD integrasi Amazon Inspector khusus:

1. Anda mengonfigurasi Akun AWS untuk mengizinkan akses ke Amazon Inspector Scan API. Untuk petunjuk, lihat [Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD](configure-cicd-account.md).

1. Anda menginstal dan mengkonfigurasi biner Amazon Inspector SBOM Generator. Untuk petunjuk, lihat [Amazon Inspector SBOM Generator](sbom-generator.md).

1. Anda menggunakan Amazon Inspector SBOM Generator untuk menghasilkan SBOM yang CycloneDX kompatibel untuk image container Anda.

1. Anda menggunakan Amazon Inspector Scan API pada SBOM yang dihasilkan untuk menghasilkan laporan kerentanan.

Untuk petunjuk tentang menyiapkan integrasi kustom, lihat[Membuat integrasi CI/CD pipeline khusus dengan Amazon Inspector Scan](cicd-custom.md).

# Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD
<a name="configure-cicd-account"></a>

 Untuk menggunakan CI/CD integrasi Amazon Inspector, Anda harus mendaftar untuk file. Akun AWS Peran IAM Akun AWS harus memiliki yang memberikan akses CI/CD pipleline Anda ke Amazon Inspector Scan API. Selesaikan tugas dalam topik berikut untuk mendaftar Akun AWS, membuat pengguna administrator, dan mengonfigurasi peran IAM untuk CI/CD integrasi. 

**catatan**  
 Jika Anda sudah mendaftar untuk Akun AWS, Anda dapat melompat ke[Konfigurasikan peran IAM untuk integrasi CI/CD](#cicd-iam-role). 

**Topics**
+ [Mendaftar untuk Akun AWS](#sign-up-for-aws)
+ [Buat pengguna dengan akses administratif](#create-an-admin)
+ [Konfigurasikan peran IAM untuk integrasi CI/CD](#cicd-iam-role)

## Mendaftar untuk Akun AWS
<a name="sign-up-for-aws"></a>

Jika Anda tidak memiliki Akun AWS, selesaikan langkah-langkah berikut untuk membuatnya.

**Untuk mendaftar untuk Akun AWS**

1. Buka [https://portal.aws.amazon.com/billing/pendaftaran.](https://portal.aws.amazon.com/billing/signup)

1. Ikuti petunjuk online.

   Bagian dari prosedur pendaftaran melibatkan menerima panggilan telepon atau pesan teks dan memasukkan kode verifikasi pada keypad telepon.

   Saat Anda mendaftar untuk sebuah Akun AWS, sebuah *Pengguna root akun AWS*dibuat. Pengguna root memiliki akses ke semua Layanan AWS dan sumber daya di akun. Sebagai praktik keamanan terbaik, tetapkan akses administratif ke pengguna, dan gunakan hanya pengguna root untuk melakukan [tugas yang memerlukan akses pengguna root](https://docs.aws.amazon.com/IAM/latest/UserGuide/id_root-user.html#root-user-tasks).

AWS mengirimi Anda email konfirmasi setelah proses pendaftaran selesai. Kapan saja, Anda dapat melihat aktivitas akun Anda saat ini dan mengelola akun Anda dengan masuk [https://aws.amazon.com.rproxy.govskope.cake/](https://aws.amazon.com/) dan memilih **Akun Saya**.

## Buat pengguna dengan akses administratif
<a name="create-an-admin"></a>

Setelah Anda mendaftar Akun AWS, amankan Pengguna root akun AWS, aktifkan AWS IAM Identity Center, dan buat pengguna administratif sehingga Anda tidak menggunakan pengguna root untuk tugas sehari-hari.

**Amankan Anda Pengguna root akun AWS**

1.  Masuk ke [Konsol Manajemen AWS](https://console.aws.amazon.com/)sebagai pemilik akun dengan memilih **pengguna Root** dan memasukkan alamat Akun AWS email Anda. Di laman berikutnya, masukkan kata sandi.

   Untuk bantuan masuk dengan menggunakan pengguna root, lihat [Masuk sebagai pengguna root](https://docs.aws.amazon.com/signin/latest/userguide/console-sign-in-tutorials.html#introduction-to-root-user-sign-in-tutorial) di *AWS Sign-In Panduan Pengguna*.

1. Mengaktifkan autentikasi multi-faktor (MFA) untuk pengguna root Anda.

   Untuk petunjuk, lihat [Mengaktifkan perangkat MFA virtual untuk pengguna Akun AWS root (konsol) Anda](https://docs.aws.amazon.com/IAM/latest/UserGuide/enable-virt-mfa-for-root.html) di Panduan Pengguna *IAM*.

**Buat pengguna dengan akses administratif**

1. Aktifkan Pusat Identitas IAM.

   Untuk mendapatkan petunjuk, silakan lihat [Mengaktifkan AWS IAM Identity Center](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-set-up-for-idc.html) di *Panduan Pengguna AWS IAM Identity Center *.

1. Di Pusat Identitas IAM, berikan akses administratif ke pengguna.

   Untuk tutorial tentang menggunakan Direktori Pusat Identitas IAM sebagai sumber identitas Anda, lihat [Mengkonfigurasi akses pengguna dengan default Direktori Pusat Identitas IAM](https://docs.aws.amazon.com//singlesignon/latest/userguide/quick-start-default-idc.html) di *Panduan AWS IAM Identity Center Pengguna*.

**Masuk sebagai pengguna dengan akses administratif**
+ Untuk masuk dengan pengguna Pusat Identitas IAM, gunakan URL masuk yang dikirim ke alamat email saat Anda membuat pengguna Pusat Identitas IAM.

  Untuk bantuan masuk menggunakan pengguna Pusat Identitas IAM, lihat [Masuk ke portal AWS akses](https://docs.aws.amazon.com/signin/latest/userguide/iam-id-center-sign-in-tutorial.html) di *Panduan AWS Sign-In Pengguna*.

**Tetapkan akses ke pengguna tambahan**

1. Di Pusat Identitas IAM, buat set izin yang mengikuti praktik terbaik menerapkan izin hak istimewa paling sedikit.

   Untuk petunjuknya, lihat [Membuat set izin](https://docs.aws.amazon.com//singlesignon/latest/userguide/get-started-create-a-permission-set.html) di *Panduan AWS IAM Identity Center Pengguna*.

1. Tetapkan pengguna ke grup, lalu tetapkan akses masuk tunggal ke grup.

   Untuk petunjuk, lihat [Menambahkan grup](https://docs.aws.amazon.com//singlesignon/latest/userguide/addgroups.html) di *Panduan AWS IAM Identity Center Pengguna*.

## Konfigurasikan peran IAM untuk integrasi CI/CD
<a name="cicd-iam-role"></a>

Untuk mengintegrasikan pemindaian Amazon Inspector ke dalam CI/CD pipeline, Anda perlu membuat kebijakan IAM yang memungkinkan akses ke Amazon Inspector Scan API yang memindai tagihan perangkat lunak materi (). SBOMs Kemudian, Anda dapat melampirkan kebijakan tersebut ke peran IAM yang dapat diasumsikan akun Anda untuk menjalankan Amazon Inspector Scan API.

1. Masuk ke Konsol Manajemen AWS dan buka konsol IAM di [https://console.aws.amazon.com/iam/](https://console.aws.amazon.com/iam/).

1. Di panel navigasi konsol IAM, **Kebijakan** lalu pilih **Buat** Kebijakan.

1. Di **Editor Kebijakan** pilih **JSON** dan tempel pernyataan berikut:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Sid": "VisualEditor0",
               "Effect": "Allow",
               "Action": "inspector-scan:ScanSbom",
               "Resource": "*"
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya**.

1. Beri kebijakan nama, misalnya`InspectorCICDscan-policy`, dan tambahkan deskripsi opsional, lalu pilih **Buat Kebijakan**. Kebijakan ini akan dilampirkan pada peran yang akan Anda buat di langkah selanjutnya.

1. Di panel navigasi konsol IAM, pilih **Peran dan kemudian pilih Buat Peran** **Baru**.

1. Untuk **jenis entitas Tepercaya** pilih **Kebijakan kepercayaan khusus** dan tempel kebijakan berikut:

------
#### [ JSON ]

****  

   ```
   {
       "Version":"2012-10-17",		 	 	 
       "Statement": [
           {
               "Effect": "Allow",
               "Principal": {
                   "AWS": "arn:aws:iam::111122223333:root"
               },
               "Action": "sts:AssumeRole",
               "Condition": {}
           }
       ]
   }
   ```

------

1. Pilih **Berikutnya**.

1. Di **Tambahkan izin**, cari dan pilih kebijakan yang Anda buat sebelumnya, lalu pilih **Berikutnya**.

1. Beri nama peran, misalnya`InspectorCICDscan-role`, dan tambahkan deskripsi opsional, lalu pilih`Create Role`.

# Pemeriksaan Amazon Inspector Dockerfile
<a name="dockerfile-checks"></a>

 Bagian ini menjelaskan cara menggunakan Amazon Inspector SBOM Generator untuk memindai Dockerfiles dan Docker menampung gambar untuk kesalahan konfigurasi yang menyebabkan kerentanan keamanan. 

**Topics**
+ [Menggunakan pemeriksaan Sbomgen Dockerfile](#w2aac39c13b7)
+ [Pemeriksaan Dockerfile yang didukung](#w2aac39c13b9)

## Menggunakan pemeriksaan Sbomgen Dockerfile
<a name="w2aac39c13b7"></a>

 Pemeriksaan Dockerfile dilakukan secara otomatis ketika file bernama `Dockerfile` atau `*.Dockerfile` ditemukan dan ketika gambar Docker dipindai. 

 Anda dapat menonaktifkan pemeriksaan Dockerfile menggunakan argumen. `--skip-scanners dockerfile` Anda juga dapat menggabungkan pemeriksaan Dockerfile dengan pemindai yang tersedia, seperti OS atau paket pihak ketiga. 

**Contoh perintah cek Docker**  
 Contoh perintah berikut menunjukkan cara menghasilkan SBOMs gambar kontainer Dockerfiles dan Docker, serta untuk OS dan paket pihak ketiga. 

```
# generate SBOM only containing Docker checks for Dockerfiles in a local directory
./inspector-sbomgen directory --path ./project/ --scanners dockerfile
            
# generate SBOM for container image will by default include Dockerfile checks
./inspector-sbomgen container --image image:tag

# generate SBOM only containing Docker checks for specific Dockerfiles and Alpine, Debian, and Rhel OS packages in a local directory
/inspector-sbomgen directory --path ./project/ --scanners dockerfile,dpkg,alpine-apk,rhel-rpm

# generate SBOM only containing Docker checks for specific Dockerfiles in a local directory
./inspector-sbomgen directory --path ./project/ --skip-scanners dockerfile
```

**Contoh komponen file**  
 Berikut ini adalah contoh temuan Dockerfile untuk komponen file. 

```
{
     "bom-ref": "comp-2",
      "name": "dockerfile:data/docker/Dockerfile",
      "properties": [
        {
          "name": "amazon:inspector:sbom_scanner:dockerfile_finding:IN-DOCKER-001",
          "value": "affected_lines:27-27"
        }
      ],
      "type": "file"
    },
```

**Contoh komponen respons kerentanan**  
 Berikut ini adalah contoh temuan Dockerfile untuk komponen respons kerentanan. 

```
{
      "advisories": [
        {
          "url": "https://docs.docker.com/develop/develop-images/instructions/"
        }
      ],
      "affects": [
        {
          "ref": "comp-2"
        }
      ],
      "analysis": {
        "state": "in_triage"
      },
      "bom-ref": "vuln-13",
      "created": "2024-03-27T14:36:39Z",
      "description": "apt-get layer caching: Using apt-get update alone in a RUN statement causes caching issues and subsequent apt-get install instructions to fail.",
      "id": "IN-DOCKER-001",
      "ratings": [
        {
          "method": "other",
          "severity": "info",
          "source": {
            "name": "AMAZON_INSPECTOR",
            "url": "https://aws.amazon.com/inspector/"
          }
        }
      ],
      "source": {
        "name": "AMAZON_INSPECTOR",
        "url": "https://aws.amazon.com/inspector/"
      },
      "updated": "2024-03-27T14:36:39Z"
    },
```

**catatan**  
 Jika Anda memanggil Sbomgen tanpa `--scan-sbom` tanda, Anda hanya dapat melihat temuan Dockerfile mentah. 

## Pemeriksaan Dockerfile yang didukung
<a name="w2aac39c13b9"></a>

 SbomgenPemeriksaan Dockerfile didukung untuk hal-hal berikut: 
+  Paket biner Sudo 
+  Utilitas APT Debian 
+  Rahasia hardcode 
+  Wadah akar 
+  Bendera perintah yang melemahkan runtime 
+  Variabel lingkungan yang melemah runtime 

 Masing-masing pemeriksaan Dockerfile ini memiliki peringkat keparahan yang sesuai, yang dicatat di bagian atas topik berikut. 

**catatan**  
 Rekomendasi yang dijelaskan dalam topik berikut didasarkan pada praktik terbaik industri. 

### Paket biner Sudo
<a name="w2aac39c13b9c11"></a>

**catatan**  
 Peringkat keparahan untuk pemeriksaan ini adalah **Info**. 

 Kami merekomendasikan untuk tidak menginstal atau menggunakan paket biner Sudo karena memiliki perilaku TTY dan penerusan sinyal yang tidak dapat diprediksi. Untuk informasi selengkapnya, lihat [Pengguna](https://docs.docker.com/build/building/best-practices/#user) di situs web Docker Docs. [Jika kasus penggunaan Anda memerlukan fungsionalitas yang mirip dengan paket biner Sudo, kami sarankan menggunakan Gosu.](https://github.com/tianon/gosu) 

### DebianUtilitas APT
<a name="w2aac39c13b9c13"></a>

**catatan**  
 Peringkat keparahan untuk pemeriksaan ini adalah **Tinggi**. 

 Berikut ini adalah praktik terbaik untuk menggunakan utilitas Debian APT. 

**Menggabungkan `apt-get` perintah dalam satu `Run` pernyataan untuk menghindari masalah caching**  
 Sebaiknya gabungkan `apt-get` perintah dalam satu pernyataan RUN di dalam wadah Docker Anda. Menggunakan `apt-get update` dengan sendirinya menghasilkan masalah caching dan `apt-get install` instruksi selanjutnya gagal. Untuk informasi selengkapnya, lihat [apt-get](https://docs.docker.com/build/building/best-practices/#apt-get) di situs web Docker Docs. 

**catatan**  
 Perilaku caching yang dijelaskan juga dapat terjadi di dalam Docker wadah Anda jika perangkat lunak kontainer Docker kedaluwarsa. 

**Menggunakan utilitas baris perintah APT dengan cara non-interaktif**  
 Sebaiknya gunakan utilitas baris perintah APT secara interaktif. Utilitas baris perintah APT dirancang sebagai alat pengguna akhir, dan perilakunya berubah antar versi. Untuk informasi selengkapnya, lihat [Penggunaan Skrip dan perbedaan dari alat APT lainnya di situs](https://manpages.debian.org/stretch/apt/apt.8.en.html#SCRIPT_USAGE_AND_DIFFERENCES_FROM_OTHER_APT_TOOLS) web Debian. 

### Rahasia kode keras
<a name="w2aac39c13b9c15"></a>

**catatan**  
 Peringkat keparahan untuk pemeriksaan ini sangat **penting**. 

 Informasi rahasia di Dockerfile Anda dianggap sebagai rahasia hard-code. Rahasia hard-code berikut dapat diidentifikasi melalui pemeriksaan file Sbomgen Docker: 
+  AWS kunci akses IDs - `AKIAIOSFODNN7EXAMPLE` 
+  AWS kunci rahasia — `wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY` 
+  DockerHub token akses pribadi — `dckr_pat_thisisa27charexample1234567` 
+  GitHub token akses pribadi — `ghp_examplev61wY7Pj1YnotrealUoY123456789` 
+  GitLab token akses pribadi — `glpat-12345example12345678` 

### Wadah akar
<a name="w2aac39c13b9c17"></a>

**catatan**  
 Penanda keparahan untuk pemeriksaan ini adalah **Info**. 

 Kami merekomendasikan menjalankan kontainer Docker tanpa hak akses root. Untuk beban kerja kontainer yang tidak dapat berjalan tanpa hak akses root, sebaiknya buat aplikasi Anda menggunakan prinsip dengan jumlah hak istimewa paling sedikit. Untuk informasi selengkapnya, lihat [Pengguna](https://docs.docker.com/build/building/best-practices/#user) di situs web Docker Docs. 

### Variabel lingkungan yang melemah runtime
<a name="w2aac39c13b9c19"></a>

**catatan**  
 Peringkat keparahan untuk pemeriksaan ini adalah **Tinggi**. 

 Beberapa utilitas baris perintah atau runtime bahasa pemrograman mendukung melewati default aman, yang memungkinkan eksekusi melalui metode yang tidak aman. 

**NODE\$1TLS\$1REJECT\$1UNAUTHORIZED=0**  
 Ketika Node.js proses berjalan dengan `NODE_TLS_REJECT_UNAUTHORIZED` set to`0`, validasi sertifikat TLS dinonaktifkan. Untuk informasi selengkapnya, lihat [NODE\$1TLS\$1REJECT\$1UNAUTHORIZED=0](https://nodejs.org/api/cli.html#node_tls_reject_unauthorizedvalue) di situs web Node.js. 

**GIT\$1SSL\$1NO\$1VERIFY=\$1**  
 Ketika proses baris perintah git berjalan dengan `GIT_SSL_NO_VERIFY` set, Git melewatkan verifikasi sertifikat TLS. Untuk informasi selengkapnya, lihat [Variabel lingkungan](https://git-scm.com/book/en/v2/Git-Internals-Environment-Variables) di situs web Git. 

**PIP\$1TRUSTED\$1HOST=\$1**  
 Saat proses baris perintah Python pip berjalan dengan `PIP_TRUSTED_HOST` set, Pip melewatkan verifikasi sertifikat TLS pada domain yang ditentukan. Untuk informasi selengkapnya, lihat [--trusted-host](https://pip.pypa.io/en/stable/cli/pip/#cmdoption-trusted-host) di situs web Pip. 

**NPM\$1CONFIG\$1STRICT\$1SSL=Salah**  
 Ketika proses baris perintah Node.js npm berjalan dengan `NPM_CONFIG_STRICT_SSL` set ke false, utilitas Node Package Manager (npm) akan terhubung ke registri NPM tanpa memvalidasi sertifikat TLS. Untuk informasi selengkapnya, lihat [strict-ssl](https://docs.npmjs.com/cli/v10/using-npm/config#strict-ssl) di situs web npm Docs. 

### Bendera perintah yang melemahkan runtime
<a name="w2aac39c13b9c21"></a>

**catatan**  
 Peringkat keparahan untuk pemeriksaan ini adalah **Tinggi**. 

 Mirip dengan variabel lingkungan pelemahan runtime, beberapa utilitas baris perintah atau runtime bahasa pemrograman mendukung melewati default aman, yang memungkinkan eksekusi melalui metode yang tidak aman. 

**`npm ––strict-ssl=false`**  
 Ketika proses baris perintah Node.js npm dijalankan dengan `--strict-ssl=false` flag, utilitas Node Package Manager (npm) terhubung ke registri NPM tanpa memvalidasi sertifikat TLS. Untuk informasi selengkapnya, lihat [strict-ssl](https://docs.npmjs.com/cli/v10/using-npm/config#strict-ssl) di situs web npm Docs. 

**`apk ––allow-untrusted`**  
 Ketika Alpine Package Keeper utilitas dijalankan dengan `--allow-untrusted` bendera, `apk` akan menginstal paket tanpa atau tidak terpercaya tanda tangan. Untuk informasi selengkapnya, lihat [repositori berikut di situs](https://gitlab.alpinelinux.org/alpine/apk-tools/-/blob/f9eaeb6429325eeb5a17ed771fd477be9227fe15/doc/apk.8.scd#L114-115) web Aline. 

**`apt-get ––allow-unauthenticated`**  
 Ketika utilitas `apt-get` paket Debian dijalankan dengan `--allow-unauthenticated` flag, `apt-get` tidak memeriksa validitas paket. Untuk informasi selengkapnya, lihat [apt-get (8)](https://manpages.debian.org/stretch/apt/apt-get.8.en.html) di situs web Debian. 

**`pip ––trusted-host`**  
 Saat utilitas Python pip dijalankan dengan `--trusted-host` flag, nama host yang ditentukan akan melewati validasi sertifikat TLS. Untuk informasi selengkapnya, lihat [--trusted-host](https://pip.pypa.io/en/stable/cli/pip/#cmdoption-trusted-host) di situs web Pip. 

**`rpm ––nodigest, ––nosignature, ––noverify, ––nofiledigest`**  
 Ketika manajer paket berbasis RPM `rpm` dijalankan dengan,,, dan `--nofiledigest` flag `--nodigest` `--nosignature``--noverify`, manajer paket RPM tidak memvalidasi header paket, tanda tangan, atau file saat menginstal paket. Untuk informasi lebih lanjut, lihat [halaman manual RPM](https://rpm-software-management.github.io/rpm/man/) berikut di situs web RPM. 

**`yum-config-manager ––setopt=sslverify false`**  
 Ketika manajer paket berbasis RPM dijalankan dengan `--setopt=sslverify` flag disetel ke false, manajer `yum-config-manager` paket YUM tidak memvalidasi sertifikat TLS. Untuk informasi lebih lanjut, lihat [halaman manual YUM berikut di situs web](https://man7.org/linux/man-pages/man5/yum.conf.5.html) Man7. 

**`yum ––nogpgcheck`**  
 Ketika manajer paket berbasis RPM `yum` dijalankan dengan `--nogpgcheck` flag, manajer paket YUM melewatkan memeriksa tanda tangan GPG pada paket. Untuk informasi lebih lanjut, lihat [yum (8)](https://man7.org/linux/man-pages/man8/yum.8.html) di situs web Man7. 

**`curl ––insecure, curl –k`**  
 Ketika `curl` dijalankan dengan `-k` tanda `--insecure` atau, validasi sertifikat TLS dinonaktifkan. Secara default, setiap koneksi aman yang `curl` dibuat diverifikasi agar aman sebelum transfer dilakukan. Opsi ini membuat `curl` melewati langkah verifikasi dan melanjutkan tanpa memeriksa. Untuk informasi lebih lanjut, lihat [halaman manual Curl berikut di situs web](https://curl.se/docs/manpage.html#-k) Curl. 

**`wget ––no-check-certificate`**  
 Ketika `wget` dijalankan dengan `--no-check-certificate` bendera, validasi sertifikat TLS dinonaktifkan. Untuk informasi lebih lanjut, lihat [halaman manual Wget berikut di situs web](https://www.gnu.org/software/wget/manual/wget.html#index-SSL-certificate_002c-check) GNU. 

### Pemeriksaan penghapusan untuk database paket OS dalam kontainer
<a name="w2aac39c13b9c23"></a>

**catatan**  
 Peringkat keparahan untuk pemeriksaan ini adalah **Info**. 

 Penghapusan database paket sistem operasi mengurangi kemampuan untuk memindai inventaris lengkap perangkat lunak gambar kontainer. Database ini harus dibiarkan utuh selama langkah-langkah pembuatan kontainer. 

 Pemeriksaan penghapusan untuk database paket OS didukung untuk manajer paket berikut: 

**Alpine Package Keeper (APK)**  
 Gambar kontainer yang menggunakan pengelola paket APK untuk perangkat lunak yang diinstal harus memastikan file sistem APK tidak dihapus selama pembuatan. Untuk informasi selengkapnya, lihat dokumentasi file sistem [manpages APK](https://man.archlinux.org/man/apk.8.en#System_files) di Arch Linux situs web. 

**Debian Package Manager (DPKG)**  
 Container yang menggunakan manajer paket DPKG, seperti Debian, Ubuntu, atau gambar berbasis Distroless, harus memastikan database DPKG tidak dihapus selama pembuatan kontainer. Untuk informasi selengkapnya, lihat dokumentasi file sistem [manpages DPKG](https://manpages.ubuntu.com/manpages/trusty/man1/dpkg.1.html#files) di situs web. Ubuntu 

**Manajer Paket RPM (RPM)**  
 Container yang menggunakan RPM Package Manager (yum/dnf), seperti Amazon Linux atau Red Hat Enterprise Linux, harus memastikan database RPM tidak dihapus selama pembuatan container. Untuk informasi selengkapnya, lihat dokumentasi file sistem [manpages RPM](https://rpm-software-management.github.io/rpm/man/rpm-common.8#FILES) di situs web RPM. 

# Membuat integrasi CI/CD pipeline khusus dengan Amazon Inspector Scan
<a name="cicd-custom"></a>

 Kami menyarankan Anda menggunakan plugin [Amazon Inspector jika CI/CD plugin](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) Amazon Inspector tersedia untuk solusi CI/CD Anda. CI/CD Jika CI/CD plugin Amazon Inspector tidak tersedia untuk CI/CD solusi Anda, Anda dapat menggunakan kombinasi Amazon Inspector SBOM Generator dan Amazon Inspector Scan API untuk membuat integrasi kustom. CI/CD Langkah-langkah berikut menjelaskan cara membuat integrasi CI/CD pipeline khusus dengan Amazon Inspector Scan. 

**Tip**  
 Anda dapat menggunakan [Amazon Inspector SBOM Generator (Sbomgen)](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen) untuk melewati Langkah 3 dan Langkah 4 jika Anda ingin [menghasilkan dan memindai SBOM Anda dalam](https://docs.aws.amazon.com/inspector/latest/user/cicd-custom.html#generate-scan-sbom.html) satu perintah. 

## Langkah 1. Mengkonfigurasi Akun AWS
<a name="configure-account"></a>

 Konfigurasikan Akun AWS yang menyediakan akses ke Amazon Inspector Scan API. Untuk informasi selengkapnya, lihat [Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD](configure-cicd-account.md). 

## Langkah 2. Menginstal Sbomgen biner
<a name="install-sbom-binary"></a>

 Instal dan konfigurasikan Sbomgen biner. Untuk informasi lebih lanjut, lihat [Memasang Sbomgen](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen). 

## Langkah 3. Menggunakan Sbomgen
<a name="use-sbom-generator"></a>

 Gunakan Sbomgen untuk membuat file SBOM untuk gambar kontainer yang ingin Anda pindai. 

 Anda dapat menggunakan contoh berikut. Ganti *`image:id`* dengan nama gambar yang akan Anda pindai. Ganti *`sbom_path.json`* dengan lokasi tempat Anda ingin menyimpan output SBOM. 

**Contoh**  
 `./inspector-sbomgen container --image image:id -o sbom_path.json` 

## Langkah 4. Memanggil Amazon Inspector Scan API
<a name="call-api"></a>

 Panggil `inspector-scan` API untuk memindai SBOM yang dihasilkan dan memberikan laporan kerentanan. 

 Anda dapat menggunakan contoh berikut. Ganti *sbom\$1path.json* dengan lokasi file SBOM kompatibel CycloneDX yang valid. Ganti *ENDPOINT* dengan titik akhir API untuk Wilayah AWS tempat Anda saat ini diautentikasi. Ganti *REGION* dengan Wilayah yang sesuai. 

**Contoh**  
 `aws inspector-scan scan-sbom --sbom file://sbom_path.json --endpoint ENDPOINT-URL --region REGION` 

 Untuk daftar lengkap Wilayah AWS dan titik akhir, lihat [Wilayah dan titik akhir](https://docs.aws.amazon.com/inspector/latest/user/inspector_regions.html#inspector-scan-endpoints). 

## (Opsional) Langkah 5. Hasilkan dan pindai SBOM dalam satu perintah
<a name="generate-scan-sbom"></a>

**catatan**  
 Hanya selesaikan langkah ini jika Anda melewati Langkah 3 dan Langkah 4. 

 Hasilkan dan pindai SBOM Anda dalam satu perintah menggunakan `--scan-bom` bendera. 

 Anda dapat menggunakan contoh berikut. Ganti *`image:id`* dengan nama gambar yang ingin Anda pindai. Ganti *profile* dengan profil yang sesuai. Ganti *REGION* dengan Wilayah yang sesuai. Ganti */tmp/scan.json* dengan lokasi file scan.json di direktori tmp. 

**Contoh**  
 `./inspector-sbomgen container --image image:id --scan-sbom --aws-profile profile --aws-region REGION -o /tmp/scan.json` 

 Untuk daftar lengkap Wilayah AWS dan titik akhir, lihat [Wilayah dan titik akhir](https://docs.aws.amazon.com/inspector/latest/user/inspector_regions.html#inspector-scan-endpoints). 

## Format keluaran API
<a name="API-output-samples"></a>

Amazon Inspector Scan API dapat menampilkan laporan kerentanan dalam format CycloneDX 1.5 atau Amazon Inspector menemukan JSON. Default dapat diubah menggunakan `--output-format` bendera.

### Contoh output format CycloneDX 1,5 - Linux
<a name="cyclone-format"></a>

```
{
  "status": "SBOM parsed successfully, 1 vulnerabilities found",
  "sbom": {
    "bomFormat": "CycloneDX",
    "specVersion": "1.5",
    "serialNumber": "urn:uuid:0077b45b-ff1e-4dbb-8950-ded11d8242b1",
    "metadata": {
      "properties": [
        {
          "name": "amazon:inspector:sbom_scanner:critical_vulnerabilities",
          "value": "1"
        },
        {
          "name": "amazon:inspector:sbom_scanner:high_vulnerabilities",
          "value": "0"
        },
        {
          "name": "amazon:inspector:sbom_scanner:medium_vulnerabilities",
          "value": "0"
        },
        {
          "name": "amazon:inspector:sbom_scanner:low_vulnerabilities",
          "value": "0"
        }
      ],
      "tools": [
        {
          "name": "CycloneDX SBOM API",
          "vendor": "Amazon Inspector",
          "version": "empty:083c9b00:083c9b00:083c9b00"
        }
      ],
      "timestamp": "2023-06-28T14:15:53.760Z"
    },
    "components": [
      {
        "bom-ref": "comp-1",
        "type": "library",
        "name": "log4j-core",
        "purl": "pkg:maven/org.apache.logging.log4j/log4j-core@2.12.1",
        "properties": [
          {
            "name": "amazon:inspector:sbom_scanner:path",
            "value": "/home/dev/foo.jar"
          }
        ]
      }
    ],
    "vulnerabilities": [
      {
        "bom-ref": "vuln-1",
        "id": "CVE-2021-44228",
        "source": {
          "name": "NVD",
          "url": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228"
        },
        "references": [
          {
            "id": "GHSA-jfh8-c2jp-5v3q",
            "source": {
              "name": "GITHUB",
              "url": "https://github.com/advisories/GHSA-jfh8-c2jp-5v3q"
            }
          }
        ],
        "ratings": [
          {
            "source": {
              "name": "NVD",
              "url": "https://www.first.org/cvss/v3-1/"
            },
            "score": 10.0,
            "severity": "critical",
            "method": "CVSSv31",
            "vector": "AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          },
          {
            "source": {
              "name": "NVD",
              "url": "https://www.first.org/cvss/v2/"
            },
            "score": 9.3,
            "severity": "critical",
            "method": "CVSSv2",
            "vector": "AC:M/Au:N/C:C/I:C/A:C"
          },
          {
            "source": {
              "name": "EPSS",
              "url": "https://www.first.org/epss/"
            },
            "score": 0.97565,
            "severity": "none",
            "method": "other",
            "vector": "model:v2023.03.01,date:2023-06-27T00:00:00+0000"
          },
          {
            "source": {
              "name": "GITHUB",
              "url": "https://github.com/advisories/GHSA-jfh8-c2jp-5v3q"
            },
            "score": 10.0,
            "severity": "critical",
            "method": "CVSSv31",
            "vector": "AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
          }
        ],
        "cwes": [
          400,
          20,
          502
        ],
        "description": "Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects.",
        "advisories": [
          {
            "url": "https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00646.html"
          },
          {
            "url": "https://support.apple.com/kb/HT213189"
          },
          {
            "url": "https://msrc-blog.microsoft.com/2021/12/11/microsofts-response-to-cve-2021-44228-apache-log4j2/"
          },
          {
            "url": "https://logging.apache.org/log4j/2.x/security.html"
          },
          {
            "url": "https://www.debian.org/security/2021/dsa-5020"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/pdf/ssa-479842.pdf"
          },
          {
            "url": "https://www.oracle.com/security-alerts/alert-cve-2021-44228.html"
          },
          {
            "url": "https://www.oracle.com/security-alerts/cpujan2022.html"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/pdf/ssa-714170.pdf"
          },
          {
            "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M5CSVUNV4HWZZXGOKNSK6L7RPM7BOKIB/"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/pdf/ssa-397453.pdf"
          },
          {
            "url": "https://cert-portal.siemens.com/productcert/pdf/ssa-661247.pdf"
          },
          {
            "url": "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VU57UJDCFIASIO35GC55JMKSRXJMCDFM/"
          },
          {
            "url": "https://www.oracle.com/security-alerts/cpuapr2022.html"
          },
          {
            "url": "https://twitter.com/kurtseifried/status/1469345530182455296"
          },
          {
            "url": "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apache-log4j-qRuKNEbd"
          },
          {
            "url": "https://lists.debian.org/debian-lts-announce/2021/12/msg00007.html"
          },
          {
            "url": "https://www.kb.cert.org/vuls/id/930724"
          }
        ],
        "created": "2021-12-10T10:15:00Z",
        "updated": "2023-04-03T20:15:00Z",
        "affects": [
          {
            "ref": "comp-1"
          }
        ],
        "properties": [
          {
            "name": "amazon:inspector:sbom_scanner:exploit_available",
            "value": "true"
          },
          {
            "name": "amazon:inspector:sbom_scanner:exploit_last_seen_in_public",
            "value": "2023-03-06T00:00:00Z"
          },
          {
            "name": "amazon:inspector:sbom_scanner:cisa_kev_date_added",
            "value": "2021-12-10T00:00:00Z"
          },
          {
            "name": "amazon:inspector:sbom_scanner:cisa_kev_date_due",
            "value": "2021-12-24T00:00:00Z"
          },
          {
            "name": "amazon:inspector:sbom_scanner:fixed_version:comp-1",
            "value": "2.15.0"
          }
        ]
      }
    ]
  }
}
```

### Contoh output format CycloneDX 1,5 - Windows
<a name="cyclone-format-windows"></a>

```
{
  "sbom": {
    "specVersion": "1.5",
    "metadata": {
      "tools": {
        "services": [
          {
            "name": "Amazon Inspector Scan SBOM API",
            "version": "d79c681c+d73b8663+5e50a5ab"
          }
        ]
      },
      "properties": [
        {
          "name": "amazon:inspector:sbom_scanner:critical_vulnerabilities",
          "value": "0"
        },
        {
          "name": "amazon:inspector:sbom_scanner:high_vulnerabilities",
          "value": "0"
        },
        {
          "name": "amazon:inspector:sbom_scanner:medium_vulnerabilities",
          "value": "1"
        },
        {
          "name": "amazon:inspector:sbom_scanner:low_vulnerabilities",
          "value": "0"
        },
        {
          "name": "amazon:inspector:sbom_scanner:other_vulnerabilities",
          "value": "0"
        }
      ],
      "timestamp": "2026-03-17T00:00:52.344Z"
    },
    "components": [
      {
        "bom-ref": "comp-1",
        "name": "defender",
        "purl": "pkg:generic/microsoft/defender@4.18.25110.5",
        "type": "application",
        "version": "4.18.25110.5",
        "properties": [
          {
            "name": "amazon:inspector:sbom_scanner:source_file_scanner",
            "value": "windows-apps"
          },
          {
            "name": "amazon:inspector:sbom_scanner:source_package_collector",
            "value": "windows-app-defender"
          },
          {
            "name": "amazon:inspector:sbom_scanner:path",
            "value": "vol-0d994b0984fdaa2af:\\ProgramData\\Microsoft\\Windows Defender\\platform\\4.18.25110.5-0"
          }
        ]
      }
    ],
    "serialNumber": "urn:uuid:6bed582d-191e-4cb7-9875-950dd0b99700",
    "bomFormat": "CycloneDX",
    "vulnerabilities": [
      {
        "advisories": [
          {
            "url": "https://support.microsoft.com/help/5011487"
          },
          {
            "url": "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5011487"
          }
        ],
        "bom-ref": "vuln-1",
        "references": [
          {
            "id": "CVE-2022-23278",
            "source": {
              "name": "MICROSOFT",
              "url": "https://msrc.microsoft.com/update-guide/vulnerability/CVE-2022-23278"
            }
          }
        ],
        "ratings": [
          {
            "severity": "none",
            "score": 0.02691,
            "method": "other",
            "vector": "model:v2025.03.14,date:2026-03-15T12:55:00Z",
            "source": {
              "name": "EPSS",
              "url": "https://api.first.org/data/v1/epss?cve=CVE-2022-23278"
            }
          },
          {
            "severity": "medium",
            "score": 5.9,
            "method": "CVSSv31",
            "vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N",
            "source": {
              "name": "MICROSOFT",
              "url": "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5011487"
            }
          }
        ],
        "created": "2022-03-08T08:00:00Z",
        "description": "Security Update for Defender (2022-03). Install KB5011487 to remediate. A reboot is required for this update to take effect.",
        "affects": [
          {
            "ref": "comp-1"
          }
        ],
        "id": "KB5011487",
        "source": {
          "name": "MICROSOFT",
          "url": "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5011487"
        },
        "published": "2022-03-08T08:00:00Z",
        "analysis": {
          "state": "in_triage"
        },
        "properties": [
          {
            "name": "amazon:inspector:sbom_scanner:priority",
            "value": "standard"
          },
          {
            "name": "amazon:inspector:sbom_scanner:priority_intelligence",
            "value": "unverified"
          },
          {
            "name": "amazon:inspector:sbom_scanner:fixed_version:comp-1",
            "value": "10.0.19042.1586"
          }
        ]
      }
    ]
  }
}
```

### Contoh output format Inspector - Linux
<a name="inspector-format"></a>

```
{
  "status": "SBOM parsed successfully, 1 vulnerability found",
  "inspector": {
    "messages": [
      {
        "name": "foo",
        "purl": "pkg:maven/foo@1.0.0", // Will not exist in output if missing in sbom
        "info": "Component skipped: no rules found."
      }
    ],
    "vulnerability_count": {
      "critical": 1,
      "high": 0,
      "medium": 0,
      "low": 0
    },
    "vulnerabilities": [
      {
        "id": "CVE-2021-44228",
        "severity": "critical",
        "source": "https://nvd.nist.gov/vuln/detail/CVE-2021-44228",
        "related": [
          "GHSA-jfh8-c2jp-5v3q"
        ],
        "description": "Apache Log4j2 2.0-beta9 through 2.15.0 (excluding security releases 2.12.2, 2.12.3, and 2.3.1) JNDI features used in configuration, log messages, and parameters do not protect against attacker controlled LDAP and other JNDI related endpoints. An attacker who can control log messages or log message parameters can execute arbitrary code loaded from LDAP servers when message lookup substitution is enabled. From log4j 2.15.0, this behavior has been disabled by default. From version 2.16.0 (along with 2.12.2, 2.12.3, and 2.3.1), this functionality has been completely removed. Note that this vulnerability is specific to log4j-core and does not affect log4net, log4cxx, or other Apache Logging Services projects.",
        "references": [
          "https://www.intel.com/content/www/us/en/security-center/advisory/intel-sa-00646.html",
          "https://support.apple.com/kb/HT213189",
          "https://msrc-blog.microsoft.com/2021/12/11/microsofts-response-to-cve-2021-44228-apache-log4j2/",
          "https://logging.apache.org/log4j/2.x/security.html",
          "https://www.debian.org/security/2021/dsa-5020",
          "https://cert-portal.siemens.com/productcert/pdf/ssa-479842.pdf",
          "https://www.oracle.com/security-alerts/alert-cve-2021-44228.html",
          "https://www.oracle.com/security-alerts/cpujan2022.html",
          "https://cert-portal.siemens.com/productcert/pdf/ssa-714170.pdf",
          "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/M5CSVUNV4HWZZXGOKNSK6L7RPM7BOKIB/",
          "https://cert-portal.siemens.com/productcert/pdf/ssa-397453.pdf",
          "https://cert-portal.siemens.com/productcert/pdf/ssa-661247.pdf",
          "https://lists.fedoraproject.org/archives/list/package-announce@lists.fedoraproject.org/message/VU57UJDCFIASIO35GC55JMKSRXJMCDFM/",
          "https://www.oracle.com/security-alerts/cpuapr2022.html",
          "https://twitter.com/kurtseifried/status/1469345530182455296",
          "https://tools.cisco.com/security/center/content/CiscoSecurityAdvisory/cisco-sa-apache-log4j-qRuKNEbd",
          "https://lists.debian.org/debian-lts-announce/2021/12/msg00007.html",
          "https://www.kb.cert.org/vuls/id/930724"
        ],
        "created": "2021-12-10T10:15:00Z",
        "updated": "2023-04-03T20:15:00Z",
        "properties": {
          "cisa_kev_date_added": "2021-12-10T00:00:00Z",
          "cisa_kev_date_due": "2021-12-24T00:00:00Z",
          "cwes": [
            400,
            20,
            502
          ],
          "cvss": [
            {
              "source": "NVD",
              "severity": "critical",
              "cvss3_base_score": 10.0,
              "cvss3_base_vector": "AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H",
              "cvss2_base_score": 9.3,
              "cvss2_base_vector": "AC:M/Au:N/C:C/I:C/A:C"
            },
            {
              "source": "GITHUB",
              "severity": "critical",
              "cvss3_base_score": 10.0,
              "cvss3_base_vector": "AV:N/AC:L/PR:N/UI:N/S:C/C:H/I:H/A:H"
            }
          ],
          "epss": 0.97565,
          "exploit_available": true,
          "exploit_last_seen_in_public": "2023-03-06T00:00:00Z"
        },
        "affects": [
          {
            "installed_version": "pkg:maven/org.apache.logging.log4j/log4j-core@2.12.1",
            "fixed_version": "2.15.0",
            "path": "/home/dev/foo.jar"
          }
        ]
      }
    ]
  }
}
```

### Contoh output format Inspector - Windows
<a name="inspector-format-windows"></a>

```
{
  "sbom": {
    "vulnerabilities": [
      {
        "severity": "medium",
        "priority_intelligence": "unverified",
        "related": [
          "CVE-2022-23278"
        ],
        "references": [
          "https://support.microsoft.com/help/5011487",
          "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5011487"
        ],
        "created": "2022-03-08T08:00:00Z",
        "description": "Security Update for Defender (2022-03). Install KB5011487 to remediate. A reboot is required for this update to take effect.",
        "affects": [
          {
            "path": "vol-0d994b0984fdaa2af:\\ProgramData\\Microsoft\\Windows Defender\\platform\\4.18.25110.5-0",
            "fixed_version": "10.0.19042.1586",
            "installed_version": "pkg:generic/microsoft/defender@4.18.25110.5"
          }
        ],
        "id": "KB5011487",
        "source": "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5011487",
        "published": "2022-03-08T08:00:00Z",
        "priority": "standard",
        "properties": {
          "epss": 0.0269099995,
          "cvss": [
            {
              "severity": "medium",
              "cvss_3_base_score": 5.9000000954,
              "cvss_3_base_vector": "CVSS:3.1/AV:N/AC:H/PR:N/UI:N/S:U/C:N/I:H/A:N",
              "source": "MICROSOFT",
              "url": "https://catalog.update.microsoft.com/v7/site/Search.aspx?q=KB5011487"
            }
          ]
        }
      }
    ],
    "vulnerability_count": {
      "high": 0,
      "other": 0,
      "critical": 0,
      "low": 0,
      "medium": 1
    }
  }
}
```

# Menggunakan plugin Amazon Inspector Jenkins
<a name="cicd-jenkins"></a>

 JenkinsPlugin ini memanfaatkan biner [Amazon Inspector SBOM](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#sbomgen-supported) Generator dan Amazon Inspector Scan API untuk menghasilkan laporan terperinci di akhir build, sehingga Anda dapat menyelidiki dan memulihkan risiko sebelum penerapan. Dengan Jenkins plugin Amazon Inspector, Anda dapat menambahkan pemindaian kerentanan Amazon Inspector ke pipeline Anda. Jenkins Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk lulus atau gagal eksekusi pipeline berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. Anda dapat melihat versi terbaru Jenkins plugin di Jenkins pasar di [https://plugins.jenkins.io/amazon-inspector-image-scanner/](https://plugins.jenkins.io/amazon-inspector-image-scanner/). Langkah-langkah berikut menjelaskan cara mengatur plugin Amazon Inspector Jenkins. 

**penting**  
 Sebelum menyelesaikan langkah-langkah berikut, Anda harus memutakhirkan Jenkins ke versi 2.387.3 atau lebih tinggi agar plugin dapat berjalan. 

## Langkah 1. Mengatur sebuah Akun AWS
<a name="cicd-jenkins-enable"></a>

 Konfigurasikan Akun AWS dengan peran IAM yang memungkinkan akses ke Amazon Inspector Scan API. Untuk petunjuk, lihat [Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD](configure-cicd-account.md). 

## Langkah 2. Instal Plugin Amazon Inspector Jenkins
<a name="cicd-jenkins-install-jenkins-plugin"></a>

 Prosedur berikut menjelaskan cara menginstal plugin Amazon Inspector Jenkins dari dasbor. Jenkins 

1.  Dari dasbor Jenkins, pilih **Kelola Jenkins**, lalu pilih **Kelola** Plugin. 

1.  Pilih **Tersedia**. 

1.  Dari tab **Tersedia**, cari **Amazon Inspector Scan**, lalu instal plugin. 

## (Opsional) Langkah 3. Tambahkan kredensi docker ke Jenkins
<a name="cicd-jenkins-add-jenkins"></a>

**catatan**  
 Hanya tambahkan kredensyal docker jika image docker ada di repositori pribadi. Jika tidak, lewati langkah ini. 

 Prosedur berikut menjelaskan cara menambahkan kredensyal docker dari dasbor. Jenkins Jenkins 

1.  **Dari dasbor Jenkins, pilih **Manage Jenkins**, **Credentials, dan kemudian System.**** 

1.  Pilih **Kredensial global** lalu **Tambahkan** kredensyal. 

1.  Untuk **Jenis**, pilih **Nama pengguna dengan kata sandi**. 

1.  Untuk **Lingkup**, pilih **Global (Jenkins, node, item, semua item anak, dll).** 

1.  Masukkan detail Anda, lalu pilih **OK**. 

## (Opsional) Langkah 4. Tambahkan AWS kredensi
<a name="cicd-jenkins-add-aws-credentials"></a>

**catatan**  
 Hanya tambahkan AWS kredensyal jika Anda ingin mengautentikasi berdasarkan pengguna IAM. Jika tidak, lewati langkah ini. 

 Prosedur berikut menjelaskan cara menambahkan AWS kredensyal dari dasbor. Jenkins 

1.  **Dari dasbor Jenkins, pilih **Manage Jenkins**, **Credentials, dan kemudian System.**** 

1.  Pilih **Kredensial global** lalu **Tambahkan** kredensyal. 

1.  Untuk **Jenis**, pilih **AWS Credentials**. 

1.  Masukkan detail Anda, termasuk **ID Kunci Akses** dan **Kunci Akses Rahasia**, lalu pilih **OK**. 

## Langkah 5. Tambahkan dukungan CSS dalam Jenkins skrip
<a name="cicd-jenkins-add-css-support"></a>

 Prosedur berikut menjelaskan cara menambahkan dukungan CSS dalam Jenkins skrip. 

1.  Mulai ulang Jenkins. 

1.  Dari Dashboard, pilih **Manage Jenkins**, **Nodes**, **Built-in Node**, dan kemudian **Script Console**. 

1.  Di kotak teks, tambahkan baris`System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")`, lalu pilih **Jalankan**. 

## Langkah 6. Tambahkan Amazon Inspector Scan ke build Anda
<a name="cicd-jenkins-add-inspector-scan"></a>

 Anda dapat menambahkan Amazon Inspector Scan ke build dengan menambahkan langkah build dalam project Anda atau dengan menggunakan pipeline Jenkins deklaratif. 

### Amazon Inspector Scan ke build Anda dengan menambahkan langkah build dalam proyek Anda
<a name="w2aac39c17c19b5"></a>

1.  Pada halaman konfigurasi, gulir ke bawah ke **Build Steps**, dan pilih **Add build step**. Kemudian pilih **Amazon Inspector** Scan. 

1.  ****Pilih antara dua metode instalasi inspector-sbomgen: Otomatis atau Manual.**** Opsi otomatis memungkinkan plugin untuk mengunduh versi terbaru. Ini juga memastikan Anda selalu memiliki fitur terbaru, pembaruan keamanan, dan perbaikan bug. 

   1.  (Opsi 1) Pilih **Otomatis** untuk mengunduh versi terbaru dari inspector-sbomgen. Opsi ini secara otomatis mendeteksi sistem operasi dan arsitektur CPU yang sedang digunakan. 

   1.  (Opsi 2) Pilih **Manual** jika Anda ingin mengatur biner Amazon Inspector SBOM Generator untuk pemindaian. Jika Anda memilih metode ini, pastikan untuk memberikan jalur lengkap ke versi inspector-sbomgen yang diunduh sebelumnya. 

    [Untuk informasi selengkapnya, lihat [Menginstal Amazon Inspector SBOM Generator (Sbomgen) di Amazon Inspector SBOM](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen) Generator.](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) 

1.  Selesaikan yang berikut ini untuk menyelesaikan konfigurasi langkah pembuatan Amazon Inspector Scan: 

   1.  Masukkan **Id Gambar** Anda. Gambar dapat berupa lokal, jarak jauh, atau diarsipkan. Nama gambar harus mengikuti konvensi Docker penamaan. Jika menganalisis gambar yang diekspor, berikan jalur ke file tar yang diharapkan. Lihat contoh jalur Id Gambar berikut: 

      1.  Untuk wadah lokal atau jarak jauh: `NAME[:TAG|@DIGEST]` 

      1.  Untuk file tar: `/path/to/image.tar` 

   1.  Pilih **Wilayah AWS**untuk mengirim permintaan pemindaian melalui. 

   1.  (Opsional) Untuk **Laporkan Nama Artifact, masukkan nama** kustom untuk artefak yang dihasilkan selama proses pembuatan. Ini membantu mengidentifikasi dan mengelolanya secara unik. 

   1.  (Opsional) Untuk **Lewati file**, tentukan satu atau beberapa direktori yang ingin Anda kecualikan dari pemindaian. Pertimbangkan opsi ini untuk direktori yang tidak perlu dipindai karena ukurannya. 

   1.  (Opsional) Untuk **kredensyal Docker**, pilih nama pengguna Anda. Docker Lakukan ini hanya jika gambar kontainer Anda ada di repositori pribadi. 

   1.  (Opsional) Anda dapat memberikan metode AWS otentikasi yang didukung berikut: 

      1.  (Opsional) Untuk peran **IAM, berikan peran** ARN (arn:aws:iam: ::role/). *AccountNumber* *RoleName* 

      1.  (Opsional) Untuk kredensyal **AWS, tentukan AWS kredensyal** yang akan diautentikasi berdasarkan pengguna IAM. 

      1.  (Opsional) Untuk **nama AWS profil**, berikan nama profil untuk diautentikasi menggunakan nama profil. 

   1.  (Opsional) Pilih **Aktifkan ambang kerentanan**. Dengan opsi ini, Anda dapat menentukan apakah build gagal jika kerentanan yang dipindai melebihi nilai. Jika semua nilai sama`0`, build berhasil, terlepas dari berapa banyak kerentanan yang dipindai. Untuk skor EPSS, nilainya bisa dari 0 hingga 1. Jika kerentanan yang dipindai melebihi nilai, build gagal, dan semua CVEs dengan skor EPSS di atas nilai ditampilkan di konsol. 

1.  Pilih **Simpan**. 

### Tambahkan Amazon Inspector Scan ke build Anda menggunakan pipeline deklaratif Jenkins
<a name="w2aac39c17c19b7"></a>

 Anda dapat menambahkan Amazon Inspector Scan ke build menggunakan pipeline deklaratif Jenkins secara otomatis atau manual. 

**Untuk mengunduh pipeline SBOMGen deklaratif secara otomatis**
+  Untuk menambahkan Amazon Inspector Scan ke build, gunakan sintaks contoh berikut. Ganti *IMAGE\$1PATH* dengan jalur ke gambar Anda (seperti*alpine:latest*), *IAM\$1ROLE* dengan ARN dari peran IAM yang Anda konfigurasikan pada langkah 1, dan *ID* dengan ID Docker kredenal Anda jika Anda menggunakan repositori pribadi. Anda dapat mengaktifkan ambang kerentanan secara opsional dan menentukan nilai untuk setiap tingkat keparahan. 

```
pipeline {
    agent any    
    stages {        
        stage('amazon-inspector-image-scanner') {
            steps {
                script {
                step([
                $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder',
                archivePath: 'IMAGE_PATH', // Path to your container image or tar file
                awsRegion: 'REGION', // AWS region for scan requests
                iamRole: 'IAM ROLE', // IAM role ARN for authentication
                credentialId: 'Id', // Docker credentials (empty if public repo)
                awsCredentialId: 'AWS ID', // AWS credential ID for authentication
                awsProfileName: 'Profile Name', // AWS profile name to use
                sbomgenSkipFiles: '*.log,node_modules,/tmp/*', // Files/directories to exclude from scanning

                // Vulnerability threshold settings (updated parameter names)
                isSeverityThresholdEnabled: false, // Enable/disable build failure on vulnerability count
                countCritical: 0, // Max critical vulnerabilities before build fails
                countHigh: 0, // Max high vulnerabilities before build fails
                countMedium: 5, // Max medium vulnerabilities before build fails
                countLow: 10, // Max low vulnerabilities before build fails

                // EPSS (Exploit Prediction Scoring System) settings
                isEpssThresholdEnabled: false, // Enable/disable EPSS-based failure threshold
                epssThreshold: 0.7, // EPSS score threshold (0.0 to 1.0)

                // NEW FEATURE: CVE Suppression - ignore specific false positives
                isSuppressedCveEnabled: false, // Enable CVE suppression feature
                suppressedCveList: '', // Comma-separated list of CVEs to ignore in thresholds

                // NEW FEATURE: Auto-Fail CVEs - always fail on critical security issues  
                isAutoFailCveEnabled: false, // Enable auto-fail CVE feature
                autoFailCveList: '' // Comma-separated list of CVEs that always fail build
                ])
            }
        }
    }
}
```

**Untuk mengunduh pipeline SBOMGen deklaratif secara manual**
+  Untuk menambahkan Amazon Inspector Scan ke build, gunakan sintaks contoh berikut. Ganti *SBOMGEN\$1PATH* dengan jalur ke Amazon Inspector SBOM Generator yang Anda instal di langkah 3, *IMAGE\$1PATH* dengan jalur ke gambar Anda (seperti*alpine:latest*), *IAM\$1ROLE* dengan ARN peran IAM yang Anda konfigurasikan pada langkah 1, dan *ID* dengan ID Docker kredenal Anda jika Anda menggunakan repositori pribadi. Anda dapat mengaktifkan ambang kerentanan secara opsional dan menentukan nilai untuk setiap tingkat keparahan. 

**catatan**  
 Tempatkan Sbomgen di direktori Jenkins, dan berikan jalur ke direktori Jenkins di plugin (seperti*/opt/folder/arm64/inspector-sbomgen*). 

```
pipeline {
    agent any
    stages {
        stage('amazon-inspector-image-scanner') {
            steps {
                script {
                step([
                $class: 'com.amazon.inspector.jenkins.amazoninspectorbuildstep.AmazonInspectorBuilder',
                archivePath: 'IMAGE_PATH', // Path to your container image or tar file
                awsRegion: 'REGION', // AWS region for scan requests
                iamRole: 'IAM ROLE', // IAM role ARN for authentication
                credentialId: 'Id', // Docker credentials (empty if public repo)
                awsCredentialId: 'AWS ID', // AWS credential ID for authentication
                awsProfileName: 'Profile Name', // AWS profile name to use
                sbomgenSkipFiles: '*.log,node_modules,/tmp/*', // Files/directories to exclude from scanning

                // Vulnerability threshold settings (updated parameter names)
                isSeverityThresholdEnabled: false, // Enable/disable build failure on vulnerability count
                countCritical: 0, // Max critical vulnerabilities before build fails
                countHigh: 0, // Max high vulnerabilities before build fails
                countMedium: 5, // Max medium vulnerabilities before build fails
                countLow: 10, // Max low vulnerabilities before build fails

                // EPSS (Exploit Prediction Scoring System) settings
                isEpssThresholdEnabled: false, // Enable/disable EPSS-based failure threshold
                epssThreshold: 0.7, // EPSS score threshold (0.0 to 1.0)

                // NEW FEATURE: CVE Suppression - ignore specific false positives
                isSuppressedCveEnabled: false, // Enable CVE suppression feature
                suppressedCveList: '', // Comma-separated list of CVEs to ignore in thresholds

                // NEW FEATURE: Auto-Fail CVEs - always fail on critical security issues  
                isAutoFailCveEnabled: false, // Enable auto-fail CVE feature
                autoFailCveList: '' // Comma-separated list of CVEs that always fail build
                ])
            }
        }
    }
}
```

 Plugin ini mencakup fitur untuk mengelola kerentanan keamanan. 

**Daftar CVE yang Ditekan**  
 Pemindaian terkadang dapat mendeteksi kerentanan yang bukan ancaman aktual. Untuk mencegah kesalahan positif ini menghentikan build, Anda dapat menambahkannya ke daftar yang *ditekan*. 

```
isSuppressedCveEnabled: true,
suppressedCveList: 'CVE-2023-1234,CVE-2023-5678'
```

 Ini mengabaikan spesifik CVEs saat memeriksa apakah build Anda gagal. Anda hanya harus menambahkan positif palsu ke daftar yang ditekan jika Anda mengatasinya. Setelah Anda menambahkan kerentanan ini ke daftar yang ditekan, kerentanan tersebut CVEs masih muncul di laporan keamanan Anda, tetapi tidak akan menyebabkan kegagalan build. 

**Daftar CVE Gagal Otomatis**  
 Untuk kerentanan keamanan kritis, Anda dapat membuat daftar yang selalu menyebabkan build Anda gagal. 

```
isAutoFailCveEnabled: true,
autoFailCveList: 'CVE-2024-9999'
```

 Ini selalu menyebabkan build Anda gagal, apa pun pengaturan yang Anda aktifkan. Anda hanya harus membuat daftar ini untuk masalah keamanan prioritas tinggi yang tidak boleh digunakan. Daftar ini mengesampingkan semua pengaturan ambang batas lainnya untuk keamanan maksimum. 

## Langkah 7. Lihat laporan kerentanan Amazon Inspector
<a name="cicd-jenkin-view-vulnerability-report"></a>

1.  Selesaikan pembangunan baru proyek Anda. 

1.  Setelah build selesai, pilih format keluaran dari hasil. Jika Anda memilih HTML, Anda memiliki opsi untuk mengunduh laporan versi JSON SBOM atau CSV. Berikut ini menunjukkan contoh laporan HTML: 

![\[Contoh laporan kerentanan Amazon Inspector.\]](http://docs.aws.amazon.com/id_id/inspector/latest/user/images/report.png)


**catatan**  
 Anda dapat menggunakan skrip yang lebih lama, karena plugin mendukung nama parameter lama. Namun, Anda akan menemukan peringatan di konsol yang menyarankan Anda memperbarui parameter ini ke yang lebih baru. Misalnya, jika Anda menggunakan`isThresholdEnabled`, Anda akan menemukan peringatan yang menyarankan Anda memperbarui parameter ke`isSeverityThresholdEnabled`. 

## Pemecahan masalah
<a name="jenkins-troubleshooting"></a>

 Berikut ini adalah kesalahan umum yang dapat Anda temui saat menggunakan plugin Amazon Inspector Scan untuk. Jenkins 

### Gagal memuat kredensi atau kesalahan pengecualian sts
<a name="w2aac39c17c23b5"></a>

**Kesalahan:**  
 `InstanceProfileCredentialsProvider(): Failed to load credentials or sts exception.` 

**Resulltion**  
 Dapatkan `aws_access_key_id` dan `aws_secret_access_key` untuk AWS akun Anda. Siapkan `aws_access_key_id` dan `aws_secret_access_key` masuk`~/.aws/credentials`. 

### Gagal memuat gambar dari tarball, lokal, atau sumber jarak jauh
<a name="w2aac39c17c23b7"></a>

**Kesalahan:**  
 `2024/10/16 02:25:17 [ImageDownloadFailed]: failed to load image from tarball, local, or remote sources.` 

**catatan**  
 Kesalahan ini dapat terjadi jika plugin Jenkins tidak dapat membaca gambar kontainer, gambar kontainer tidak ditemukan di Docker mesin, dan gambar kontainer tidak ditemukan di registri kontainer jarak jauh. 

**Penyelesaian:**  
 Verifikasi hal berikut; 
+  Pengguna plugin Jenkins telah membaca izin untuk gambar yang ingin Anda pindai. 
+  Gambar yang ingin Anda pindai ada di Docker mesin. 
+  URL gambar jarak jauh Anda benar. 
+  Anda diautentikasi ke registri jarak jauh (jika ada). 

### Kesalahan jalur inspektor-sbomgen
<a name="w2aac39c17c23b9"></a>

**Kesalahan:**  
 `Exception:com.amazon.inspector.jenkins.amazoninspectorbuildstep.exception.SbomgenNotFoundException: There was an issue running inspector-sbomgen, is /opt/inspector/inspector-sbomgen the correct path?` 

**Penyelesaian:**  
 Selesaikan prosedur berikut untuk menyelesaikan masalah. 

1.  [Tempatkan arsitektur OS Inspector-SBOMGEN yang benar di Jenkins direktori Untuk informasi selengkapnya, lihat Amazon Inspector SBOM Generator.](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) 

1.  Berikan izin yang dapat dieksekusi ke biner menggunakan perintah berikut:. `chmod +x inspector-sbomgen` 

1.  Berikan jalur Jenkins mesin yang benar di plugin, seperti`/opt/folder/arm64/inspector-sbomgen`. 

1.  Simpan konfigurasi, dan jalankan Jenkins pekerjaan. 

# Menggunakan plugin Amazon Inspector TeamCity
<a name="cicd-teamcity"></a>

 TeamCityPlugin Amazon Inspector memanfaatkan biner Amazon Inspector SBOM Generator dan Amazon Inspector Scan API untuk menghasilkan laporan terperinci di akhir build, sehingga Anda dapat menyelidiki dan memulihkan risiko sebelum penerapan. Dengan TeamCity plugin Amazon Inspector, Anda dapat menambahkan pemindaian kerentanan Amazon Inspector ke pipeline Anda. TeamCity Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk lulus atau gagal eksekusi pipeline berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. Anda dapat melihat versi terbaru TeamCity plugin Amazon Inspector di TeamCity pasar di [https://plugins.jetbrains.com/plugin/23236](https://plugins.jetbrains.com/plugin/23236-amazon-inspector-scanner) -. amazon-inspector-scanner Untuk informasi tentang cara mengintegrasikan Amazon Inspector Scan ke CI/CD pipeline, lihat [Mengintegrasikan pemindaian Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-cicd.html) ke dalam pipeline Anda. CI/CD Untuk daftar sistem operasi dan bahasa pemrograman yang didukung Amazon Inspector, lihat [Sistem operasi yang didukung dan bahasa pemrograman](https://docs.aws.amazon.com/inspector/latest/user/supported.html). Langkah-langkah berikut menjelaskan cara mengatur plugin Amazon Inspector TeamCity. 

1. **Mengatur sebuah Akun AWS.**
   + Konfigurasikan Akun AWS dengan peran IAM yang memungkinkan akses ke Amazon Inspector Scan API. Untuk petunjuk, lihat [Menyiapkan AWS akun untuk menggunakan integrasi Amazon Inspector CI/CD](configure-cicd-account.md).

1. **Instal plugin Amazon InspectorTeamCity.**

   1. Dari dasbor Anda, buka **Administrasi** > **Plugin**.

   1. Cari **Amazon Inspector** Scan.

   1. Instal plugin.

1. **Instal Amazon Inspector SBOM Generator.**
   + Instal biner Amazon Inspector SBOM Generator di direktori server Teamcity Anda. Untuk petunjuk, lihat [Menginstal Sbomgen](sbom-generator.md#install-sbomgen).

1.  **Tambahkan langkah pembuatan Amazon Inspector Scan ke proyek Anda.** 

   1.  Pada halaman konfigurasi, gulir ke bawah ke **Build Steps**, pilih **Add build step**, lalu pilih **Amazon Inspector** Scan.

   1.  Konfigurasikan langkah pembuatan Amazon Inspector Scan dengan mengisi detail berikut: 
      +  Tambahkan **nama Langkah**.
      +  **Pilih di antara dua metode instalasi Amazon Inspector SBOM Generator: **Otomatis** atau Manual.** 
        +  **Otomatis** mengunduh versi terbaru Amazon Inspector SBOM Generator berdasarkan sistem dan arsitektur CPU Anda. 
        +  **Manual** mengharuskan Anda menyediakan jalur lengkap ke versi Amazon Inspector SBOM Generator yang diunduh sebelumnya. 

         Untuk informasi lebih lanjut, lihat [Menginstal Amazon Inspector SBOM Generator (Sbomgen) [di](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) Amazon Inspector SBOM Generator](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html#install-sbomgen). 
      + Masukkan **Id Gambar** Anda. Gambar Anda dapat berupa lokal, jarak jauh, atau diarsipkan. Nama gambar harus mengikuti konvensi Docker penamaan. Jika menganalisis gambar yang diekspor, berikan jalur ke file tar yang diharapkan. Lihat contoh jalur Id Gambar berikut:
        + Untuk wadah lokal atau jarak jauh: `NAME[:TAG|@DIGEST]`
        + Untuk file tar: `/path/to/image.tar`
      + Untuk **Peran IAM**, masukkan ARN untuk peran yang Anda konfigurasikan pada langkah 1.
      + Pilih **Wilayah AWS**untuk mengirim permintaan pemindaian melalui.
      +  **(Opsional) Untuk **Otentikasi Docker** masukkan **Nama Pengguna Docker dan Kata Sandi Docker** Anda.** Lakukan ini hanya jika gambar kontainer Anda ada di repositori pribadi. 
      +  (Opsional) Untuk **AWS Otentikasi**, masukkan ID kunci AWS akses dan kunci AWS rahasia Anda. Lakukan ini hanya jika Anda ingin mengautentikasi berdasarkan AWS kredensyal. 
      + (Opsional) Tentukan **ambang kerentanan per tingkat keparahan.** Jika jumlah yang Anda tentukan terlampaui selama pemindaian, build gambar akan gagal. Jika nilainya semua `0` build akan berhasil terlepas dari jumlah kerentanan yang ditemukan.

   1. Pilih **Simpan**.

1. **Lihat laporan kerentanan Amazon Inspector Anda.**

   1. Selesaikan pembangunan baru proyek Anda.

   1. Saat build selesai, pilih format keluaran dari hasil. Saat Anda memilih HTML, Anda memiliki opsi untuk mengunduh laporan versi JSON SBOM atau CSV. Berikut ini adalah contoh dari laporan HTML:  
![\[Contoh laporan kerentanan Amazon Inspector.\]](http://docs.aws.amazon.com/id_id/inspector/latest/user/images/report.png)

# Menggunakan Amazon Inspector dengan tindakan GitHub
<a name="cicd-inspector-github-actions"></a>

 Anda dapat menggunakan Amazon Inspector [https://github.com/features/actions](https://github.com/features/actions)untuk menambahkan pemindaian kerentanan Amazon Inspector ke alur kerja Anda. GitHub Ini memanfaatkan [Amazon Inspector SBOM Generator](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) dan Amazon [Inspector Scan](https://docs.aws.amazon.com/inspector/v2/APIReference/API_Operations_Inspector_Scan.html) API untuk menghasilkan laporan terperinci di akhir build, sehingga Anda dapat menyelidiki dan memulihkan risiko sebelum penerapan. Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk meneruskan atau gagal alur kerja berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. [Anda dapat melihat versi terbaru dari tindakan Amazon Inspector di situs web. GitHub](https://github.com/aws-actions/vulnerability-scan-github-action-for-amazon-inspector) Untuk informasi tentang cara mengintegrasikan Amazon Inspector Scan ke CI/CD pipeline, lihat [Mengintegrasikan pemindaian Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-cicd.html) ke dalam pipeline Anda. CI/CD Untuk daftar sistem operasi dan bahasa pemrograman yang didukung Amazon Inspector, lihat [Sistem operasi yang didukung dan bahasa pemrograman](https://docs.aws.amazon.com/inspector/latest/user/supported.html). 

# Menggunakan Amazon Inspector dengan komponen GitLab
<a name="cicd-inspector-gitlab-components"></a>

 Anda dapat menggunakan Amazon Inspector dengan [komponen GitLab CI/CD](https://docs.gitlab.com/ee/ci/components/) untuk menambahkan pemindaian kerentanan Amazon Inspector ke proyek Anda. GitLab Ini memanfaatkan [Amazon Inspector SBOM Generator](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) dan Amazon [Inspector Scan](https://docs.aws.amazon.com/inspector/v2/APIReference/API_Operations_Inspector_Scan.html) API untuk menghasilkan laporan terperinci di akhir build, sehingga Anda dapat menyelidiki dan memulihkan risiko sebelum penerapan. Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk meneruskan atau gagal alur kerja berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. [Anda dapat melihat versi terbaru komponen Amazon Inspector di situs web. GitLab](https://gitlab.com/guided-explorations/ci-components/aws/amazon-inspector) Untuk informasi tentang cara mengintegrasikan Amazon Inspector Scan ke CI/CD pipeline, lihat [Mengintegrasikan pemindaian Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-cicd.html) ke dalam pipeline Anda. CI/CD Untuk daftar sistem operasi dan bahasa pemrograman yang didukung Amazon Inspector, lihat [Sistem operasi yang didukung dan bahasa pemrograman](https://docs.aws.amazon.com/inspector/latest/user/supported.html). 

# Menggunakan CodeCatalyst tindakan dengan Amazon Inspector
<a name="cicd-inspector-codecatalyst-actions"></a>

 [Anda dapat menggunakan Amazon Inspector dengan Amazon CodeCatalyst untuk menambahkan pemindaian kerentanan Amazon Inspector ke alur kerja Anda.](https://codecatalyst.aws/explore) CodeCatalyst Ini memanfaatkan [Amazon Inspector SBOM Generator](https://docs.aws.amazon.com/inspector/latest/user/sbom-generator.html) dan Amazon [Inspector Scan](https://docs.aws.amazon.com/inspector/v2/APIReference/API_Operations_Inspector_Scan.html) API untuk menghasilkan laporan terperinci di akhir build, sehingga Anda dapat menyelidiki dan memulihkan risiko sebelum penerapan. Pemindaian kerentanan Amazon Inspector dapat dikonfigurasi untuk meneruskan atau gagal alur kerja berdasarkan jumlah dan tingkat keparahan kerentanan yang terdeteksi. Untuk informasi tentang cara mengintegrasikan Amazon Inspector Scan ke CI/CD pipeline, lihat [Mengintegrasikan pemindaian Amazon Inspector](https://docs.aws.amazon.com/inspector/latest/user/scanning-cicd.html) ke dalam pipeline Anda. CI/CD Untuk daftar sistem operasi dan bahasa pemrograman yang didukung Amazon Inspector, lihat [Sistem operasi yang didukung dan bahasa pemrograman](https://docs.aws.amazon.com/inspector/latest/user/supported.html). 

# Menggunakan tindakan Amazon Inspector Scan dengan CodePipeline
<a name="cicd-inspector-codepipeline-actions"></a>

 Anda dapat menggunakan Amazon Inspector AWS CodePipeline dengan menambahkan pemindaian kerentanan ke alur kerja Anda. Integrasi ini memanfaatkan Amazon Inspector SBOM Generator dan Amazon Inspector Scan API untuk menghasilkan laporan terperinci di akhir build Anda. Integrasi ini membantu Anda menyelidiki dan memulihkan risiko sebelum penerapan. `InspectorScan`Tindakan ini adalah tindakan komputasi terkelola CodePipeline yang mengotomatiskan mendeteksi dan memperbaiki kerentanan keamanan dalam kode sumber terbuka Anda. Anda dapat menggunakan tindakan ini dengan kode sumber aplikasi di repositori pihak ketiga Anda, seperti GitHub atau Bitbucket Cloud, atau dengan gambar untuk aplikasi kontainer. Untuk informasi selengkapnya, lihat [InspectorScan memanggil referensi tindakan](https://docs.aws.amazon.com/codepipeline/latest/userguide/action-reference-InspectorScan.html) di *Panduan AWS CodePipeline Pengguna*. 