LINUX.ORG.RU

Анонсирован первый конкурс недобросовестного программирования на Rust

 


4

9

Команда Rust анонсирует первый ежегодный конкурс «недобросовестного Rust» по мотивам существующих конкурсов «недобросовестного C» и «недобросовестной криптографии».

Задача Rust — сделать доступным написание безопасного низкоуровневого кода, защищённого от случайных уязвимостей. Меньше времени уделяется возможности Rust защитить от умышленного внедрения уязвимостей при бдительном обзоре кода. Конкурс предназначен для обнаружения и устранения возможных слабостей языка и его экосистемы. Иными словами, авторы просят вас сломать систему с помощью достаточно лёгкого для понимания кода. Можете ли вы написать полностью safe-Rust, скрывающий логический баг, или скрыть в unsafe-Rust уязвимость, которая не обнаружится при обзоре кода?

>>> Подробности

anonymous

Проверено: Shaman007 ()
Последнее исправление: sudopacman (всего исправлений: 2)

конкурс недобросовестного программирования на Rust

Мозилла займет все места как единственный, кто использует Раст?

anonymous
()

Как вариант - давать студентам лабы на расте, не говоря подтекст. Эти-то могут что угодно испортить.

GblGbl ★★★★★
()
Ответ на: комментарий от GblGbl

давать студентам лабы
достаточно легкого для понимания кода

Думаю их дисквалифицируют

Deleted
()

Пора приравнять использование машинного перевода к употребленитю распространению наркотических веществ. И, соответственно, ввести за это уголовную ответственность.

anonymous
()

Можете ли вы написать полностью safe-Rust

только Hello, World))

Deleted
()

полностью safe-Rust скрывающий логический баг

Кривой перевод или я чего-то не понимаю: логический баг - это баг в алгоритме(на бумажке, на блоксхеме), а то что имелось в виду - ошибка кодирования.

FeyFre ★★★★
()
Ответ на: комментарий от FeyFre

Именно логический, что странно.

Хотя дальше ещё страннее:

or hide an exploit in unsafe Rust that passes an audit

Но в unsafe можно делать что угодно...

RazrFalcon ★★★★★
()

написать код на расте, который успешно скомпилируется, а потом навернется, не проблема, как и в любом другом языке
например, использовать указатели типа *const T или *mut T

kto_tama ★★★★★
()
Ответ на: комментарий от anonymous

Лучше наоборот приравнять употребление к машинному переводу и отменить ответственность.

droserasprout ★★
()

Зачем здесь этот спам?

Можете ли вы написать полностью safe-Rust скрывающий логический баг

Это можно на любом языке. Причем тут safe-rust? Safety тоже ломается легко, все уже в курсе, как.

или скрыть уязвимость в unsafe-Rust которая не обнаружится при обзоре кода?

Тупо вызов уязвимой внешней библиотеки, написанной на любом другом языке.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от anonymous

«Пора приравнять использование машинного перевода к употребленитю распространению наркотических веществ. И, соответственно, ввести за это уголовную ответственность.»

Надо бороться с причинами, а не следствиями. Лучше ввести уголовную ответственность за незнание английского языка.

anonymous
()

Сегодня программист на Rust, а завтра родину^W Firefox продаст

buddhist ★★★★★
()
Ответ на: Зачем здесь этот спам? от shkolnick-kun

Safety тоже ломается легко, все уже в курсе, как.

Напиши - приз получишь. Всё лучше, чем Кассандрой верещать на ЛОР.

или скрыть уязвимость в unsafe-Rust которая не обнаружится при обзоре кода?

Тупо вызов уязвимой внешней библиотеки, написанной на любом другом языке.

скрыть уязвимость в unsafe-Rust

вызов внешней библиотеки, написанной на другом языке.

okay.jpg

tailgunner ★★★★★
()
Ответ на: комментарий от Aceler

Как минимум эти на слуху: beget, canonical, ceph, coursera, dropbox, ethcore, ovh

makoven ★★★★★
()
Последнее исправление: makoven (всего исправлений: 1)

в расте есть еще один тип указателей
Rc<T> - reference counted pointer
в документации прямо сказано, что он потоко-Не-безопасен

