GitHub ืืืงืจืช ืกืืจื ืฉื ืืชืงืคืืช ืฉืืื ืืฆืืืื ืชืืงืคืื ืืืจืืช ืืืืขืืช ืงืจืืคืืืืจืคืืื ืขื ืชืฉืชืืช ืืขื ื ืฉื GitHub ืืืืฆืขืืช ืื ืื ืื GitHub Actions ืืื ืืืคืขืื ืืช ืืงืื ืฉืืื. ืื ืืกืืื ืืช ืืจืืฉืื ืื ืืืฉืชืืฉ ื-GitHub Actions ืืืจืืื ืืืืขื ืื ืืืืืจ ืืฉื ื ืฉืขืืจื.
GitHub Actions ืืืคืฉืจ ืืืคืชืื ืงืื ืืฆืจืฃ ืืืคืืื ืืื ืืืคืื ืคืขืืืืช ืฉืื ืืช ืืืืืืืืืืช ื-GitHub. ืืืืืื, ืืืืฆืขืืช GitHub Actions ืืชื ืืืื ืืืฆืข ืืืืงืืช ืืืืืงืืช ืืกืืืืืช ืืขืช ืืืฆืืข, ืื ืืืคืื ืืช ืืขืืืื ืฉื ืืขืืืช ืืืฉืืช ืืืืืืืืืืช. ืืื ืืืชืืื ืืจืืื, ืชืืงืคืื ืืืฆืจืื ืืืื ืฉื ืืืืืจ ืฉืืฉืชืืฉ ื-GitHub Actions, ืืืกืืคืื ืคืขืืืืช GitHub ืืืฉื ืืขืืชืง ืฉืืื, ืืฉืืืืื ืืงืฉืช ืืฉืืื ืืืืืจ ืืืงืืจื ืฉืืฆืืขื ืืืืืืฃ ืืช ืืืืคืืื ืืงืืืืื ื-GitHub Actions ื-".github/workflows ืืืืฉืื /ci.yml" ืืืคื.
ืืงืฉืช ืืืฉืืื ืืืืื ืืช ืืืืฆืจืช ื ืืกืืื ืืช ืืจืืืื ืืืคืขืื ืืช ืืืืคื ื-GitHub Actions ืฉืฆืืื ืขื ืืื ืืชืืงืฃ, ืืฉืจ ืืืืจ 72 ืฉืขืืช ืืืคืกืง ืขืงื ืคืกืง ืืื, ื ืืฉื ืืื ืคืืขื ืฉืื. ืืื ืืชืงืืฃ, ืชืืงืฃ ืฆืจืื ืจืง ืืืฆืืจ ืืงืฉืช ืืฉืืื - ืืืืคื ืคืืขื ืืืืคื ืืืืืืื ืืื ืื ืืืฉืืจ ืื ืืฉืชืชืคืืช ืฉื ืื ืืื ืืืืืจ ืืืงืืจืืื, ืฉืืืืืื ืจืง ืืืืืืฃ ืคืขืืืืช ืืฉืืื ืืืืคืกืืง ืืืจ ืืืจืืฅ ืืช ืคืขืืืืช GitHub.
ืืืืคื ci.yml ืฉื ืืกืคื ืขื ืืื ืืชืืงืคืื, ืืคืจืืืจ "ืืคืขืื" ืืืื ืงืื ืืขืืจืคื (eval "$(echo 'YXB0IHVwZGF0ZSAtโฆ' | base64 -d"), ืืฉืจ, ืืืฉืจ ืืื ืืืคืขื, ืื ืกื ืืืืจืื ืืืืคืขืื ืืช ืชืืื ืืช ืืืจืืื. ืืืจืกืืืช ืืจืืฉืื ืืช ืฉื ืืืชืงืคื ืืืืืจืื ืฉืื ืื ืืืขืืชื ืชืืื ืืช ืืฉื npm.exe ื-GitHub ื-GitLab ืืืืจืืื ืืงืืืฅ ELF ืืจ ืืคืขืื ืขืืืจ Alpine Linux (ืืฉืืืืฉ ืืชืืื ืืช Docker.) ืฆืืจืืช ืืชืงืคื ืืืฉืืช ืืืชืจ ืืืจืืืืช ืืช ืืงืื ืฉื XMRig ืื ืจื ืืืจื ืืืืืจ ืืคืจืืืงืืื ืืจืฉืื, ืฉื ืื ื ืืืืจ ืืื ืขื ืืจื ืง ืืืืคืช ืืชืืืืช ืืฉืจืชืื ืืฉืืืืช ื ืชืื ืื.
ืืงืืจ: OpenNet.ru