แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแžผแž”แž—แžถแž– Docker container

แž”แŸ„แŸ‡แž–แžปแž˜แŸ’แž–แž•แŸ’แžŸแžถแž™ แž›แž‘แŸ’แž’แž•แž›แž–แžธแžงแž”แž€แžšแžŽแŸแžŸแžถแž€แž›แŸ’แž”แž„แžŠแžพแž˜แŸ’แž”แžธแž€แŸ†แžŽแžแŸ‹แžขแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแžŽแž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แžŠแŸ‚แž›แž˜แžทแž“แž”แžถแž“แž‡แžฝแžŸแž‡แžปแž› แž“แžทแž„แž€แŸ†แžŽแžแŸ‹แž”แž‰แŸ’แž แžถแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž“แŸ…แž€แŸ’แž“แžปแž„แžšแžผแž”แž—แžถแž–แž’แžปแž„ Docker แžŠแžถแž…แŸ‹แžŠแŸ„แž™แžกแŸ‚แž€แŸ” แž€แžถแžšแž’แŸ’แžœแžพแžŸแžœแž“แž€แž˜แŸ’แž˜แž”แžถแž“แž”แž„แŸ’แž แžถแž‰แžแžถ 4 แž€แŸ’แž“แžปแž„แž…แŸ†แžŽแŸ„แž˜ 6 แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“แžšแžผแž”แž—แžถแž– Docker แžŠแŸ‚แž›แž‚แŸแžŸแŸ’แž‚แžถแž›แŸ‹แž˜แžถแž“แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แžŠแŸ‚แž›แž’แŸ’แžœแžพแžฑแŸ’แž™แžœแžถแžขแžถแž…แžœแžถแž™แž”แŸ’แžšแž แžถแžšแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“แžŠแŸ„แž™แž•แŸ’แž‘แžถแž›แŸ‹ แž“แžทแž„แžŸแž˜แŸ’แžšแŸแž…แž”แžถแž“แž“แžผแžœแž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžผแžŠแžšแž”แžŸแŸ‹แžœแžถแž“แŸ…แž›แžพแž”แŸ’แžšแž–แŸแž“แŸ’แž’ แž€แŸ’แž“แžปแž„แž€แžšแžŽแžธแžแŸ’แž›แŸ‡ (แžงแž‘แžถแž แžšแžŽแŸแž“แŸ…แž–แŸแž›แž”แŸ’แžšแžพ Snyk) แž‡แžถแž˜แžฝแž™แž“แžนแž„แžŸแžทแž‘แŸ’แž’แžทแž‡แžถ root แŸ”

