Проверите шта улази у верзију за објављивање
ЗавршеноИспитајте зависности, улазне податке за build и порекло артефакта. Повежите прегледани изворни код са софтвером који стиже у продукцију.
Објављује TaigaКако пишемо
Проверите разумевањеСкенирање зависности не пријављује познате рањивости. Шта то доказује?Урадите вежбу
Шта ћете научити
- Разликујте инвентар зависности од доказа о безбедности.
- Објасните зашто назив пакета и успешна инсталација нису довољни.
- Пратите артефакт до његовог извора и поступка израде.
Питајте да ли је зависност потребна
Агент може да предложи пакет који наизглед решава проблем. То је предлог, а не доказ да пакет постоји или да је погодан. Пре инсталације проверите тачан регистар, издавача, назив пакета и верзију.
За измишљени CSV извоз извршно окружење можда већ обезбеђује потребно понашање. Нов пакет и даље може да буде одговарајући, али додаје одржавање и путање извршавања. Упоредите рад на имплементацији са трајним обавезама које зависност доноси.
Прегледајте лиценцу и подржано извршно окружење. Испитајте активност одржавања и релевантна безбедносна обавештења. Познат назив може да означава други пакет у другом регистру. Успешна инсталација показује само да је инсталација завршена.
Испитајте понашање при инсталацији и изради
Зависности могу да извршавају код током инсталације или build поступка. Ограничите акредитиве и мрежни приступ у тим окружењима. Не излажите продукционе тајне послу који обрађује непоуздан pull request.
Користите lockfile сачуван у репозиторијуму тамо где га екосистем подржава. Захтевајте да build поштује ту датотеку. Прегледајте промене lockfile датотеке заједно са променом извора, укључујући неочекиване транзитивне пакете. Фиксирање верзија побољшава поновљивост, али не чини рањиву верзију безбедном.
NIST SSDF обухвата заштиту софтвера и развојну праксу током целог животног циклуса. Користите ту ширу перспективу при пројектовању окружења за израду. Прочитајте оквир.
Раздвојите инвентар од порекла
Software bill of materials, односно SBOM, бележи компоненте софтвера. Помаже да утврдите погођене верзије када нека компонента постане разлог за забринутост. Сам по себи не доказује да су компоненте безбедне.
Порекло артефакта описује како је он произведен. SLSA дефинише формат за информације о изради и њеним улазним подацима. Провера мора да повеже те информације са поузданим произвођачем и артефактом који намеравате да користите. Датотека названа „provenance” није довољна. SLSA provenance.
За сервис извоза забележите ланац који можете да испитате:
- Прегледани commit идентификује прихваћени изворни код.
- Build идентификује своје улазне податке и окружење извршавања.
- Артефакт има стабилан криптографски сажетак.
- Провере идентификују артефакт или извор који су испитале.
- Запис о постављању бележи артефакт постављен у циљно окружење.
Избегавајте другачију поновну израду после одобрења без дефинисаног поступка провере. Променљива ознака попут latest касније може да означава другу слику.
Одлучите шта налаз значи
Налаз рањивости захтева контекст: погођену верзију, понашање до ког се може доћи, изложеност, доступну исправку и последице. Забележите доказе иза сваког привременог изузетка. Одредите одговорну особу, рок важења и услов за преиспитивање.
Не искључујте цео скенер зато што један налаз није применљив. Не тврдите да је резултат чист ако скенирање није завршено. Прекорачење временског ограничења, неподржан пакет или недоступан извор безбедносних обавештења значе да докази недостају.
На крају планирајте ажурирања после објављивања. Нова обавештења могу да утичу на јуче прихваћени артефакт. Особи одговорној за сервис потребни су инвентар, поступак реаговања и капацитет за израду исправљене верзије.
Наставите са непрекидним управљањем рањивостима да повежете поновљена скенирања са провереним исправкама у продукцији.
Урадите вежбу
Изаберите измишљену промену CSV извоза која додаје пакет. Напишите белешку о прихватању која обухвата неопходност, тачан идентитет пакета, верзију, лиценцу, одржавање, налазе рањивости и понашање при инсталацији. Нацртајте путању од прегледаног commit записа до постављеног артефакта.
Преузми радни лист (Markdown)Искључивање ове опције брише сав напредак сачуван у овом прегледачу.
Напредак остаје у овом прегледачу. Без налога и праћења.