;(function() { window.createMeasureObserver = (measureName) => { var markPrefix = `_uol-measure-${measureName}-${new Date().getTime()}`; performance.mark(`${markPrefix}-start`); return { end: function() { performance.mark(`${markPrefix}-end`); performance.measure(`uol-measure-${measureName}`, `${markPrefix}-start`, `${markPrefix}-end`); performance.clearMarks(`${markPrefix}-start`); performance.clearMarks(`${markPrefix}-end`); } } }; /** * Gerenciador de eventos */ window.gevent = { stack: [], RUN_ONCE: true, on: function(name, callback, once) { this.stack.push([name, callback, !!once]); }, emit: function(name, args) { for (var i = this.stack.length, item; i--;) { item = this.stack[i]; if (item[0] === name) { item[1](args); if (item[2]) { this.stack.splice(i, 1); } } } } }; var runningSearch = false; var hadAnEvent = true; var elementsToWatch = window.elementsToWatch = new Map(); var innerHeight = window.innerHeight; // timestamp da última rodada do requestAnimationFrame // É usado para limitar a procura por elementos visíveis. var lastAnimationTS = 0; // verifica se elemento está no viewport do usuário var isElementInViewport = function(el) { var rect = el.getBoundingClientRect(); var clientHeight = window.innerHeight || document.documentElement.clientHeight; // renderizando antes, evitando troca de conteúdo visível no chartbeat-related-content if(el.className.includes('related-content-front')) return true; // garante que usa ao mínimo 280px de margem para fazer o lazyload var margin = clientHeight + Math.max(280, clientHeight * 0.2); // se a base do componente está acima da altura da tela do usuário, está oculto if(rect.bottom < 0 && rect.bottom > margin * -1) { return false; } // se o topo do elemento está abaixo da altura da tela do usuário, está oculto if(rect.top > margin) { return false; } // se a posição do topo é negativa, verifica se a altura dele ainda // compensa o que já foi scrollado if(rect.top < 0 && rect.height + rect.top < 0) { return false; } return true; }; var asynxNextFreeTime = () => { return new Promise((resolve) => { if(window.requestIdleCallback) { window.requestIdleCallback(resolve, { timeout: 5000, }); } else { window.requestAnimationFrame(resolve); } }); }; var asyncValidateIfElIsInViewPort = function(promise, el) { return promise.then(() => { if(el) { if(isElementInViewport(el) == true) { const cb = elementsToWatch.get(el); // remove da lista para não ser disparado novamente elementsToWatch.delete(el); cb(); } } }).then(asynxNextFreeTime); }; // inicia o fluxo de procura de elementos procurados var look = function() { if(window.requestIdleCallback) { window.requestIdleCallback(findByVisibleElements, { timeout: 5000, }); } else { window.requestAnimationFrame(findByVisibleElements); } }; var findByVisibleElements = function(ts) { var elapsedSinceLast = ts - lastAnimationTS; // se não teve nenhum evento que possa alterar a página if(hadAnEvent == false) { return look(); } if(elementsToWatch.size == 0) { return look(); } if(runningSearch == true) { return look(); } // procura por elementos visíveis apenas 5x/seg if(elapsedSinceLast < 1000/5) { return look(); } // atualiza o último ts lastAnimationTS = ts; // reseta status de scroll para não entrar novamente aqui hadAnEvent = false; // indica que está rodando a procura por elementos no viewport runningSearch = true; const done = Array.from(elementsToWatch.keys()).reduce(asyncValidateIfElIsInViewPort, Promise.resolve()); // obtém todos os elementos que podem ter view contabilizados //elementsToWatch.forEach(function(cb, el) { // if(isElementInViewport(el) == true) { // // remove da lista para não ser disparado novamente // elementsToWatch.delete(el); // cb(el); // } //}); done.then(function() { runningSearch = false; }); // reinicia o fluxo de procura look(); }; /** * Quando o elemento `el` entrar no viewport (-20%), cb será disparado. */ window.lazyload = function(el, cb) { if(el.nodeType != Node.ELEMENT_NODE) { throw new Error("element parameter should be a Element Node"); } if(typeof cb !== 'function') { throw new Error("callback parameter should be a Function"); } elementsToWatch.set(el, cb); } var setEvent = function() { hadAnEvent = true; }; window.addEventListener('scroll', setEvent, { capture: true, ive: true }); window.addEventListener('click', setEvent, { ive: true }); window.addEventListener('resize', setEvent, { ive: true }); window.addEventListener('load', setEvent, { once: true, ive: true }); window.addEventListener('DOMContentLoaded', setEvent, { once: true, ive: true }); window.gevent.on('allJSLoadedAndCreated', setEvent, window.gevent.RUN_ONCE); // inicia a validação look(); })();
  • AssineUOL
Topo

'Assustador': golpista invade Instagram de mulher e posta deepfake dela

Juliana Brichesi teve a conta invadida após ser induzida a gravar vídeo - Reprodução
Juliana Brichesi teve a conta invadida após ser induzida a gravar vídeo Imagem: Reprodução

Abinoan Santiago

Colaboração para Tilt, em Florianópolis

20/07/2023 04h00Atualizada em 25/07/2023 10h35

O deepfake, técnica cria imagens falsas e realistas de rostos com IA (Inteligência Artificial), ganhou ainda mais notoriedade no Brasil por ser a mágica que fez Elis Regina, morta há 41 anos, contracenar com sua filha Maria Rita. Mas agora é usado por golpistas nas redes sociais.

Foi o que aconteceu com a designer de arte Juliana Brichesi, de 46 anos. Ela teve o Instagram hackeado por um golpista na terça-feira (19) após gravar um vídeo agradecendo por ter ganhado um sorteio promovido por um restaurante de São Paulo. O problema é que o prêmio nunca existiu, pois o estabelecimento também teve a conta invadida. As imagens foram adulteradas e postadas no perfil dela para promover golpes financeiros.

Recebi mensagem no direct dizendo que eu ganhei um jantar com direito a acompanhante, bastando apenas enviar um vídeo agradecendo. A origem do vídeo é real, mas, a partir disso, eu já não tive mais o à conta e comecei a ser bombardeada com mensagens de amigos. Foi assim que matei a charada de que havia sido hackeada. Juliana Brichesi

A designer diz que o golpista adulterou o vídeo de agradecimento ao restaurante. Assim, ela ou a falar que ganhou R$ 10 mil após ter aplicado R$ 1 mil.

Usaram a minha imagem para parecer real e foi muito assustador. Juliana Brichesi

Para incrementar o golpe, o criminoso marcou nos stories de Juliana o perfil "@biel_investimentospix", que conta com mais de 9 mil seguidores no Instagram — o perfil possui fotos aparentemente roubadas de um perfil especializado em investimento. A conta promete retornos de até 1.000% em investimentos via pix, mas não informa como isso acontece. Apenas publica diálogos de supostos ganhadores e falsos extratos bancários.

Tilt entrou em contato com o dono do perfil, que não se mostrou preocupado com as acusações.

Te devo satisfação de alguma coisa, por acaso? Não estou nem ligando. golpista

Golpista ite que invadiu conta - Reprodução - Reprodução
Golpista ite que invadiu conta
Imagem: Reprodução

Golpista fez babá perder R$ 1 mil

Depois de ter o vídeo publicado, o golpista também entrou em contato com amigos de Juliana pela rede social para oferecer o falso investimento. Uma ex-babá do filho da designer chegou a depositar R$ 1 mil e não teve o retorno. Amigos fazem uma vaquinha virtual para devolver o dinheiro da vítima.

"Já avisei todo mundo, hoje acabou o horário dos stories, mas permaneceu durante as 24 horas", lamentou a designer.

Ela precisou pagar R$ 200 a uma empresa especializada em recuperação de contas para iniciar o processo de contestação do seu perfil. "Foi absolutamente inexistente o e do Instagram. Fiquei perdida e não consegui recuperar a conta sozinha."

É uma conta pessoal, mas o sentimento é de invasão de privacidade. Abriram minha conta, que era restrita a amigos, trocaram meus dados de email e telefone cadastrados nela, e tive até foto do meu namorado usado nos reels. Juliana Brichesi

Em nota a Tilt, o Instagram informou que "possui recursos como Autenticação de Dois Fatores e Solicitações de , que, quando acionados, ajudam a manter as contas seguras, além de caminhos disponíveis na Central de Ajuda do Instagram para auxiliar na recuperação da conta em caso de invasão".

"Recomendamos que as pessoas façam uso das ferramentas de segurança disponíveis e denunciem publicações e contas que considerarem suspeitas. Manter nossa comunidade segura é uma das nossas prioridades e uma área em que buscamos melhorar constantemente", completou a plataforma.

Golpista indicou o próprio perfil nos stories de Juliana para atrair mais vítimas no Instagram - Reprodução - Reprodução
Golpista indicou o próprio perfil nos stories de Juliana para atrair mais vítimas no Instagram
Imagem: Reprodução

O que fazer ao ser vítima

Alexander Coelho, advogado especializado em direito digital e proteção de dados, orienta que a vítima desse golpe deve tomar algumas medidas imediatas para tentar recuperar o controle de sua conta e mitigar os danos.

  1. Informar o Instagram sobre o ocorrido por meio do e técnico da plataforma.
  2. Alterar senha, caso seja possível ar a conta
  3. Verificar quais dispositivos ou IPs estão conectados à conta e desconectar qualquer sessão suspeita.
  4. Postar uma mensagem pública nos stories ou no feed de outra plataforma informando sobre o golpe.

"A responsabilidade recai principalmente sobre o golpista ou hackers que executaram a ação criminosa. O Instagram possui mecanismos de segurança para proteger as contas, mas a segurança das credenciais de é principalmente responsabilidade do usuário", comentou Coelho, sócio do escritório Godke Advogados.

O advogado diz que o golpista pode responder por:

  • o ilegal a dispositivo ou sistema informático
  • Furto de identidade digital
  • Fraude e estelionato
  • Violação de direitos autorais e imagem (em caso de deepfake ou uso de imagem sem autorização)