kto_tama ★★★★★
()
Последнее исправление: kto_tama (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Напиши - приз получишь.

Nyet, tovarish.

У меня работки много, я даже в BuguRTOS коммитить перестал, а ты хочешь, чтобы я поработал на пеар-отдел мозилки.

shkolnick-kun ★★★★★
()
Ответ на: комментарий от shkolnick-kun

Напиши - приз получишь.

Nyet, tovarish.

Окей.

ты хочешь, чтобы я поработал на пеар-отдел мозилки.

Я хочу, чтобы ты поработал на пиар себя. Всё лучше, чем коммитить в бугуртос.

tailgunner ★★★★★
()
Ответ на: комментарий от kto_tama

Rc<T> - reference counted pointer

в документации прямо сказано, что он потоко-Не-безопасен

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

tailgunner ★★★★★
()

с помощью достаточно легкого для понимания кода

Rust

Нечеловечески трудные условия у конкурса.

CARS ★★★★
()
Ответ на: комментарий от dmxrand

Если ты используешь требование «писать только на Си и Си++» как признак наличия ума, у меня для тебя плохие новости.

tailgunner ★★★★★
()
Ответ на: комментарий от dmxrand

заказчику с твоим кодом потом жить.

Откуда ты знаешь, что я пишу не одноразовые поделки, которые выбрасываются после одного запуска? А откуда ты знаешь, с чем живет заказчик, помимо моего кода?

tailgunner ★★★★★
()
Ответ на: комментарий от tailgunner

Откуда ты знаешь, что я пишу не одноразовые поделки, которые выбрасываются после одного запуска?

Что, то унутре говорит....

dmxrand
()
Ответ на: комментарий от tailgunner

Добрый совет: вали от такого заказчика. При желании предлог «от» в предыдущем предложении можно упустить.

anonymous
()
Ответ на: комментарий от tailgunner

А как же программирование «для себя» и изучение нового? Вы так часто появляетесь в темах о Rust, что мне даже не вериться, что между вами нечего нет.

anonymous
()
Ответ на: комментарий от RazrFalcon

Ну там и связный список без unsafe не сделаешь, так что использование unsafe не такое уж из ряда вон выходящее событие.

h4tr3d ★★★★★
()
Ответ на: комментарий от tailgunner

Пока я сделал из Си++ эрзац-Rust и в основном доволен.

Статья или блого-пост на тему есть? Сравнить со своим опытом интересно.

h4tr3d ★★★★★
()
Ответ на: комментарий от h4tr3d

Ну там и связный список без unsafe не сделаешь

Сделаешь: http://cglab.ca/~abeinges/blah/too-many-lists/book/ Хотя... ты, наверное, и делать не станешь.

Пока я сделал из Си++ эрзац-Rust и в основном доволен.

Статья или блого-пост на тему есть?

Нет. Я не веду блог и не думаю, что мои упражнения с Си++0x кому-то интересны. Если вкратце - на variadic templates делается sum type, и понеслась.

tailgunner ★★★★★
()
Последнее исправление: tailgunner (всего исправлений: 1)
Ответ на: комментарий от tailgunner

Хотя... ты, наверное, и делать не станешь.

Ага, не стану. Но, как минимум, почитаю :)

h4tr3d ★★★★★
()
Ответ на: комментарий от anonymous

А как же программирование «для себя» и изучение нового?

Хелловорлды? Я написал немного - неинтересно писать код, который нигде не пригодится. А на участие в опенсорсе нет времени (дешевая отмазка, я знаю).

Вы так часто появляетесь в темах о Rust

Компенсация :/

tailgunner ★★★★★
()

Можете ли вы написать полностью safe-Rust скрывающий логический баг, или скрыть уязвимость в unsafe-Rust которая не обнаружится при обзоре кода?

да любая ошибка с копипастой.

NextGenenration ★★
()
Ответ на: комментарий от NextGenenration

да любая ошибка с копипастой.

Вы хоть читали по ссылке? Они хотят, что бы за упоминание своего имени, а так же если повезёт 1 и 2, вы нашли бы ошибки в экосистеме rust или в самом ЯП... Казалось бы, при чём тут копипаста?

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.