แžŠแžพแž˜แŸ’แž”แžธแžœแžถแž™แž”แŸ’แžšแž แžถแžš แžขแŸ’แž“แž€แžœแžถแž™แž”แŸ’แžšแž แžถแžšแž‚แŸ’แžšแžถแž“แŸ‹แžแŸ‚แžแŸ’แžšแžผแžœแž…แžถแž”แŸ‹แž•แŸ’แžแžพแž˜แž€แžถแžšแžแŸ’แžšแžฝแžแž–แžทแž“แžทแžแŸ’แž™ Dockerfile แžฌ manifest.json แžšแž”แžŸแŸ‹แž‚แžถแžแŸ‹ แžŠแŸ‚แž›แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‘แžทแž“แŸ’แž“แž“แŸแž™แž˜แŸแžแžถแžŠแŸ‚แž›แž”แžถแž“แžšแž…แž“แžถแžกแžพแž„แž‡แžถแž–แžทแžŸแŸแžŸ แžฌแžŠแžถแž€แŸ‹แžฏแž€แžŸแžถแžš Podfile แž“แžทแž„ gradlew แž“แŸ…แžแžถแž„แž€แŸ’แž“แžปแž„แžšแžผแž”แž—แžถแž–แŸ” แž‘แžถแž‰แž™แž€แž‚แŸ†แžšแžผแžŠแžพแž˜ แž”แžถแž“แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แžŠแžพแž˜แŸ’แž”แžธแžšแŸ€แž”แž…แŸ† แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž”แŸ’แžšแž–แŸแž“แŸ’แž’
แž”แŸ’แžšแž—แž–, แžŸแŸแž“แžธแž€,
แž แŸ’แžœแžผแžŸแžŸแžถ ะธ
แž™แžปแžแŸ’แž€แžถ. แž€แž‰แŸ’แž…แž”แŸ‹แž”แžถแž“แž”แž„แŸ’แž แžถแž‰แž–แžธแžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž›แŸ’แžขแž”แŸ†แž•แžปแž แž›แŸ„แž€แžŸแŸ’แžšแžธ ClairแžŠแžพแž˜แžกแžพแž™แžŸแžšแžŸแŸแžšแžŠแŸ„แž™แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž€แŸ’แž“แžปแž„แž…แžทแžแŸ’แžแŸ” แž˜แžทแž“แž˜แžถแž“แž”แž‰แŸ’แž แžถแžแŸ’แžšแžผแžœแž”แžถแž“แžšแž€แžƒแžพแž‰แž“แŸ…แž€แŸ’แž“แžปแž„แž€แž‰แŸ’แž…แž”แŸ‹แž“แŸ„แŸ‡แž‘แŸแŸ” แž˜แžทแž“แžŸแŸ’แž˜แŸ„แŸ‡แžแŸ’แžšแž„แŸ‹. แž‡แžถแž›แž‘แŸ’แž’แž•แž› แžœแžถแžแŸ’แžšแžผแžœแž”แžถแž“แžŸแž“แŸ’แž“แžทแžŠแŸ’แž‹แžถแž“แžแžถ แžงแž”แž€แžšแžŽแŸแžŸแŸ’แž€แŸ‚แž“แž€แžปแž„แžแžบแž“แŸแžš Docker แž‚แžฝแžšแžแŸ‚แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž€แŸ’แž“แžปแž„แž”แžšแžทแž™แžถแž€แžถแžŸแžŠแžถแž…แŸ‹แž–แžธแž‚แŸ แžฌแž”แŸ’แžšแžพแžŸแž˜แŸ’แžšแžถแž”แŸ‹แžแŸ‚แž–แžทแž“แžทแžแŸ’แž™แž˜แžพแž›แžšแžผแž”แž—แžถแž–แžšแž”แžŸแŸ‹แž–แžฝแž€แž‚แŸแž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡ แž แžพแž™แž€แžถแžšแž”แŸ’แžšแžปแž„แž”แŸ’แžšแž™แŸแžแŸ’แž“แž“แŸ„แŸ‡แž‚แžฝแžšแžแŸ‚แžแŸ’แžšแžผแžœแž”แžถแž“แžขแž“แžปแžœแžแŸ’แžแž“แŸ…แž–แŸแž›แž—แŸ’แž‡แžถแž”แŸ‹แžงแž”แž€แžšแžŽแŸแž”แŸ‚แž”แž“แŸแŸ‡แž‘แŸ…แž“แžนแž„แž”แŸ’แžšแž–แŸแž“แŸ’แž’แžšแžฝแž˜แž”แž‰แŸ’แž…แžผแž›แž‡แžถแž”แž“แŸ’แžแž”แž“แŸ’แž‘แžถแž”แŸ‹แžŠแŸ„แž™แžŸแŸ’แžœแŸแž™แž”แŸ’แžšแžœแžแŸ’แžแžทแŸ”

