Тайм-бомбы в проектах = вечный заработок

User avatar
liamkin
Уже с Приветом
Posts: 2643
Joined: 19 Jun 2003 20:22
Location: USA

Тайм-бомбы в проектах = вечный заработок

Post by liamkin »

https://yro.slashdot.org/story/19/12/19 ... t-new-work

logic bombs Tinley surreptitiously planted into his projects caused them to malfunction after a certain preset amount of time. Because Siemens managers were unaware of the logic bombs and didn't know the cause of the malfunctions, they would call Tinley and ask him to fix the misbehaving projects
...
was sentenced to six months in prison and a fine of $7,500 in the scheme
...
А прокурор просил
faced as much as 10 years in prison and a $250,000 fine.
....

Что-то похожее видели? У нас парочка людей уволилась, и недолго после их ухода система ушла в даун. Некий сервис-аккаунт протух. Тайм-бомба? Тайм-бомба. Судить уродов!
:mrgreen:
deev_a_v
Уже с Приветом
Posts: 4667
Joined: 07 Apr 2018 15:16

Re: Тайм-бомбы в проектах = вечный заработок

Post by deev_a_v »

User avatar
Serguei666
Уже с Приветом
Posts: 18917
Joined: 11 Jul 2003 01:00

Re: Тайм-бомбы в проектах = вечный заработок

Post by Serguei666 »

liamkin wrote: 20 Dec 2019 15:18 https://yro.slashdot.org/story/19/12/19 ... t-new-work

logic bombs Tinley surreptitiously planted into his projects caused them to malfunction after a certain preset amount of time. Because Siemens managers were unaware of the logic bombs and didn't know the cause of the malfunctions, they would call Tinley and ask him to fix the misbehaving projects
...
was sentenced to six months in prison and a fine of $7,500 in the scheme
...
А прокурор просил
faced as much as 10 years in prison and a $250,000 fine.
....

Что-то похожее видели? У нас парочка людей уволилась, и недолго после их ухода система ушла в даун. Некий сервис-аккаунт протух. Тайм-бомба? Тайм-бомба. Судить уродов!
:mrgreen:
Чтобы осудить, нужно доказать преднамеренность
А в вашем случае просто забыли вовремя пароль сменить
User avatar
liamkin
Уже с Приветом
Posts: 2643
Joined: 19 Jun 2003 20:22
Location: USA

Re: Тайм-бомбы в проектах = вечный заработок

Post by liamkin »

да. Интересная статейка. Премии и дачи в ответ на фиксы на АвтоВАЗе.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Тайм-бомбы в проектах = вечный заработок

Post by Мальчик-Одуванчик »

Дыра может быть и результатом обычного головотяпства.
В одной известной мне системе хранения данных был некий вторичный счетчик, используемый в контроле версий.
Он ограничивался 16 разрядами, а потом системе приходил кирдык. При нормальном использовании в нашей конторе его бы хватило лет на тридцать.
Но пришли эффективные менеджеры и решили заавтоматизировать всё и вся. Это еще совпало с покупкой сторонней компании, код которой тоже необходимо было внести в систему с сохранением истории. А вот там история насчитывала уже больше десятка лет активных изменений.
Первый раз её внесли нейдачно, а после второго раза счётчику оставалось не больше пары лет.
User avatar
Мальчик-Одуванчик
Уже с Приветом
Posts: 15526
Joined: 27 Sep 2007 22:53

Re: Тайм-бомбы в проектах = вечный заработок

Post by Мальчик-Одуванчик »

liamkin wrote: 20 Dec 2019 15:18 Что-то похожее видели? У нас парочка людей уволилась, и недолго после их ухода система ушла в даун. Некий сервис-аккаунт протух. Тайм-бомба? Тайм-бомба. Судить уродов!
Самый простой случай если уволившийся человек занимался в том числе и обновлением сертификатов для разрабатываемого или поддерживаемого им приложения . Чаще всего эта процедура не формализована, не документирована и при уходе он мог просто забыть или не захотеть передавать эти знания. Вот и бомбануло.
User avatar
katit
Уже с Приветом
Posts: 23804
Joined: 05 Jul 2003 22:34
Location: Брест -> St. Louis, MO

