
La seguridad se resquebraja en el gigante de las criptomonedas.
Exclusivo: Vulneración expone datos sensibles
Fuentes internas confirman brechas en sistemas críticos. El incidente compromete información de usuarios institucionales. Los protocolos de seguridad fallaron durante horas.
Impacto inmediato en operaciones
Transacciones suspendidas en múltiples pares. Retiros temporalmente congelados. El equipo de respuesta ante incidentes activó protocolos de emergencia.
Reguladores en alerta máxima
La FSA ya solicita informes detallados. Posibles sanciones pendientes de investigación. Los requisitos de capital podrían reforzarse.
Mercado reacciona con volatilidad
BTC muestra resistencia mientras altcoins caen. Los inversores institucionales reevalúan exposiciones. Los tradicionales bancos suizos aprovechan para cuestionar la madurez del ecosistema.
La confianza digital se pone a prueba - y esta vez, los números no mienten.
Coinbase estaría bajo señalamientos por ocultar información
Antes de la acusación formal, a finales de 2024, varios usuarios de Coinbase estuvieron recibiendo mensajes de supuestos empleados del exchange para ‘confirmar’ transferencias de criptomonedas más rentables desde sus cuentas o hacia nuevas billeteras de los delincuentes.
La plataforma recibió estas quejas, pero fue hasta mayo del 2025 que se hizo público el ataque., mencionó un portavoz del exchange a medios web.
El ataque presuntamente se presentó en oficinas de TaskUs en India, donde más de 300 empleados fueron despedidos. Y es que el ataque fue tan grande que la empresa no contaba con las herramientas para descubrir a los culpables.
TaskUs tendría algunos problemas estructurales de seguridad
La empresa outsourcing de Coinbase; no había monitoreo a los empleados, aun cuando estos accedían y descargaban información sensible frecuentemente.
“Si el demandado hubiera monitoreado adecuadamente estos sistemas electrónicos, habría descubierto la filtración de datos antes o la habría evitado por completo”,
Esto procuraría que docenas de empleados conocieran de primera los procesos para acceder a la información de Coinbase. Entre los implicados, se conoce el nombre de Ashita Mishra, empleada de TaskUs que estaría filtrando información a actores maliciosos para efectuar estafas a clientes del exchange.
, mencionaron los demandantes.
Sin embargo, la empresa de subcontratación aún no responde formalmente a las acusaciones por daños de más de 400 millones de dólares y los abogados demandantes creen que las cifras de daños divulgadas por Coinbase pueden ser demasiado conservadoras.
Podría resultar relevante para el lector el análisis profundo sobre las mejores memecoins para diversificar la cartera.
Leer más:
- Expectativa por un indulto a CZ impulsa fuerte rally de BNB por encima de los 1.000 dólares
- La claridad regulatoria en torno a Bitcoin podría desbloquear una adopción masiva
- El rally del token FTT se impulsa tras la reactivación de la cuenta X de Sam Bankman-Fried
Table of Contents
En este artículo
Coinbase estaría bajo señalamientos por ocultar información
TaskUs tendría algunos problemas estructurales de seguridad
Leer más:
En este artículo
Coinbase estaría bajo señalamientos por ocultar información
TaskUs tendría algunos problemas estructurales de seguridad
Leer más:
window.addEventListener("DOMContentLoaded", () => {
const header = document.querySelector(".header_wrapper");
const pageLegend = document.querySelector('#multiCollapse1');
const pageLegendList = document.querySelector('#multiCollapse2');
const pageLegendCollapse = new bootstrap.Collapse(pageLegend, {toggle: document.querySelector(".toc-sticky").classList.contains('sticky')});
/**
* Changing current title
*/
(function (pageLegend) {
const titleNodes = pageLegend.querySelectorAll('.StepProgress-item__link');
if (!titleNodes.length) return;
const titles = [...titleNodes].map((itm, i) => ({
id: itm.getAttribute('data-id'),
text: itm.textContent,
level: itm.getAttribute('data-level'),
linkNode: itm,
titleNode: document.getElementById(itm.getAttribute('data-id')),
index: i,
}));
/**
* Source: https://www.sitepoint.com/throttle-scroll-events/
* @param {Function} fn
* @param {number} wait
* @returns {(function(): void)|*}
*/
const throttle = (fn, wait) => {
let time = Date.now();
return function () {
if ((time + wait - Date.now()) {
const documentScrollTop = window.pageYOffset || document.documentElement.scrollTop || document.body.scrollTop || 0;
let current = 0;
// Title
titles.forEach((itm, i) => {
//console.log(itm)
const itmOffsetTop = itm.titleNode ? itm.titleNode.offsetTop - 100 : 0;
if (documentScrollTop >= itmOffsetTop) {
document.getElementById('toc-current-title').innerHTML = itm.text;
document.getElementById('toc-current-title').setAttribute('data-current-id', itm.id);
document.getElementById('toc-current-title').setAttribute('data-current-level', itm.level);
current = i;
}
})
// close all list and open sub list if needed
if (document.querySelector(".toc-sticky").classList.contains('sticky')) {
document.querySelectorAll('.subList-in-progress').forEach((el) => {
el.children[1].classList.remove('show');
el.getElementsByClassName('icon-chevron-down')[0].classList.remove('up');
});
const currentEl = titles[current];
currentEl.linkNode.classList.add('show');
}
titles.forEach((itm, i) => {
itm.linkNode.parentNode.parentNode.classList.remove('current', 'is-done');
if (current > i) {
itm.linkNode.parentNode.parentNode.classList.add('is-done')
};
if (current === i) {
itm.linkNode.parentNode.parentNode.classList.add('current');
};
})
}
changeCurrentTitle();
document.addEventListener('scroll', throttle(changeCurrentTitle, 50));
})(pageLegend);
/**
* Collapse
*/
(function (pageLegend, header) {
const icon = pageLegend.parentNode.querySelector(".collapse-action-btn i");
const collapseToggle = (status) => (e) => {
if (!e.target.isEqualNode(pageLegend)) return;
icon.classList.toggle("up");
const containerHeight = pageLegend.getBoundingClientRect().height;
const showSubtitleContent = () => {
const currentId = document.getElementById('toc-current-title').getAttribute('data-current-id');
const currentLevel = document.getElementById('toc-current-title').getAttribute('data-current-level');
const currentSubTitle = currentLevel == 3 ? document.querySelector(`a[data-id="${currentId}"]`).parentNode.parentNode.parentNode : false;
if (!currentSubTitle) return;
new bootstrap.Collapse(currentSubTitle, {toggle: false}).show();
}
showSubtitleContent();
console.log(status + 'fdsfsd' + containerHeight);
if (status === 'shown' && document.querySelector(".toc-sticky").classList.contains('sticky')) {
document.querySelector('html').classList.remove('overflow-hidden');
pageLegend.classList.add('overflow-auto');
pageLegend.style.height = `calc(100vh - ${header.getBoundingClientRect().height + document.querySelector('.toc-sticky__open').getBoundingClientRect().height + 16}px)`;
} else if (status === 'hide') {
document.querySelector('html').removeClass('overflow-hidden');
pageLegend.classList.remove('overflow-auto');
pageLegend.style.height = 'auto';
}
}
pageLegend.addEventListener('shown.bs.collapse', collapseToggle('shown'));
pageLegend.addEventListener('hide.bs.collapse', collapseToggle('hide'));
})(pageLegend, header);
/**
* Collapse sub-titles
*/
(function (pageLegend) {
const collapseEls = pageLegend.querySelectorAll('.collapse');
collapseEls.forEach(function (el) {
const toggleArrowDirection = function (e) {
if (!e.target.isEqualNode(el)) return;
const id = this.getAttribute('id');
document.querySelector(`.collapse-action-btn[data-bs-target="#${id}"] .icon-chevron-down`).classList.toggle('up');
}
el.addEventListener('shown.bs.collapse', toggleArrowDirection);
el.addEventListener('hide.bs.collapse', toggleArrowDirection);
})
})(pageLegend);
/**
* Collapse main title
*/
(function (pageLegendList) {
const icon = pageLegendList.parentNode.querySelector(".collapse-action-btn i");
const collapseToggle = () => (e) => {
if (!e.target.isEqualNode(pageLegendList)) return;
icon.classList.toggle("up");
}
pageLegendList.addEventListener('shown.bs.collapse', collapseToggle());
pageLegendList.addEventListener('hide.bs.collapse', collapseToggle());
})(pageLegendList);
(function (pageLegendList) {
const collapseEls = pageLegendList.querySelectorAll('.collapse');
collapseEls.forEach(function (el) {
const toggleArrowDirection = function (e) {
if (!e.target.isEqualNode(el)) return;
const id = this.getAttribute('id');
document.querySelector(`.toc-sticky-list .collapse-action-btn[data-bs-target="#${id}"] .icon-chevron-down`).classList.toggle('up');
}
el.addEventListener('shown.bs.collapse', toggleArrowDirection);
el.addEventListener('hide.bs.collapse', toggleArrowDirection);
})
})(pageLegendList);
/**
* Sticky functionality
* Source: https://stackoverflow.com/questions/17893771/javascript-sticky-div-after-scroll
*/
(function (header, pageLegendCollapse) {
// set everything outside the onscroll event (less work per scroll)
const target = document.querySelector(".toc-sticky");
const targetListStatic = document.querySelector(".toc-sticky-list");
if (!target || !header) return;
const headerHeight = header.getBoundingClientRect().height;
const targetHeight = targetListStatic.getBoundingClientRect().height;
// -headerHeight so it won't be jumpy
const stop = targetListStatic.offsetTop + headerHeight + targetHeight;
const docBody =
document.documentElement || document.body.parentNode || document.body;
const hasOffset = window.pageYOffset !== undefined;
const applySticky = function () {
// cross-browser compatible scrollTop.
const scrollTop = hasOffset ? window.pageYOffset : docBody.scrollTop;
// if user scrolls to headerHeight from the top of the target div
if (scrollTop >= stop) {
pageLegendCollapse.hide();
// stick the div
target.classList.add("sticky");
//target.style.marginTop = `${headerHeight}px`;
} else {
pageLegendCollapse.show();
// release the div
target.classList.remove("sticky");
target.style.marginTop = "";
}
}
applySticky();
window.addEventListener('scroll', applySticky);
})(header, pageLegendCollapse);
jQuery('span.show_moretoc').click(function () {
jQuery('span.show_moretoc').hide();
jQuery('.ms_hidetoc').show();
});
});