Public Behavior Usage 57 KO - teamswyg/laya-tools GitHub Wiki
๊ณต๊ฐ ๋์ ๊ฒ์ฆ ๋๊ตฌ ์ฌ์ฉ๋ฒ57
riido-publicaudit์ ์ ์ง๋ณด์์๊ฐ ์์ ๊ณต๊ฐ ๋์์ ์ ๋ต ๊ทผ๊ฑฐ๋ฅผ ๋ชจ์ผ๋ Go ๋๊ตฌ๋ค. ์ฌ๋์ด๋ ์์ด์ ํธ๋ ๊ฒฐ๊ณผ์ ์
๋ ฅยท์ค๋ฅยท์์ฒ revision์ ์ฝ์ ์ ์๋ค. ๋ชจ๋ธ ์ ํ์ด๋ ์ค์ ์ฝ๋ ์์ ์น์ธ์ ํ์ง ์๋๋ค. ์ผ๋ฐ ์ฌ์ฉ์๋ ๊ธฐ์กด riidolaya/riido-shortclaim์ ๊ณ์ ์ฌ์ฉํ๋ค.
๊ณต๊ฐ ๊ฒฐ๊ณผ ํ์ธ
Go1.27.1์์ ์ ์ฅ์ ๋ฃจํธ์ ์๋ ๊ฒ์ฌ๋ฅผ ์คํํ๋ค. Linux์ macOS ๋ชจ๋ ์ค์ API๋ฅผ ์ฌ์ํด ๋ณด์กด๋ ๊ฒฐ๊ณผยท์์ฒยท๊ธฐ๋๊ฐ์ ๋์กฐํ๋ค. ์ญ์ฌ์ Darwin binary๋ฅผ ๋ค๋ฅธ OS์์ ์คํํ๋ค๋ ๋ป์ ์๋๋ฉฐ ์ ๊ณต์ ํ๋ณธ์ ๋ง๋ค์ง ์๋๋ค.
go test ./cmd/riido-publicaudit -run TestPublishedFiniteAuditReplay -count=1
์
๋ ฅ์ raw UTF-8์ hex๊ฐ ๊ฐ์์ผ ํ๋ค. ์๋ณธ ๊ฒฐ๊ณผ๋ ๊ท๋ฒยท๊ธฐ์ ์ APIยท๋ ๊ฐํ ์ ์ฑ
์ ๋ถ๋ฆฌํ๋ค. source_read_hypothesis๋ ์ฌ์ ์์ค ์ฝ๊ธฐ ์์์ด๋ฉฐ ์๋ฝ ๊ธฐ์ค์ด ์๋๋ค. ํ์ ์ ๋ต์ด๋ hidden source ID๋ฅผ ๋ชจ๋ธ ๋ฌธ๊ตฌ์ ์ฑ์ฐ๋ ๊ธฐ๋ฅ์ ์๋ค.
๊ณต์ ์์ง ๋ช ๋ น์ ๊ฒฝ๊ณ
์๋ ์์ง์ ์๋ ์์๋ก ์ํํ๋ค. binary๋ Go1.27.1 Darwin/arm64, CGO0์์ recipe์ ์ธ build flag๋ก ๋ง๋ค์ด ์คํ ๊ณํ์ SHA์ ๋ง์ท๋ค. ๊ฒฐ๊ณผ ํ์ผ์ ๋ฎ์ด์ฐ์ง ์์ผ๋ฉฐ ์ ๋๋ ํฐ๋ฆฌ๋ ๊ธฐ์กด์ ์์ผ๋ฉด ๊ฑฐ์ ํ๋ค. fresh output์ ์ ์ญ ์คํ ํ์ ์ ํ์ด ์๋๋ฏ๋ก ๊ณต์1ํ ๊ธฐ๋ก์ ์ธ๋ถ ์คํ ์ฅ๋ถ๋ก ๊ด๋ฆฌํ๋ค.
CGO_ENABLED=0 go build -trimpath -buildvcs=false -p=1 -o ./riido-publicaudit ./cmd/riido-publicaudit
./riido-publicaudit plan --repo . --source-commit 9e99914f6d1e35aa9d97413f80fc6e03768e97ce --out NEW_PLAN_FILE
./riido-publicaudit audit --repo . --input-commit 1462c705087f24666049f8bd31d317490c05dbeb --out NEW_RESULT_DIRECTORY
audit์ ์ ์ฅ์์ ๊ณ ์ ๋ execution-plan-57.json๊ณผ probes-57.json์ ์ฝ๋๋ค. plan์ ์ ์ถ๋ ฅ๋ง์ผ๋ก ์ด๋ฅผ ์๋ ๊ต์ฒดํ์ง ์๋๋ค. ์๋ frozen commit๋ค์ด ๋ก์ปฌ Git์ ์์ด์ผ ํ๊ณ , main์ squash history๋ง ๊ฐ์ ธ์จ checkout์ ํด๋น ๊ณต๊ฐ commit๋ ๋ณ๋๋ก fetchํด์ผ ํ๋ค. ๋ค๋ฅธ OS/toolchain/binary์ ์ฌ์์ง์ ์ ๊ณํยท์
๋ ฅ freeze๋ฅผ ์์ฑํ๋ ๋ณ๋ ์คํ์ด๋ฉฐ ์ ์ญ์ฌ์ ์์ง์ ๋ฎ์ด์ฐ์ง ์๋๋ค.
์ง์ ์ฐ์ฐ์ strict_parse, compare, glob_match, glob_validate๋ฟ์ด๋ค. ์๋ณธ ์ฝ๋ ๋ฌธ์์ด์ ์์ ์คํ์ด๋ ํ์ผ์์คํ
glob์ ์๋ค. ์๋ชป๋ UTF-8/๊ณผํ ๊ธธ์ด/๋ฏธ๋ฑ๋ก ํ์ผ/๋ณ์กฐ/duplicate JSON key/extra field/๋๋ฝ๋ ์
๋ ฅ freeze๋ ๊ด์ธก ์ ์ ๊ฑฐ์ ํ๋ค. ๋ผ์ด๋ธ๋ฌ๋ฆฌ์ ์๋ ค์ง ์ค๋ฅ๋ ๊ด์ธกํ๊ณ panicยท๋ฏธ๋ถ๋ฅ ์ค๋ฅ๋ unknown์ผ๋ก ๋จ๊ธด๋ค.
๊ธฐ๋๊ฐ ๋ถ์ผ์น๋ ์ ํจํ ์ฐ๊ตฌ ๊ฒฐ๊ณผ์ด๋ฏ๋ก ๊ทธ ์์ฒด๋ก exit ์คํจ๋ฅผ ๋ง๋ค์ง ์๋๋ค. ๋ถ์์ /unknown ๊ด์ธก์ด๋ ์ ์ฅ ์คํจ๋ nonzero๋ค. ์ ์ฅ ์คํจ ์ง๋จ์ ์ด๋ฏธ ์์ํ ๊ด์ธก ์๋ฅผ ํ์ํ๋ฉฐ ๊ณต์ ์ฌ์๋๋ฅผ ์๋์ผ๋ก ์ํํ์ง ์๋๋ค. ์ด๋ฒ ๋๊ตฌ๋ CPU/RSS/GPU/์ง์ฐ ์ธก์ ๊ธฐ๊ฐ ์๋๋ค.