Re: Тайм-бомбы в проектах = вечный заработок

Post by katit »

Вечный не зню, но я вставлял - только из соображений "а вдруг не заплатят" :umnik1:
Потом есс-но убирал сразу. Но один раз забыл :oops:
Лучше водки — хуже нет! ©
User avatar
Helmsman
Уже с Приветом
Posts: 6450
Joined: 15 May 2003 00:04
Location: LA

Re: Тайм-бомбы в проектах = вечный заработок

Post by Helmsman »

Мальчик-Одуванчик wrote: 20 Dec 2019 23:19 Дыра может быть и результатом обычного головотяпства.
В одной известной мне системе хранения данных был некий вторичный счетчик, используемый в контроле версий.
Он ограничивался 16 разрядами, а потом системе приходил кирдык. При нормальном использовании в нашей конторе его бы хватило лет на тридцать.
Но пришли эффективные менеджеры и решили заавтоматизировать всё и вся. Это еще совпало с покупкой сторонней компании, код которой тоже необходимо было внести в систему с сохранением истории. А вот там история насчитывала уже больше десятка лет активных изменений.
Первый раз её внесли нейдачно, а после второго раза счётчику оставалось не больше пары лет.
Бывает и "так задумано". Месяц назад занимался "проблемой 2020": у тестеров при переходе через 2020 слетали даты. Нашли древнюю функцию для добавления времени к дате. Оказалось, что она не может добавить больше 20 лет, ну а поскольку многие старые даты при конверсии заменили на 1/1/2000 получили то, что получили. Решение? Ведущие индусские умы отложили проблему на 10 лет, заменив ограничение в 20 лет на 30, хоть и советовали им убрать оное нафиг.
vdfs
Уже с Приветом
Posts: 668
Joined: 24 Dec 2015 07:50
Location: Madison, WI

Re: Тайм-бомбы в проектах = вечный заработок

Post by vdfs »

Helmsman wrote: 21 Dec 2019 00:41 Нашли древнюю функцию для добавления времени к дате
На чем же вы там пишете, что нет готовой функции добавления времени к дате?
User avatar
Helmsman
Уже с Приветом
Posts: 6450
Joined: 15 May 2003 00:04
Location: LA

Re: Тайм-бомбы в проектах = вечный заработок

Post by Helmsman »

Cobol/C/Pro*C. Функция на C. Когда-то 25 лет назад отцы-основатели написали свой набор функций для манипуляций с датами, которыми все пользуются. Там есть мелкие отклонения от стандарта, почему сделали именно так - не помню.
ystar
Уже с Приветом
Posts: 1039
Joined: 27 Apr 2014 17:13
Location: USA

Re: Тайм-бомбы в проектах = вечный заработок

Post by ystar »

liamkin wrote: 20 Dec 2019 15:18 https://yro.slashdot.org/story/19/12/19 ... t-new-work

logic bombs Tinley surreptitiously planted into his projects caused them to malfunction after a certain preset amount of time. Because Siemens managers were unaware of the logic bombs and didn't know the cause of the malfunctions, they would call Tinley and ask him to fix the misbehaving projects
...
was sentenced to six months in prison and a fine of $7,500 in the scheme
...
А прокурор просил
faced as much as 10 years in prison and a $250,000 fine.
....

Что-то похожее видели? У нас парочка людей уволилась, и недолго после их ухода система ушла в даун. Некий сервис-аккаунт протух. Тайм-бомба? Тайм-бомба. Судить уродов!
:mrgreen:
а мне после увольнения прошлая работа перестала платить. 8)
Бубновый Валет
Уже с Приветом
Posts: 474
Joined: 01 Nov 2017 21:42

Re: Тайм-бомбы в проектах = вечный заработок

Post by Бубновый Валет »

У нас в конторе программисты так тесты пишут, что они начинают валиться со временем)

А вообще - было бы желание, можно было бы сделать такую тайм-бомбу, к которой хрен подкопаешься. Зависимость от внешнего сервиса прописал и не оплатил его. Вот тебе и тайм-бомба.
voyager3
Уже с Приветом
Posts: 1964
Joined: 11 Mar 2015 01:12

