2023๋…„ 7์›” 15์ผยท1๋ถ„ ์ฝ๊ธฐ

Govulncheck: Go ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ Google์˜ ๋ช…๋ น์ค„ ๋„๊ตฌ๊ฐ€ ์ด์ œ ์•ˆ์ •๋จ

Google์€ ์ข…์†์„ฑ์—์„œ Go ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด์˜ ์•Œ๋ ค์ง„ ์ทจ์•ฝ์„ฑ์„ ๊ฐ•์กฐ ํ‘œ์‹œํ•˜๋Š” ๋ช…๋ น์ค„ ๋„๊ตฌ์ธ Govulncheck์˜ ์•ˆ์ •์ ์ธ ๋ฆด๋ฆฌ์Šค๋ฅผ ๋ฐœํ‘œํ•ฉ๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” Go ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค๋ฅผ ํ™œ์šฉํ•˜๊ณ  ์ •์  ๋ถ„์„์„ ์ง€์›ํ•˜์—ฌ ๊ด€๋ จ ๋ณด๊ณ ์„œ๋ฅผ ์ƒ์„ฑํ•ฉ๋‹ˆ๋‹ค.

Govulncheck: Go ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ Google์˜ ๋ช…๋ น์ค„ ๋„๊ตฌ๊ฐ€ ์ด์ œ ์•ˆ์ •๋จ

Google์€ ๊ณต์‹์ ์œผ๋กœ Go ๊ฐœ๋ฐœ์ž๋ฅผ ์œ„ํ•œ ํŽธ๋ฆฌํ•œ ๋ช…๋ น์ค„ ๋„๊ตฌ์ธ Govulncheck (1.0.0 ์ƒํƒœ)๋ฅผ ์•ˆ์ •์ ์œผ๋กœ ๋งŒ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ์ด ๋„๊ตฌ๋Š” Google์˜ Go ํ”„๋กœ๊ทธ๋ž˜๋ฐ ์–ธ์–ด๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ํ”„๋กœ์ ํŠธ์˜ ์ข…์†์„ฑ ๋‚ด์—์„œ ์ธ์‹๋œ ๋ณด์•ˆ ์ทจ์•ฝ์ ์„ ์ฐพ๋Š” ๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

7์›” 13์ผ์— ๊ณต๊ฐœ๋œ ์ด ๋„๊ตฌ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ํŒŒ์ผ๊ณผ ์†Œ์Šค ์ฝ”๋“œ์˜ ์ทจ์•ฝ์ ์„ ๋ฉด๋ฐ€ํžˆ ์กฐ์‚ฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ฝ”๋“œ๊ฐ€ ํ˜ธ์ถœํ•˜๋Š” ๋ฉ”์„œ๋“œ์˜ ์ทจ์•ฝ์„ฑ์— ์ดˆ์ ์„ ๊ณ ์ •ํ•˜์—ฌ ๋…ธ์ด์ฆˆ๋ฅผ ํฌ๊ฒŒ ์ค„์ž…๋‹ˆ๋‹ค. Govulncheck ์˜ ๋ฐฑ๋ณธ์€ ๊ณต์šฉ Go ๋ชจ๋“ˆ์—์„œ ๊ฐ์ง€๋œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ์ •๋ณด ์ €์žฅ์†Œ์ธ Go ์ทจ์•ฝ์  ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์ž…๋‹ˆ๋‹ค.

์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋”ฐ๋ผ Govulncheck ์†Œ์Šค ์ฝ”๋“œ ๋˜๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๊ธฐํ˜ธ ํ…Œ์ด๋ธ”์— ๋Œ€ํ•œ ์ •์  ๋ถ„์„์„ ์ˆ˜ํ–‰ํ•ฉ๋‹ˆ๋‹ค. ๊ถ๊ทน์ ์ธ ๋ชฉํ‘œ๋Š” ๋ฌธ์ œ์˜ ํŠน์ • ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์— ์ž ์žฌ์ ์œผ๋กœ ์˜ํ–ฅ์„ ๋ฏธ์น  ์ˆ˜ ์žˆ๋Š” ์ทจ์•ฝ์ ์œผ๋กœ๋งŒ ๋ณด๊ณ ๋ฅผ ์ œํ•œํ•˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด ์ง€๋Šฅ์ ์ธ ์ œํ•œ ํŠน์„ฑ์€ ์ œํ’ˆ์˜ ๋ณด์•ˆ์„ ๋ณด์žฅํ•˜๋ ค๋Š” ๊ฐœ๋ฐœ์ž์—๊ฒŒ ํŽธ๋ฆฌํ•œ ๋„๊ตฌ์ž…๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ๋ฅผ ์„ค์น˜ํ•˜๋Š” ๊ฒƒ์€ ๊ฐœ๋ฐœ์ž์—๊ฒŒ ๋งค์šฐ ๊ฐ„๋‹จํ•ฉ๋‹ˆ๋‹ค. go install golang.org/x/vuln/cmd/govulncheck@latest ๋ช…๋ น๋งŒ ์žˆ์œผ๋ฉด ๋ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ๋ฅผ ๋ถ„์„ํ•˜๋ ค๋ฉด ๊ฐœ๋ฐœ์ž๋Š” ๋ชจ๋“ˆ ๋””๋ ‰ํ† ๋ฆฌ ๋‚ด์—์„œ Govulncheck ์‹คํ–‰ํ•˜๊ธฐ๋งŒ ํ•˜๋ฉด ๋ฉ๋‹ˆ๋‹ค( govulncheck ./... ๋ช…๋ น ์‚ฌ์šฉ).

