๐ช Grype jq ํธ๋ฆญ: ์คํ๋ ๋์ํธ์ฉ csv ๐
โ ์๊ฐ
์ข ์ข ์ด๋ฏธ์ง ์ทจ์ฝ์ ์ ๋ํด ์ด์ผ๊ธฐํ ๋ ์คํ๋ ๋์ํธ์์ ๊ทธ๋ฐ ์ข ๋ฅ์ ์ฐจํธ๋ฅผ ๊ฐ์ ธ์์ผ ํฉ๋๋ค... ๊ทธ๋ฐ ์ข ๋ฅ์ ๊ฒ์ ์ป๊ณ ์ถ์ต๋๋ค.
๋ฐ๋ผ์ ๋ค์๊ณผ ๊ฐ์ ๋ฌธ์ ๋ฅผ ๋ง๋ค์์ต๋๋ค.
๐ช jq ํธ๋ฆญ์ ๊ตฌํํ์ฌ ์ฌ๊ฐ๋๋ณ๋ก ๊ทธ๋ฃนํํ๊ณ ๊ณ์ฐ
#8
adriens
์ ๊ฒ์๋จ
jq
๋ช
๋ น์ ์
๋ ฅํ๊ณ ๋ฐํํ๋ grype -o json
์ฟผ๋ฆฌ๋ฅผ ์ ๊ณตํฉ๋๋ค.
"Negligible",0
"Low",4
"High",10
์ฐธ์กฐ Group vulnerabilities by severity
๐ฆ
:
View on GitHub
๐ช jq ํธ๋ฆญ
ํธ๋ฆญ์ ์ฆ๊ธฐ๋ ค๋ฉด ๋ค์ ์ง์นจ์ ๋ฐ๋ฅด์ญ์์ค.
๐ฟ ์ผํ์
์ถฉ๋ถํ ์ด์ผ๊ธฐ, ํ๋์ ํธ๋ฆญ์ ๋ณด์ :
๐ ๋ฆฌ์์ค
"Negligible",0
"Low",4
"High",10
jq
opt-nc / ๋ถํ-๊ธฐ์ฌ
Anchore์ grype ๋๊ตฌ ์ฃผ๋ณ ๋ฆฌ์์ค ์ธํธ
โ ์๊ฐ
์ด ์ ์ฅ์์ ๋ชฉ์ ์ ์ฃผ๋ณ์ ์ผ๋ถ ๋ฆฌ์์ค๋ฅผ ์์ฝํ๋ ๊ฒ์
๋๋คGrype.
์ด ํ๋ฅญํ ๋๊ตฌ๋ฅผ ์ต๋ํ ํ์ฉํ ์ ์์ต๋๋ค.
๐ grype-contribs ์์๋ณด๊ธฐ
์ด ํ๋ก์ ํธ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด ๋ค์์ ์ดํด๋ณด์ญ์์ค.
์ด ํ๋ก์ ํธ์ ๋ํด ์์ธํ ์์๋ณด๋ ค๋ฉด ๋ค์์ ์ดํด๋ณด์ญ์์ค.
๐บ Youtbe demo
๐งฐ ์ ์ ์กฐ๊ฑด
์ด๋ฌํ ๋ฆฌ์์ค๋ฅผ ์ต์ ์ผ๋ก ์ฌ์ฉํ๋ ค๋ฉด ๋ค์์ด ํ์ํฉ๋๋ค.
git
brew
์ค์น๋จ python3
๋ฐ pip
๋๊ตฌ ์ค์น
brew tap anchore/grype
brew install grype
termgraph
, "ํฐ๋ฏธ๋์์ ๊ธฐ๋ณธ ๊ทธ๋ํ๋ฅผ ๊ทธ๋ฆฌ๋ ๋ช
๋ น์ค ๋๊ตฌ"๋ฅผ ์ฌ์ฉํฉ๋๋ค.python3 -m pip install termgraph
๋ง์ง๋ง์ผ๋ก ์ด ์ ์ฅ์๋ฅผ ๋ณต์ ํฉ๋๋ค.gh repo clone opt-nc/grype-contribs
cd grype-contribs
๐ ์ค๋น๋์์ต๋๋ค.๐ ํ ํ๋ฆฟ
์ดํ
v0.42.0
, ๊ทธ๋ฆฌ๊ณ ๋ฌธ์
#724
templates์ผ๋ก ๋ถ์ ๋ณด๊ณ ์๋ฅผ ๋ณํํ ์ ์์ต๋๋ค.
์ด ๊ธฐ๋ฅ์ ์ฌ์ฉํ๋ฉด ์ ์ฉํ๊ณ ๊ณ ๋๋ก ์ฌ์ฉ์ ์ ์ ๊ฐ๋ฅํ ๋ณด๊ณ ์๋ฅผ ์์ฑํ ์ ์์ต๋๋ค.
๐ ํฐ๋ฏธ๋์ ์ง๊ณ ๋ณด๊ณ ์( termgraph )
โฆ
View on GitHub
Reference
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(๐ช Grype jq ํธ๋ฆญ: ์คํ๋ ๋์ํธ์ฉ csv ๐), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://dev.to/optnc/grype-jq-tricks-csv-for-spreadsheets-c7hํ ์คํธ๋ฅผ ์์ ๋กญ๊ฒ ๊ณต์ ํ๊ฑฐ๋ ๋ณต์ฌํ ์ ์์ต๋๋ค.ํ์ง๋ง ์ด ๋ฌธ์์ URL์ ์ฐธ์กฐ URL๋ก ๋จ๊ฒจ ๋์ญ์์ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ ์ธ ๋ฐ๊ฒฌ์ ์ ๋ (Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค