ื’ื•ื’ืœ ื”ืฆื™ืขื” SLSA ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืฉื™ื ื•ื™ื™ื ื–ื“ื•ื ื™ื™ื ื‘ืžื”ืœืš ื”ืคื™ืชื•ื—

ื’ื•ื’ืœ ื”ืฆื™ื’ื” ืืช ืžืกื’ืจืช SLSA (Supply-chain Levels for Software Artifacts), ื”ืžืกื›ืžืช ืืช ื”ื ื™ืกื™ื•ืŸ ื”ืงื™ื™ื ื‘ื”ื’ื ื” ืขืœ ืชืฉืชื™ื•ืช ืคื™ืชื•ื— ืžืคื ื™ ื”ืชืงืคื•ืช ื”ืžืชื‘ืฆืขื•ืช ื‘ืฉืœื‘ ืฉืœ ื›ืชื™ื‘ืช ืงื•ื“, ื‘ื“ื™ืงื”, ื”ืจื›ื‘ื” ื•ื”ืคืฆื” ืฉืœ ืžื•ืฆืจ.

ืชื”ืœื™ื›ื™ ื”ืคื™ืชื•ื— ื”ื•ืคื›ื™ื ื™ื•ืชืจ ื•ื™ื•ืชืจ ืžื•ืจื›ื‘ื™ื ื•ืชืœื•ื™ื™ื ื‘ื›ืœื™ื ืฉืœ ืฆื“ ืฉืœื™ืฉื™, ืžื” ืฉื™ื•ืฆืจ ืชื ืื™ื ื ื•ื—ื™ื ืœืงื™ื“ื•ื ื”ืชืงืคื•ืช ื”ืงืฉื•ืจื•ืช ืœื ื‘ื–ื™ื”ื•ื™ ื•ื ื™ืฆื•ืœ ืคื’ื™ืขื•ื™ื•ืช ื‘ืžื•ืฆืจ ื”ืกื•ืคื™, ืืœื ื‘ืคื’ื™ืขื” ื‘ืชื”ืœื™ืš ื”ืคื™ืชื•ื— ืขืฆืžื• (ื”ืชืงืคื•ืช ืฉืจืฉืจืช ื”ืืกืคืงื”, ื‘ื“ืจืš ื›ืœืœ ืžื›ื•ื•ื ื•ืช ืœ ื”ื›ื ืกืช ืฉื™ื ื•ื™ื™ื ื–ื“ื•ื ื™ื™ื ื‘ืชื”ืœื™ืš ื›ืชื™ื‘ืช ืงื•ื“, ื”ื—ืœืคืช ืจื›ื™ื‘ื™ื ืžื‘ื•ื–ืจื™ื ื•ืชืœื•ืช).

ื”ืžืกื’ืจืช ืœื•ืงื—ืช ื‘ื—ืฉื‘ื•ืŸ 8 ืกื•ื’ื™ ื”ืชืงืคื•ืช ื”ืงืฉื•ืจื•ืช ืœืื™ื•ื ื‘ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื ื–ื“ื•ื ื™ื™ื ื‘ืฉืœื‘ ืคื™ืชื•ื— ื”ืงื•ื“, ื”ืจื›ื‘ื”, ื‘ื“ื™ืงื” ื•ื”ืคืฆื” ืฉืœ ื”ืžื•ืฆืจ.

ื’ื•ื’ืœ ื”ืฆื™ืขื” SLSA ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืฉื™ื ื•ื™ื™ื ื–ื“ื•ื ื™ื™ื ื‘ืžื”ืœืš ื”ืคื™ืชื•ื—

  • ื.ื›ื•ืœืœ ืฉื™ื ื•ื™ื™ื ื‘ืงื•ื“ ื”ืžืงื•ืจ ื”ืžื›ื™ืœื™ื ื“ืœืชื•ืช ืื—ื•ืจื™ื•ืช ืื• ืฉื’ื™ืื•ืช ื ืกืชืจื•ืช ื”ืžื•ื‘ื™ืœื•ืช ืœืคืจืฆื•ืช.

    ื“ื•ื’ืžื” ืœืžืชืงืคื”: "Hypocrite Commits" - ื ื™ืกื™ื•ืŸ ืœืงื“ื ืชื™ืงื•ื ื™ื ืขื ื ืงื•ื“ื•ืช ืชื•ืจืคื” ืœืชื•ืš ืœื™ื‘ืช ืœื™ื ื•ืงืก.

    ืฉื™ื˜ืช ืื‘ื˜ื—ื” ืžื•ืฆืขืช: ืกืงื™ืจื” ืขืฆืžืื™ืช ืฉืœ ื›ืœ ืฉื™ื ื•ื™ ืขืœ ื™ื“ื™ ืฉื ื™ ืžืคืชื—ื™ื.

  • ื‘. ื”ืชืคืฉืจื•ืช ืฉืœ ืคืœื˜ืคื•ืจืžืช ื‘ืงืจืช ืงื•ื“ ื”ืžืงื•ืจ.

    ื“ื•ื’ืžื” ืœืžืชืงืคื”: ื”ื–ืจืงืช ื”ืชื—ื™ื™ื‘ื•ื™ื•ืช ื–ื“ื•ื ื™ื•ืช ืขื ื“ืœืช ืื—ื•ืจื™ืช ืœืžืื’ืจ Git ืฉืœ ืคืจื•ื™ืงื˜ PHP ืœืื—ืจ ืฉืกื™ืกืžืื•ืช ืžืคืชื—ื™ื ื“ืœืคื•.

    ืฉื™ื˜ืช ื”ื’ื ื” ืžื•ืฆืขืช: ื”ื’ื‘ืจืช ื”ืื‘ื˜ื—ื” ืฉืœ ืคืœื˜ืคื•ืจืžืช ื ื™ื”ื•ืœ ื”ืงื•ื“ (ื‘ืžืงืจื” ืฉืœ PHP, ื”ื”ืชืงืคื” ื‘ื•ืฆืขื” ื‘ืืžืฆืขื•ืช ืžืžืฉืง HTTPS ื‘ืฉื™ืžื•ืฉ ืžื•ืขื˜, ืฉืืคืฉืจ ืœืฉืœื•ื— ืฉื™ื ื•ื™ื™ื ื‘ืขืช ื”ื›ื ื™ืกื” ื‘ืืžืฆืขื•ืช ืกื™ืกืžื” ืœืœื ื‘ื“ื™ืงืช ืžืคืชื— SSH, ืœืžืจื•ืช ื”ืขื•ื‘ื“ื” ืฉ-MD5 ืœื ืืžื™ืŸ ืฉื™ืžืฉ ืœื’ื™ื‘ื•ื‘ ืกื™ืกืžืื•ืช).

  • ื’. ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื ื‘ืฉืœื‘ ื”ืขื‘ืจืช ืงื•ื“ ืœ-build ืื• ืžืขืจื›ืช ืื™ื ื˜ื’ืจืฆื™ื” ืจืฆื™ืคื” (ื ื‘ื ื” ืงื•ื“ ืฉืื™ื ื• ืชื•ืื ืœืงื•ื“ ืžื”ืžืื’ืจ).

    ื“ื•ื’ืžื” ืœื”ืชืงืคื”: ื”ื–ืจืงืช ื“ืœืช ืื—ื•ืจื™ืช ืœ-Webmin ืขืœ ื™ื“ื™ ื‘ื™ืฆื•ืข ืฉื™ื ื•ื™ื™ื ื‘ืชืฉืชื™ืช ื”-build, ื•ื›ืชื•ืฆืื” ืžื›ืš ืฉื™ืžื•ืฉ ื‘ืงื•ื‘ืฆื™ ืงื•ื“ ืฉื•ื ื™ื ืžื”ืงื‘ืฆื™ื ื‘ืžืื’ืจ.

    ืฉื™ื˜ืช ื”ื’ื ื” ืžื•ืฆืขืช: ื‘ื“ื™ืงืช ืชืงื™ื ื•ืช ื•ื–ื™ื”ื•ื™ ืžืงื•ืจ ื”ืงื•ื“ ื‘ืฉืจืช ื”-assembly.

  • ื“. ืคืฉืจื” ืฉืœ ืคืœื˜ืคื•ืจืžืช ื”ื”ืจื›ื‘ื”.

    ื“ื•ื’ืžื” ืœื”ืชืงืคื”: ืžืชืงืคืช SolarWinds, ืฉื‘ืžื”ืœื›ื” ื”ื•ื‘ื˜ื—ื” ื”ืชืงื ืช ื“ืœืช ืื—ื•ืจื™ืช ืœืžื•ืฆืจ SolarWinds Orion ื‘ืฉืœื‘ ื”ื”ืจื›ื‘ื”.

    ืฉื™ื˜ืช ื”ื’ื ื” ืžื•ืฆืขืช: ื™ื™ืฉื•ื ืืžืฆืขื™ ืื‘ื˜ื—ื” ืžืชืงื“ืžื™ื ืœืคืœื˜ืคื•ืจืžืช ื”ื”ืจื›ื‘ื”.

  • ื”. ืงื™ื“ื•ื ืงื•ื“ ื–ื“ื•ื ื™ ื‘ืืžืฆืขื•ืช ืชืœื•ืช ื‘ืื™ื›ื•ืช ื ืžื•ื›ื”.

    ื“ื•ื’ืžื” ืœื”ืชืงืคื”: ื”ื›ื ืกืช ื“ืœืช ืื—ื•ืจื™ืช ืœืกืคืจื™ื™ืช ื–ืจื ื”ืื™ืจื•ืขื™ื ื”ืคื•ืคื•ืœืจื™ืช ืขืœ ื™ื“ื™ ื”ื•ืกืคืช ืชืœื•ืช ืœื ืžื–ื™ืงื” ื•ืœืื—ืจ ืžื›ืŸ ื”ื›ืœืœืช ืงื•ื“ ื–ื“ื•ื ื™ ื‘ืื—ื“ ืžื”ืขื“ื›ื•ื ื™ื ืฉืœ ื”ืชืœื•ืช ื”ื–ื• (ื”ืฉื™ื ื•ื™ ื”ื–ื“ื•ื ื™ ืœื ื‘ื ืœื™ื“ื™ ื‘ื™ื˜ื•ื™ ื‘ืžืื’ืจ git, ืืœื ื”ื™ื” ืงื™ื™ื ืจืง ื‘ื—ื‘ื™ืœืช MNP ื”ืžื•ื’ืžืจืช).

    ืฉื™ื˜ืช ื”ื’ื ื” ืžื•ืฆืขืช: ื”ื—ืœ ืจืงื•ืจืกื™ื‘ื™ืช ื“ืจื™ืฉื•ืช SLSA ืขืœ ื›ืœ ื”ืชืœื•ืช (ื‘ืžืงืจื” ืฉืœ ื–ืจื™ืžืช ืื™ืจื•ืขื™ื, ื”ื‘ื“ื™ืงื” ืชื’ืœื” ืืช ืžื›ืœื•ืœ ื”ืงื•ื“ ืฉืื™ื ื• ืชื•ืื ืืช ื”ืชื•ื›ืŸ ืฉืœ ืžืื’ืจ Git ื”ืจืืฉื™).

  • ื•. ื”ืขืœืืช ื—ืคืฆื™ื ืฉืœื ื ื•ืฆืจื• ื‘ืžืขืจื›ืช ื”-CI/CD.

    ื“ื•ื’ืžื” ืœื”ืชืงืคื”: ื”ื•ืกืคืช ืงื•ื“ ื–ื“ื•ื ื™ ืœืกืงืจื™ืคื˜ CodeCov, ืžื” ืฉืืคืฉืจ ืœืชื•ืงืคื™ื ืœื—ืœืฅ ืžื™ื“ืข ื”ืžืื•ื—ืกืŸ ื‘ืกื‘ื™ื‘ื•ืช ืžืขืจื›ื•ืช ืื™ื ื˜ื’ืจืฆื™ื” ืจืฆื™ืคื•ืช ืฉืœ ืœืงื•ื—ื•ืช.

    ืฉื™ื˜ืช ื”ื’ื ื” ืžื•ืฆืขืช: ืฉืœื™ื˜ื” ื‘ืžืงื•ืจ ื•ื‘ืฉืœืžื•ืช ื”ื—ืคืฆื™ื (ื‘ืžืงืจื” ืฉืœ CodeCov, ื ื™ืชืŸ ื”ื™ื” ืœื’ืœื•ืช ืฉื”ืชืกืจื™ื˜ ืฉืœ Bash Uploader ืฉื ืฉืœื— ืžืืชืจ codecov.io ืื™ื ื• ืชื•ืื ืœืงื•ื“ ืžืžืื’ืจ ื”ืคืจื•ื™ืงื˜).

  • ื–. ืคืฉืจื” ืฉืœ ืžืื’ืจ ื”ื—ื‘ื™ืœื•ืช.

    ื“ื•ื’ืžื” ืœืžืชืงืคื”: ื—ื•ืงืจื™ื ื”ืฆืœื™ื—ื• ืœืคืจื•ืก ืžืจืื•ืช ืฉืœ ื›ืžื” ืžืื’ืจื™ ื—ื‘ื™ืœื•ืช ืคื•ืคื•ืœืจื™ื™ื ื›ื“ื™ ืœื”ืคื™ืฅ ื“ืจื›ื ื—ื‘ื™ืœื•ืช ื–ื“ื•ื ื™ื•ืช.

    ืฉื™ื˜ืช ื”ื’ื ื” ืžื•ืฆืขืช: ืื™ืžื•ืช ืฉื”ืคืจื™ื˜ื™ื ื”ืžื•ืคืฆื™ื ืžื•ืจื›ื‘ื™ื ืžืงื•ื“ื™ ื”ืžืงื•ืจ ื”ืžื•ืฆื”ืจื™ื.

  • ื—. ื‘ืœื‘ื•ืœ ืืช ื”ืžืฉืชืžืฉ ืœื”ืชืงื™ืŸ ืืช ื”ื—ื‘ื™ืœื” ื”ืœื ื ื›ื•ื ื”.

    ื“ื•ื’ืžื” ืœื”ืชืงืคื”: ืฉื™ืžื•ืฉ ื‘-Typosquatting (NPM, RubyGems, PyPI) ื›ื“ื™ ืœืžืงื ื—ื‘ื™ืœื•ืช ื‘ืžืื’ืจื™ื ื”ื“ื•ืžื™ื ื‘ื›ืชื‘ ืœื™ื™ืฉื•ืžื™ื ืคื•ืคื•ืœืจื™ื™ื (ืœื“ื•ื’ืžื”, coffe-script ื‘ืžืงื•ื coffee-script).

ื›ื“ื™ ืœื—ืกื•ื ืืช ื”ืื™ื•ืžื™ื ื”ืžืกื•ืžื ื™ื, SLSA ืžืฆื™ืขื” ืงื‘ื•ืฆื” ืฉืœ ื”ืžืœืฆื•ืช, ื›ืžื• ื’ื ื›ืœื™ื ืœืื•ื˜ื•ืžืฆื™ื” ืฉืœ ื™ืฆื™ืจืช ืžื˜ื ื ืชื•ื ื™ื ืฉืœ ื‘ื™ืงื•ืจืช. SLSA ืžืกื›ื ืฉื™ื˜ื•ืช ืชืงื™ืคื” ื ืคื•ืฆื•ืช ื•ืžืฆื™ื’ ืืช ื”ืจืขื™ื•ืŸ ืฉืœ ืฉื›ื‘ื•ืช ืื‘ื˜ื—ื”. ื›ืœ ืจืžื” ืžื˜ื™ืœื” ื“ืจื™ืฉื•ืช ืชืฉืชื™ืช ืžืกื•ื™ืžื•ืช ื›ื“ื™ ืœื”ื‘ื˜ื™ื— ืืช ืฉืœืžื•ืช ื”ื—ืคืฆื™ื ื”ืžืฉืžืฉื™ื ื‘ืคื™ืชื•ื—. ื›ื›ืœ ืฉืจืžืช ื”-SLSA ื”ื ืชืžื›ืช ื’ื‘ื•ื”ื” ื™ื•ืชืจ, ื›ืš ืžื™ื•ืฉืžื•ืช ื™ื•ืชืจ ื”ื’ื ื•ืช ื•ื”ืชืฉืชื™ืช ืžื•ื’ื ืช ื˜ื•ื‘ ื™ื•ืชืจ ืžืคื ื™ ื”ืชืงืคื•ืช ื ืคื•ืฆื•ืช.

  • SLSA 1 ืžื—ื™ื™ื‘ ืฉืชื”ืœื™ืš ื”ื‘ื ื™ื™ื” ื™ื”ื™ื” ืื•ื˜ื•ืžื˜ื™ ืœื—ืœื•ื˜ื™ืŸ ื•ื™ื™ืฆื•ืจ ืžื˜ื-ื ืชื•ื ื™ื ("ืžืงื•ืจ") ืœื’ื‘ื™ ืื•ืคืŸ ื‘ื ื™ื™ืช ื”ื—ืคืฆื™ื, ื›ื•ืœืœ ืžื™ื“ืข ืขืœ ืžืงื•ืจื•ืช, ืชืœื•ืช ื•ืชื”ืœื™ืš ื”ื‘ื ื™ื™ื” (ืžื—ื•ืœืœ ืžื˜ื-ื ืชื•ื ื™ื ืœื“ื•ื’ืžื” ืœื‘ื™ืงื•ืจืช ืžืกื•ืคืง ืขื‘ื•ืจ ืคืขื•ืœื•ืช GitHub). SLSA 1 ืื™ื ื• ื›ื•ืœืœ ืืœืžื ื˜ื™ื ืฉืœ ื”ื’ื ื” ืžืคื ื™ ืฉื™ื ื•ื™ื™ื ื–ื“ื•ื ื™ื™ื, ืืœื ืคืฉื•ื˜ ืžื–ื”ื” ืงื•ื“ ื•ืžืกืคืง ืžื˜ื ื ืชื•ื ื™ื ืœื ื™ื”ื•ืœ ืคื’ื™ืขื•ืช ื•ื ื™ืชื•ื— ืกื™ื›ื•ื ื™ื.
  • SLSA 2 - ืžืจื—ื™ื‘ ืืช ื”ืจืžื” ื”ืจืืฉื•ื ื” ืขืœ ื™ื“ื™ ื“ืจื™ืฉืช ืฉื™ืžื•ืฉ ื‘ืฉื™ืจื•ืชื™ ื‘ืงืจืช ื’ืจืกืื•ืช ื•ื”ืจื›ื‘ื” ื”ืžื™ื™ืฆืจื™ื ืžื˜ื ื ืชื•ื ื™ื ืžืื•ืžืชื™ื. ื”ืฉื™ืžื•ืฉ ื‘-SLSA 2 ืžืืคืฉืจ ืœืš ืœื”ืชื—ืงื•ืช ืื—ืจ ืžืงื•ืจ ื”ืงื•ื“ ื•ืžื•ื ืข ืฉื™ื ื•ื™ื™ื ืœื ืžื•ืจืฉื™ื ื‘ืงื•ื“ ื‘ืžืงืจื” ืฉืœ ืฉื™ืจื•ืชื™ ื‘ื ื™ื™ื” ืžื”ื™ืžื ื™ื.
  • SLSA 3 - ืžืืฉืจ ืฉืงื•ื“ ื”ืžืงื•ืจ ื•ืคืœื˜ืคื•ืจืžืช ื”ื‘ื ื™ื™ื” ืขื•ืžื“ื™ื ื‘ื“ืจื™ืฉื•ืช ืฉืœ ืชืงื ื™ื ื”ืžื‘ื˜ื™ื—ื™ื ื™ื›ื•ืœืช ื‘ื™ืงื•ืจืช ืขืœ ื”ืงื•ื“ ื•ืžื‘ื˜ื™ื—ื™ื ืืช ืฉืœืžื•ืช ื”ืžื˜ื-ื ืชื•ื ื™ื ืฉืกื•ืคืงื•. ื”ื”ื ื—ื” ื”ื™ื ืฉืžื‘ืงืจื™ื ื™ื›ื•ืœื™ื ืœืืฉืจ ืคืœื˜ืคื•ืจืžื•ืช ื›ื ื’ื“ ื“ืจื™ืฉื•ืช ื”ืชืงื ื™ื.
  • SLSA 4 ื”ื™ื ื”ืจืžื” ื”ื’ื‘ื•ื”ื” ื‘ื™ื•ืชืจ, ืžืฉืœื™ืžื” ืืช ื”ืจืžื•ืช ื”ืงื•ื“ืžื•ืช ืขื ื”ื“ืจื™ืฉื•ืช ื”ื‘ืื•ืช:
    • ื‘ื“ื™ืงื” ื—ื•ื‘ื” ืฉืœ ื›ืœ ื”ืฉื™ื ื•ื™ื™ื ืขืœ ื™ื“ื™ ืฉื ื™ ืžืคืชื—ื™ื ืฉื•ื ื™ื.
    • ื™ืฉ ืœื”ืฆื”ื™ืจ ื‘ืื•ืคืŸ ืžืœื ืขืœ ื›ืœ ืฉืœื‘ื™ ื”ื‘ื ื™ื™ื”, ื”ืงื•ื“ ื•ื”ืชืœื•ืช, ื™ืฉ ืœื—ืœืฅ ื•ืœืืžืช ืืช ื›ืœ ื”ืชืœื•ืช ื‘ื ืคืจื“, ื•ืชื”ืœื™ืš ื”ื‘ื ื™ื™ื” ื—ื™ื™ื‘ ืœื”ืชื‘ืฆืข ื‘ืžืฆื‘ ืœื ืžืงื•ื•ืŸ.
    • ืฉื™ืžื•ืฉ ื‘ืชื”ืœื™ืš ื‘ื ื™ื™ื” ืฉื ื™ืชืŸ ืœื—ื–ื•ืจ ืขืœื™ื• ืžืืคืฉืจ ืœืš ืœื—ื–ื•ืจ ืขืœ ืชื”ืœื™ืš ื”ื‘ื ื™ื™ื” ื‘ืขืฆืžืš ื•ืœื”ื‘ื˜ื™ื— ืฉืงื•ื‘ืฅ ื”ื”ืคืขืœื” ื ื‘ื ื” ืžืงื•ื“ ื”ืžืงื•ืจ ืฉืกื•ืคืง.

    ื’ื•ื’ืœ ื”ืฆื™ืขื” SLSA ื›ื“ื™ ืœื”ื’ืŸ ืžืคื ื™ ืฉื™ื ื•ื™ื™ื ื–ื“ื•ื ื™ื™ื ื‘ืžื”ืœืš ื”ืคื™ืชื•ื—


    ืžืงื•ืจ: OpenNet.ru

ื”ื•ืกืคืช ืชื’ื•ื‘ื”