แž“แŸ…แž€แŸ’แž“แžปแž„ FOSSA, Snyk แž“แžทแž„ WhiteSource แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แžแŸ’แžšแžผแžœแž”แžถแž“แž•แŸ’แžŸแžถแžšแž—แŸ’แž‡แžถแž”แŸ‹แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแž แŸ…แž‘แŸ…แž€แžถแž“แŸ‹แžขแŸ’แž“แž€แž‚แŸ’แžšแž”แŸ‹แž‚แŸ’แžšแž„แž€แž‰แŸ’แž…แž”แŸ‹แžแžถแž„แž€แŸ’แžšแŸ…แžŠแžพแž˜แŸ’แž”แžธแž€แŸ†แžŽแžแŸ‹แž—แžถแž–แžขแžถแžŸแŸ’แžšแŸแž™ แž“แžทแž„แžขแž“แžปแž‰แŸ’แž‰แžถแžแžฑแŸ’แž™แžขแŸ’แž“แž€แžšแŸ€แž”แž…แŸ†แž€แžถแžšแž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž“แŸƒแž€แžผแžŠแžšแž”แžŸแŸ‹แžขแŸ’แž“แž€แžŠแŸ„แž™แž”แž‰แŸ’แž‡แžถแž€แŸ‹แž€แžถแžšแž”แŸ‰แŸ‡ แž“แžทแž„แž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž“แŸ…แž€แŸ’แž“แžปแž„แžฏแž€แžŸแžถแžšแŸ” แž‡แž˜แŸ’แžšแžถแž› ะธ Podfile.

