jfrog / jfrog/jfrog-cli-security

On-demand scan detects no vulnerabilities on images build with Kaniko

Open
#351 6 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug
Dominant language
Go
Stars
13
Forks
50
Avg merge
3d 48m
Merged PRs (30d)
26

Description

Describe the bug
The indexer-app detects no vulnerabilities on images build with Kaniko.

To Reproduce

  1. Create a Dockerfile:
FROM alpine:3.16
  1. Build the image with Kaniko:
docker run -it --rm -v $(pwd):/workspace \
  gcr.io/kaniko-project/executor:v1.8.1-debug -f Dockerfile --no-push --tarPath kaniko.tar -d kaniko -c . --cleanup
  1. Scan the image:
jf s kaniko.tar
11:47:13 [πŸ”΅Info] [Thread 2] Indexing file: kaniko.tar
11:47:16 [πŸ”΅Info]
11:47:17 [πŸ”΅Info] Waiting for scan to complete...
The full scan results are available here: /tmp/jfrog.cli.temp.-1656589638-3448319061
Note: no context was provided, so no policy could be determined to scan against.
You can get a list of custom violations by providing one of the command options: --watches, --repo-path or --project.
Read more about configuring Xray policies here: https://www.jfrog.com/confluence/display/JFROG/Creating+Xray+Policies+and+Rules
Below are all vulnerabilities detected.
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ ✨ No vulnerabilities were found ✨ β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
11:47:18 [πŸ”΅Info] Scan completed successfully.

Expected behavior
The indexer-app should detect vulnerabilities and support the image format used by Kaniko.

Versions

  • JFrog CLI version: 2.19.0
  • Artifactory version: 7.38.8
  • Xray version: 3.48.2

Additional context
At the moment only the image format used by Docker is supported:

docker load < kaniko.tar
docker save -o docker.tar kaniko
jf s docker.tar
11:46:39 [πŸ”΅Info] [Thread 2] Indexing file: docker.tar
11:46:42 [πŸ”΅Info] 2022-06-30T11:46:40.3625282Z [jfxia] [INFO ] [] [docker_layer_tar:169          ] [main                ] Encountered release info file 'etc/alpine-release'
2022-06-30T11:46:40.3632098Z [jfxia] [INFO ] [] [docker_layer_tar:169          ] [main                ] Encountered release info file 'etc/os-release'
2022-06-30T11:46:42.9810997Z [jfxia] [INFO ] [] [tar:82                        ] [main                ] Finished indexing layers of docker /tmp/jfrog.cli.temp.-1656589599-4108843292/18502706-ce47-42ab-7307-e884cc04cf7d/165658960032915780/ (sha256:1fe6c686d3bfcc5d26158f2b946fbcd493d2f167da7b7b5cea3b0921709e5df1)

11:46:44 [πŸ”΅Info] Waiting for scan to complete...
The full scan results are available here: /tmp/jfrog.cli.temp.-1656589604-653889428
Note: no context was provided, so no policy could be determined to scan against.
You can get a list of custom violations by providing one of the command options: --watches, --repo-path or --project.
Read more about configuring Xray policies here: https://www.jfrog.com/confluence/display/JFROG/Creating+Xray+Policies+and+Rules
Below are all vulnerabilities detected.
Vulnerabilities
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
β”‚ SEVERITY β”‚ IMPACTED     β”‚ IMPACTED   β”‚ TYPE   β”‚ FIXED    β”‚ COMPONENT β”‚ COMPONENT β”‚ CVE            β”‚
β”‚          β”‚ PACKAGE      β”‚ PACKAGE    β”‚        β”‚ VERSIONS β”‚           β”‚ VERSION   β”‚                β”‚
β”‚          β”‚              β”‚ VERSION    β”‚        β”‚          β”‚           β”‚           β”‚                β”‚
β”œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€
β”‚ πŸ”₯High   β”‚ 3.16:busybox β”‚ 1.35.0-r13 β”‚ Alpine β”‚          β”‚ kaniko    β”‚ latest    β”‚ CVE-2022-30065 β”‚
β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”΄β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜
11:46:44 [πŸ”΅Info] Scan completed successfully.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up β€” it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the indexer-app path used by jf s for tar images and compare how the Kaniko-generated kaniko.tar is handled with the Docker-generated docker.tar. Reproduce both scans from the issue and confirm that the Kaniko format is indexed sufficiently for the Alpine vulnerability to be reported.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.