์ตœ์†Œํ•œ Govulncheck ๋ฒ„์ „ 1.18 ์ด์ƒ์˜ Go ๋นŒ๋“œ๋กœ ์กฐ๋ฆฝ๋˜์–ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ํ˜„์žฌ ์ด ์–ธ์–ด์˜ ๊ธฐ์กด ํ”„๋กœ๋•์…˜ ๋ฒ„์ „์€ Go 1.20์ž…๋‹ˆ๋‹ค.

Govulncheck ๋Š” ์ทจ์•ฝ์ ์„ ๊ฒ€์ƒ‰ํ•˜๋Š” ๋™์•ˆ ํŠน์ • ๋นŒ๋“œ ๊ตฌ์„ฑ์— ์˜์กดํ•ฉ๋‹ˆ๋‹ค. ์†Œ์Šค ์ฝ”๋“œ์˜ ๊ฒฝ์šฐ ์ด ๊ตฌ์„ฑ์€ ๊ฒฝ๋กœ์— ์žˆ๋Š” 'go' ๋ช…๋ น์œผ๋กœ ์„ค๋ช…๋˜๋Š” Go ๋ฒ„์ „๊ณผ ๋™์˜์–ด์ž…๋‹ˆ๋‹ค. ๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๋นŒ๋“œ ๊ตฌ์„ฑ์€ ๋ฐ”์ด๋„ˆ๋ฆฌ๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๋™์•ˆ ์•…์šฉ๋˜๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์—ฌ๊ธฐ์„œ ์ฃผ๋ชฉํ•ด์•ผ ํ•  ์ ์€ ์„œ๋กœ ๋‹ค๋ฅธ ๋นŒ๋“œ ๊ตฌ์„ฑ์ด ์„œ๋กœ ๋‹ค๋ฅธ ์ทจ์•ฝ์„ฑ์— ์ทจ์•ฝํ•  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค.

๊ฐ•๋ ฅํ•œ ๊ธฐ๋Šฅ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Govulncheck ๋ช‡ ๊ฐ€์ง€ ์ œํ•œ ์‚ฌํ•ญ์ด ์žˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด, ํ•จ์ˆ˜ ํฌ์ธํ„ฐ ๋ฐ ์ธํ„ฐํŽ˜์ด์Šค ํ˜ธ์ถœ์— ๋Œ€ํ•œ ๋ถ„์„์€ ๋‹ค์†Œ ์ œํ•œ์ ์ด์–ด์„œ ์ž˜๋ชป๋œ ๊ธ์ • ๋˜๋Š” ๋ถ€์ •ํ™•ํ•œ ํ˜ธ์ถœ ์Šคํƒ์œผ๋กœ ์ด์–ด์งˆ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ ๋‹ค๋ฅธ ์ œํ•œ ์‚ฌํ•ญ์€ ํŒจํ‚ค์ง€ ๋ฐ˜์˜์„ ์‚ฌ์šฉํ•˜์—ฌ ํ˜ธ์ถœ๋œ ๊ธฐ๋Šฅ๊ณผ ๊ด€๋ จ๋˜์–ด ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ๋Šฅ์€ ๊ฐ์ง€ํ•  ์ˆ˜ ์—†์Šต๋‹ˆ๋‹ค.