Re: Тайм-бомбы в проектах = вечный заработок

Post by voyager3 »

Бубновый Валет wrote: 22 Dec 2019 01:29 У нас в конторе программисты так тесты пишут, что они начинают валиться со временем)

А вообще - было бы желание, можно было бы сделать такую тайм-бомбу, к которой хрен подкопаешься. Зависимость от внешнего сервиса прописал и не оплатил его. Вот тебе и тайм-бомба.
Клауд называется.
ystar
Уже с Приветом
Posts: 1039
Joined: 27 Apr 2014 17:13
Location: USA

Re: Тайм-бомбы в проектах = вечный заработок

Post by ystar »

Бубновый Валет wrote: 22 Dec 2019 01:29 У нас в конторе программисты так тесты пишут, что они начинают валиться со временем)

А вообще - было бы желание, можно было бы сделать такую тайм-бомбу, к которой хрен подкопаешься. Зависимость от внешнего сервиса прописал и не оплатил его. Вот тебе и тайм-бомба.
так почему тесты валятся выяснили?
у меня здесь несколько причиню. И первая из них: о тестовых данных не позаботились, особенно если много зависимостей между сущностями.
Т.е. взяли то, что сейчас есть в базе, и захардкодили. потом что-то в базе поменялось/удалилось - этих объектов уже нет.
По более правильному пути, нужно каждый тест делать изолированными, т.е. в before методе создать все необходимые объекты, а в after методе удалить все созданные объекты.
Потом все это обернуть в CI и гонять, через заданный промежуток времени. Хорошо ещё разбить по приоритету. P0 запускать каждый билд на тестовый сервер, а P3 можно только в регресию прогонять. т.к. апи 1 тест это 1 секунда, а 100 тестов уже полторы минуты, а 1000 уже никто ждать не будет.
nyekimov
Уже с Приветом
Posts: 2761
Joined: 11 Jul 2015 19:01
Location: Chicago

Re: Тайм-бомбы в проектах = вечный заработок

Post by nyekimov »

ystar wrote: 22 Dec 2019 23:45
Бубновый Валет wrote: 22 Dec 2019 01:29 У нас в конторе программисты так тесты пишут, что они начинают валиться со временем)

А вообще - было бы желание, можно было бы сделать такую тайм-бомбу, к которой хрен подкопаешься. Зависимость от внешнего сервиса прописал и не оплатил его. Вот тебе и тайм-бомба.
так почему тесты валятся выяснили?
у меня здесь несколько причиню. И первая из них: о тестовых данных не позаботились, особенно если много зависимостей между сущностями.
Т.е. взяли то, что сейчас есть в базе, и захардкодили. потом что-то в базе поменялось/удалилось - этих объектов уже нет.
По более правильному пути, нужно каждый тест делать изолированными, т.е. в before методе создать все необходимые объекты, а в after методе удалить все созданные объекты.
Потом все это обернуть в CI и гонять, через заданный промежуток времени. Хорошо ещё разбить по приоритету. P0 запускать каждый билд на тестовый сервер, а P3 можно только в регресию прогонять. т.к. апи 1 тест это 1 секунда, а 100 тестов уже полторы минуты, а 1000 уже никто ждать не будет.
Разве база данных не должна изолироваться от логики и логика тестироваться без базы с dependency injection и мок данными? Или вы больше об integrational testing говорите?

Согласен, что тесты занимают много времени. Особенно в зависимости от платформ, например иос или андроид снэпшот тэстин для ui занимает кучу времени, так как каждый раз изолированно разворачивается и сворачивается симулятор.
Но тогда опять же можно разбивать тесты по приоритетам и назначению и на каждом пул риквесте гонять только что то важное. А вот общий ригрешн только по ночам.

Сейчас конечно зависит от компании, но у меня сложилось мнение, что специально нанимают автотестеров для поддержания тестов на легаси коде. В придачу к разработке всяких large tests.

Return to “Работа и Карьера в IT”