Snyk แž“แžทแž„ WhiteSource แž€แŸแž˜แžถแž“แž•แž„แžŠแŸ‚แžšแŸ” แž”แžถแž“แžšแž€แžƒแžพแž‰ แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡, แž–แžถแž€แŸ‹แž–แŸแž“แŸ’แž’ แž‡แžถแž˜แžฝแž™แž“แžนแž„แž€แžถแžšแžšแŸ€แž”แž…แŸ†แž“แŸƒแž€แžถแžšแž”แžพแž€แžŠแŸ†แžŽแžพแžšแž€แžถแžšแž–แžถแž€แŸ’แž™แž”แž‰แŸ’แž‡แžถแž”แŸ’แžšแž–แŸแž“แŸ’แž’แž“แŸ…แž–แŸแž›แž‰แŸ‚แž€ Dockerfile (แžงแž‘แžถแž แžšแžŽแŸแž“แŸ…แž€แŸ’แž“แžปแž„ Snyk แžแžถแž˜แžšแž™แŸˆ Dockefile แžœแžถแžขแžถแž…แž‡แŸ†แž“แžฝแžŸแžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ /bin/ls แžŠแŸ‚แž›แž แŸ…แžŠแŸ„แž™แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“ แž แžพแž™แž“แŸ…แž€แŸ’แž“แžปแž„ WhiteSurce แžœแžถแžขแžถแž…แž‡แŸ†แž“แžฝแžŸแž€แžผแžŠแžแžถแž˜แžšแž™แŸˆแžขแžถแž‚แžปแž™แž˜แŸ‰แž„แŸ‹แž“แŸ…แž€แŸ’แž“แžปแž„ แž‘แž˜แŸ’แžšแž„แŸ‹ โ€œecho ';touch /tmp/hacked_whitesource_pip;=1.0 โ€ฒโ€) แŸ”

แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แž“แŸƒแž™แžปแžแŸ’แž€แžถ แžแŸ’แžšแžผแžœโ€‹แž”แžถแž“โ€‹แž แŸ… แžŠแŸ„แž™แž”แŸ’แžšแžพแžงแž”แž€แžšแžŽแŸแž”แŸ’แžšแžพแž”แŸ’แžšแžถแžŸแŸ‹ แžŸแŸ’แž€แžผแž”แŸ‰แŸแžขแžผ แžŸแž˜แŸ’แžšแžถแž”แŸ‹แž’แŸ’แžœแžพแž€แžถแžšแž‡แžถแž˜แžฝแž™แžšแžผแž”แž—แžถแž– docker แŸ” แž”แŸ’แžšแžแžทแž”แžแŸ’แžแžทแž€แžถแžšแž”แžถแž“แž’แŸ’แž›แžถแž€แŸ‹แž…แžปแŸ‡แžŠแž›แŸ‹แž€แžถแžšแž”แž“แŸ’แžแŸ‚แž˜แž”แŸ‰แžถแžšแŸ‰แžถแž˜แŸ‰แŸ‚แžแŸ’แžšแžŠแžผแž…แž‡แžถ '"os": "$(touch hacked_anchore)"' แž‘แŸ…แžฏแž€แžŸแžถแžš manifest.json แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž‡แŸ†แž“แžฝแžŸแž“แŸ…แž–แŸแž›แž แŸ… skopeo แžŠแŸ„แž™แž˜แžทแž“แž˜แžถแž“แž€แžถแžšแž‚แŸแž…แž…แŸแž‰แžแŸ’แžšแžนแž˜แžแŸ’แžšแžผแžœ (แž˜แžถแž“แžแŸ‚แžแžฝแžขแž€แŸ’แžŸแžš ";&<>" แž”แŸ‰แžปแžŽแŸ’แžŽแŸ„แŸ‡แžŠแŸ‚แž›แžแŸ’แžšแžผแžœแž”แžถแž“แž€แžถแžแŸ‹แž…แŸแž‰แŸ” แž”แŸ‰แžปแž“แŸ’แžแŸ‚แž€แžถแžšแžŸแžถแž„แžŸแž„แŸ‹ "$()") แŸ”

แžขแŸ’แž“แž€แž“แžทแž–แž“แŸ’แž’แžŠแžŠแŸ‚แž›แž”แžถแž“แž’แŸ’แžœแžพแž€แžถแžšแžŸแžทแž€แŸ’แžŸแžถแžขแŸ†แž–แžธแž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž“แŸƒแž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžขแžแŸ’แžแžŸแž‰แŸ’แž‰แžถแžŽแž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แžŠแŸ‚แž›แž˜แžทแž“แž”แžถแž“แž‡แžฝแžŸแž‡แžปแž›แžŠแŸ„แž™แž”แŸ’แžšแžพแž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แž€แžปแž„แžแžบแž“แŸแžš Docker แž“แžทแž„แž€แž˜แŸ’แžšแžทแžแž“แŸƒแž—แžถแž–แžœแžทแž‡แŸ’แž‡แž˜แžถแž“แž˜แžทแž“แž–แžทแž (แž•แŸ’แž“แŸ‚แž€แž‘แžธ แŸข, แž•แŸ’แž“แŸ‚แž€แž‘แžธ แŸข, แž•แŸ’แž“แŸ‚แž€แž‘แžธ แŸข) แžแžถแž„แž€แŸ’แžšแŸ„แž˜แž“แŸแŸ‡แž‚แžบแž‡แžถแž›แž‘แŸ’แž’แž•แž›แž“แŸƒแž€แžถแžšแžŸแžถแž€แž›แŸ’แž”แž„แžšแžผแž”แž—แžถแž–แž…แŸ†แž“แžฝแž“ 73 แžŠแŸ‚แž›แž˜แžถแž“แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แžŠแŸ‚แž›แž‚แŸแžŸแŸ’แž‚แžถแž›แŸ‹ แž แžพแž™แžแŸ‚แž˜แž‘แžถแŸ†แž„แžœแžถแž™แžแž˜แŸ’แž›แŸƒแž”แŸ’แžšแžŸแžทแž‘แŸ’แž’แž—แžถแž–แž“แŸƒแž€แžถแžšแž€แŸ†แžŽแžแŸ‹แžœแžแŸ’แžแž˜แžถแž“แž“แŸƒแž€แž˜แŸ’แž˜แžœแžทแž’แžธแž’แž˜แŸ’แž˜แžแžถแž“แŸ…แž€แŸ’แž“แžปแž„แžšแžผแž”แž—แžถแž– (nginx, tomcat, haproxy, gunicorn, redis, ruby, node)แŸ”

แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแžผแž”แž—แžถแž– Docker container

แž—แžถแž–แž„แžถแž™แžšแž„แž‚แŸ’แžšแŸ„แŸ‡แž“แŸ…แž€แŸ’แž“แžปแž„แž˜แŸ‰แžถแžŸแŸŠแžธแž“แžŸแŸ’แž€แŸแž“แžŸแžปแžœแžแŸ’แžแžทแž—แžถแž–แžŸแž˜แŸ’แžšแžถแž”แŸ‹แžšแžผแž”แž—แžถแž– Docker container

แž”แŸ’แžšแž—แž–: opennet.ru

แž”แž“แŸ’แžแŸ‚แž˜แž˜แžแžทแž™แŸ„แž”แž›แŸ‹