๋ฐ”์ด๋„ˆ๋ฆฌ์˜ ๊ฒฝ์šฐ ์ž์„ธํ•œ ํ˜ธ์ถœ ์ •๋ณด๊ฐ€ ์—†๋Š” Go ๋ฐ”์ด๋„ˆ๋ฆฌ๋Š” ๋„๊ตฌ๊ฐ€ ์‹๋ณ„๋œ ์ทจ์•ฝ์ ์— ๋Œ€ํ•œ ํ˜ธ์ถœ ๊ทธ๋ž˜ํ”„๋ฅผ ํ‘œ์‹œํ•˜์ง€ ๋ชปํ•˜๊ฒŒ ํ•˜๋ฏ€๋กœ Govulncheck ์— ๋ฌธ์ œ๊ฐ€ ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด ๋ฌธ์ œ๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ ๋‚ด์— ์žˆ์ง€๋งŒ ์•ก์„ธ์Šคํ•  ์ˆ˜ ์—†๋Š” ์ฝ”๋“œ์— ๋Œ€ํ•œ ์˜คํƒ์ง€ ๋ณด๊ณ ๋ฅผ ์œ ๋ฐœํ•  ์ˆ˜๋„ ์žˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์ด ๋„๊ตฌ๋Š” ๊ธฐํ˜ธ ๋ฐ์ดํ„ฐ๋ฅผ ์ถ”์ถœํ•  ์ˆ˜ ์—†๋Š” ๋ฐ”์ด๋„ˆ๋ฆฌ์™€ ๊ด€๋ จํ•˜์—ฌ ์žฅ์• ๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฒฝ์šฐ ๋ฐ”์ด๋„ˆ๋ฆฌ์— ์˜์กดํ•˜๋Š” ๋ชจ๋“  ๋ชจ๋“ˆ์˜ ์ทจ์•ฝ์ ์„ ๋ณด๊ณ ํ•˜๋„๋ก ์„ ํƒํ•ฉ๋‹ˆ๋‹ค.

์ด ๋„๊ตฌ์—๋Š” ์ทจ์•ฝ์  ๋ฐœ๊ฒฌ์„ ์–ต์ œํ•˜๋Š” ๊ธฐ๋Šฅ๋„ ์—†์Šต๋‹ˆ๋‹ค. ๊ทธ๋Ÿฌ๋‚˜ ์ด๋Ÿฌํ•œ ์ œํ•œ์—๋„ ๋ถˆ๊ตฌํ•˜๊ณ  Go ํ”„๋กœ์ ํŠธ๋ฅผ ์œ„ํ•œ ๋ถ€๊ฐ€ ๊ฐ€์น˜ ๋„๊ตฌ๋กœ์„œ Govulncheck ์˜ ์ž ์žฌ๋ ฅ์€ ๋ถ„๋ช…ํ•ฉ๋‹ˆ๋‹ค.

Go Security Team์ด ์ „๋…„๋„ 9์›”์— ์ทจ์•ฝ์  ๊ด€๋ฆฌ ์ง€์›์„ ์„ ์–ธํ•œ ์ ์€ ์ฃผ๋ชฉํ•  ๋งŒํ•ฉ๋‹ˆ๋‹ค. ์ทจ์•ฝ์„ฑ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ๋ฟŒ๋ฆฌ๋ฅผ ๋‘” ์ด ํ”„๋กœ์ ํŠธ๋Š” Go ํ”„๋กœ๊ทธ๋ž˜๋ฐ ๊ตฌ์กฐ์˜ ๋†€๋ผ์šด ๋ฐœ์ „์„ ์•ฝ์†ํ•˜๋ฉฐ ๋„์ž…๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์„ ๋„์  no-code ํ”Œ๋žซํผ ์ธ AppMaster.io ๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ Go ๋ฐ ๊ธฐํƒ€ ์—ฌ๋Ÿฌ ์–ธ์–ด๋ฅผ ํฌํ•จํ•˜์—ฌ ์™„์ „ํžˆ ํ†ตํ•ฉ๋˜๊ณ  ํฌ๊ด„์ ์ธ ํ”Œ๋žซํผ์„ ์‚ฌ์šฉํ•˜์—ฌ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜์„ ๋” ๋น ๋ฅด๊ฒŒ ์ƒ์„ฑํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•ฉ๋‹ˆ๋‹ค.

Easy to start
Create something amazing

Experiment with AppMaster with free plan.
When you will be ready you can choose the proper subscription.

Get Started
Govulncheck: Go ์ทจ์•ฝ์ ์„ ์‹๋ณ„ํ•˜๊ธฐ ์œ„ํ•œ Google์˜ ๋ช…๋ น์ค„ ๋„๊ตฌ๊ฐ€ ์ด์ œ ์•ˆ์ •๋จ | AppMaster