LINUX.ORG.RU

История изменений

Исправление Manhunt, (текущая версия) :

Значит, большая часть людей её не получат. Все дистры собирают компиляторы из сырцов, так что проблемы считай нет.

Сборка из компилятора из сорцов - да, это минимальная гигиена, без которой вообще никак.

Однако теоретически, компилятор go может по каким-то признакам распознавать, что собирает сейчас компилятор go, и встраивать в бинарный код эту самую закладку.

Теоретически проблема с бинарным встраиванием закладки в новый билд компилятора должна решаться за счет того, что следующую версию компилятора всегда можно собрать с помощью предыдущей. А самая старая версия компилятора вообще написана на каком-нибудь Си, и может быть собрана доверенным компилятором Си. И все версии, которые образуют цепочку от Си до современного компилятора, на самом деле можно раздобыть. И всё это умеет работать оффлайн. Тогда проводим аудит исходников всех промежуточных версий компилятора, собираем их все по цепочке, profit.

Но что-то я не уверен, что конкретно в случае Go, всё необходимое для такого воспроизведения - на самом деле доступно.

И такой объемный аудит будет стоить немеряных бабок. У какого-нибудь правительства Китая эти деньги/ресурсы может быть и есть, а вот у просто-сообщества ... думаю, что нет.

Исправление Manhunt, :

Значит, большая часть людей её не получат. Все дистры собирают компиляторы из сырцов, так что проблемы считай нет.

Сборка из компилятора из сорцов - да, это минимальная гигиена, без которой вообще никак.

Однако теоретически, компилятор go может по каким-то признакам распознавать, что собирает сейчас компилятор go, и встраивать в бинарный код эту самую закладку.

Теоретически проблема с бинарным встраиванием закладки в новый билд компилятора должна решаться за счет того, что следующую версию компилятора всегда можно собрать с помощью предыдущей. А самая старая версия компилятора вообще написана на каком-нибудь Си, и может быть собрана доверенным компилятором Си. И все версии, которые образуют цепочку от Си до современного компилятора, на самом деле можно раздобыть. И всё это умеет работать оффлайн. Тогда проводим аудит исходников всех промежуточных версий компилятора, собираем их все по цепочке, profit.

Но что-то я не уверен, что конкретно в случае Go, всё необходимое для такого воспроизведения - на самом деле доступно.

И бабок это мероприятие будет стоить немеряных. У какого-нибудь правительства Китая такие деньги/ресурсы может быть и есть, а вот у просто-сообщества ... думаю, что нет.

Исправление Manhunt, :

Значит, большая часть людей её не получат. Все дистры собирают компиляторы из сырцов, так что проблемы считай нет.

Сборка из компилятора из сорцов - да, это минимальная гигиена, без которой вообще никак.

Однако теоретически, компилятор go может по каким-то признакам распознавать, что собирает сейчас компилятор go, и встраивать в бинарный код эту самую закладку.

Теоретически проблема с бинарным встраиванием закладки в новый билд компилятора должна решаться за счет того, что следующую версию компилятора всегда можно собрать с помощью предыдущей. А самая старая версия компилятора вообще написана на каком-нибудь Си, и может быть собрана доверенным компилятором Си. И все версии, которые образуют цепочку от Си до современного компилятора, на самом деле можно раздобыть. И всё это умеет работать оффлайн. Тогда проводим аудит исходников всех промежуточных версий компилятора, собираем их все по цепочке, profit.

Но что-то я не уверен, что конкретно в случае Go, всё необходимое для такого воспроизведения - на самом деле доступно.

Исходная версия Manhunt, :

Значит, большая часть людей её не получат. Все дистры собирают компиляторы из сырцов, так что проблемы считай нет.

Сборка из компилятора из сорцов - да, это минимальная гигиена, без которой вообще никак.

Однако теоретически, компилятор go может по каким-то признакам распознавать, что собирает сейчас компилятор go, и встраивать в бинарный код эту самую закладку.