;(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

Com anúncio em rede social, FBI quer recrutar espiões em embaixada russa

21.mar.2022 - Servidores da Ucrânia e voluntários removem destroços de prédio residencial em Kharkiv, na Ucrânia - REUTERS/Vitalii Hnidyi
21.mar.2022 - Servidores da Ucrânia e voluntários removem destroços de prédio residencial em Kharkiv, na Ucrânia Imagem: REUTERS/Vitalii Hnidyi

Aurélio Araújo

Colaboração com Tilt, de São Paulo

24/03/2022 12h44

Em nova estratégia, o FBI (polícia federal dos Estados Unidos) começou a publicar em redes sociais (como Twitter e Facebook) anúncios direcionados especificamente a pessoas que trabalhem na embaixada da Rússia em Washington (EUA). A ideia é conseguir convencer russos insatisfeitos com a guerra na Ucrânia a contribuírem com informações para o governo norte-americano.

Segundo o jornal The Washington Post, os anúncios são direcionados geograficamente para serem exibidos para quem estiver na região da embaixada, ando redes sociais ou usando o Google. Um dos repórteres do veículo conseguiu ar alguns conteúdos quando estava perto do local. Dessa forma, qualquer russo que ar pela embaixada poderá ver uma propaganda do FBI.

Por que FBI usa a estratégia?

O governo dos EUA suspeita que há uma grande insatisfação interna com o governo de Vladimir Putin devido à invasão da Ucrânia. O público-alvo, portanto, são diplomatas, agentes de inteligência ou mesmo imigrantes russos que, por desaprovar a guerra, queiram compartilhar informações que possam ser úteis aos norte-americanos, de acordo com a reportagem.

Embora não estejam diretamente envolvidos na guerra, os EUA se posicionam a favor da Ucrânia e suas relações com o governo russo estão bastante deterioradas desde o início do conflito.

O que diz o anúncio

O garoto-propaganda escolhido pelo FBI é ninguém menos que o próprio Putin, segundo a reportagem, que aparece sendo citado dizendo: "fale claramente".

Trata-se de uma referência a uma reunião realizada no mês ado em que o líder russo teria humilhado em público o chefe da inteligência do país, Sergey Naryshkin, ao ordenar que ele "falasse claramente" o que estava acontecendo.

Nas imagens divulgadas da reunião, Naryshkin pareceu inseguro, sem saber o que Putin queria que ele dissesse, e até chegou a gaguejar. O FBI, portanto, utilizou o episódio para lembrar aos agentes que frequentam a embaixada que o chefe deles teria sido maltratado por Putin. "Fale claramente, nós estamos preparados para ouvir", diz o anúncio em russo.

Além disso, no texto acima da imagem, a propaganda diz que "a informação dada ao FBI pelo público é a maneira mais eficaz de combater ameaças. Se você tem informações que podem ajudar o FBI, por favor, entre em contato".

Estratégia elogiada

Ouvido pelo "Washington Post", Peter Lapp, um ex-caçador de espiões do próprio FBI, disse que a ação dos EUA é uma "estratégia brilhante" para o recrutamento —e que já funciona, mesmo se ninguém fizer contato com a polícia americana.

"Os agentes de contrainteligência russos já estão sobrecarregados em garantir que o seu pessoal não abra o bico, e já mantêm os olhos sobre seus próprios agentes para que ninguém quebre o pacto", afirmou Lapp ao jornal.

"Isso [o anúncio] vai fazer com que esses agentes tenham que trabalhar ainda mais do que já estão fazendo, e eles podem acabar paranóicos, vendo coisas que não são reais, perdendo seu tempo fazendo isso", acrescentou.

Ao clicar no anúncio, a pessoa é transferida para o site do programa de contrainteligência dos EUA, onde é avisada que pode ir conversar pessoalmente, seja em inglês ou em russo. Também lhe é garantido que as conversas serão "confidenciais" e "respeitosas".