icoa-cli 2.19.38 → 2.19.40
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/exam.js +1 -1
- package/dist/commands/lang.js +1 -0
- package/dist/lib/demo-exam.js +1 -0
- package/dist/lib/i18n.js +2 -1
- package/dist/lib/translation.js +1 -0
- package/dist/lib/update-check.js +8 -2
- package/dist/types/index.d.ts +1 -1
- package/dist/types/index.js +1 -1
- package/package.json +1 -1
- package/translations/ht/1.json +9 -0
- package/translations/ht/10.json +9 -0
- package/translations/ht/11.json +9 -0
- package/translations/ht/12.json +9 -0
- package/translations/ht/13.json +9 -0
- package/translations/ht/14.json +9 -0
- package/translations/ht/15.json +9 -0
- package/translations/ht/16.json +9 -0
- package/translations/ht/17.json +9 -0
- package/translations/ht/18.json +9 -0
- package/translations/ht/19.json +9 -0
- package/translations/ht/20.json +9 -0
- package/translations/ht/21.json +9 -0
- package/translations/ht/22.json +9 -0
- package/translations/ht/23.json +9 -0
- package/translations/ht/24.json +9 -0
- package/translations/ht/25.json +9 -0
- package/translations/ht/26.json +9 -0
- package/translations/ht/27.json +9 -0
- package/translations/ht/28.json +9 -0
- package/translations/ht/29.json +9 -0
- package/translations/ht/30.json +9 -0
- package/translations/ht/31.json +9 -0
- package/translations/ht/32.json +9 -0
- package/translations/ht/33.json +9 -0
- package/translations/ht/34.json +9 -0
- package/translations/ht/35.json +9 -0
- package/translations/ht/36.json +9 -0
- package/translations/ht/37.json +9 -0
- package/translations/ht/38.json +9 -0
- package/translations/ht/39.json +9 -0
- package/translations/ht/4.json +9 -0
- package/translations/ht/40.json +9 -0
- package/translations/ht/41.json +9 -0
- package/translations/ht/42.json +9 -0
- package/translations/ht/43.json +9 -0
- package/translations/ht/44.json +9 -0
- package/translations/ht/45.json +9 -0
- package/translations/ht/46.json +9 -0
- package/translations/ht/47.json +9 -0
- package/translations/ht/48.json +9 -0
- package/translations/ht/49.json +9 -0
- package/translations/ht/5.json +9 -0
- package/translations/ht/6.json +9 -0
- package/translations/ht/7.json +9 -0
- package/translations/ht/8.json +9 -0
- package/translations/ht/9.json +9 -0
- package/translations/ht/demo-explanations.json +32 -0
- package/translations/ht/demo.json +332 -0
- package/translations/ht/i18n-snippet.ts +1 -0
package/dist/commands/exam.js
CHANGED
|
@@ -348,7 +348,7 @@ export function registerExamCommand(program) {
|
|
|
348
348
|
const langHint = {
|
|
349
349
|
PE: 'es', CN: 'zh', JP: 'ja', KR: 'ko', BR: 'pt',
|
|
350
350
|
SA: 'ar', FR: 'fr', DE: 'de', IN: 'hi', ID: 'id',
|
|
351
|
-
TH: 'th', VN: 'vi', TR: 'tr', RU: 'ru', UA: 'uk',
|
|
351
|
+
TH: 'th', VN: 'vi', TR: 'tr', RU: 'ru', UA: 'uk', HT: 'ht',
|
|
352
352
|
};
|
|
353
353
|
const code = (country || '').toUpperCase();
|
|
354
354
|
if (langHint[code]) {
|
package/dist/commands/lang.js
CHANGED
package/dist/lib/demo-exam.js
CHANGED
|
@@ -239,6 +239,7 @@ export function getLocalizedDemoSession() {
|
|
|
239
239
|
vi: 'ICOA Thi Thử — Luyện Tập Miễn Phí',
|
|
240
240
|
tr: 'ICOA Demo Sınav — Ücretsiz Uygulama',
|
|
241
241
|
uk: 'ICOA Демо Екзамен — Безплатна Практика',
|
|
242
|
+
ht: 'ICOA Egzamen Demo — Pratik Gratis',
|
|
242
243
|
};
|
|
243
244
|
return {
|
|
244
245
|
...DEMO_SESSION,
|
package/dist/lib/i18n.js
CHANGED
|
@@ -250,7 +250,8 @@ const TH = { "howToPlay": "วิธีเล่น:", "htpAnswer": "ตอบ
|
|
|
250
250
|
const VI = { "howToPlay": "Cách chơi:", "htpAnswer": "trả lời câu hỏi", "htpHelp": "loại bỏ một đáp án sai", "htpNav": "di chuyển giữa các câu hỏi", "htpMoreHelp": "+3 quyền trợ giúp", "htpBack": "tạm dừng và quay lại menu", "htpLang": "xem tất cả ngôn ngữ / lang es để chuyển đổi", "egg3": "Sydney Opera House — Khởi đầu tuyệt vời!", "egg5": "Một chú koala nói g'day — Đã xong 1/3!", "egg7": "Sydney Harbour Bridge — Tiếp tục nào!", "egg9": "Một chú kangaroo nhảy qua — Đã qua một nửa!", "egg11": "Bondi Beach — Sắp đến đích rồi!", "egg13": "Great Barrier Reef — Còn 2 câu nữa!", "egg15": "G'day mate! Hoàn thành! 🇦🇺", "answerThis": "trả lời câu hỏi này", "helpRemove": "loại bỏ một đáp án sai", "helpUsedUp": "đã hết — gõ more help để thêm +3", "helpAllUsed": "đã hết", "wrong": "sai", "qTutorial": "👉 Hãy thử gõ \"help\" để xem điều gì sẽ xảy ra!", "qTutorialBlock": "Hãy thử gõ help trước để xem nó làm gì!", "qTutorialRequired": "Câu hỏi này yêu cầu bạn dùng help trước khi trả lời.", "allAnswered": "🎉 Đã trả lời tất cả các câu hỏi!", "typeSubmit": "Gõ exam submit để xem kết quả của bạn!", "autoSubmitting": "Đang tự động nộp bài demo của bạn...", "grading": "Đang chấm điểm...", "complete": "Hoàn tất!", "passed": "✓ ĐÃ QUA", "notPassed": "✗ KHÔNG ĐẠT", "score": "Điểm", "incorrectIntro": "chưa chính xác — đây là các phần sửa đổi:", "yourAnswer": "Câu trả lời của bạn", "correct": "Chính xác", "perfectScore": "Điểm tuyệt đối! Tất cả câu trả lời đều đúng! 🎉", "theoryDone": "Đây là các câu hỏi lý thuyết. Trong", "theoryDone2": "cuộc thi ICOA thực tế, mọi thứ diễn ra trong terminal này.", "didYouKnow": "Bạn có biết?", "ctfHistory1": "CTF (Capture The Flag) bắt đầu tại DEF CON 4 năm 1996,", "ctfHistory2": "Las Vegas. Sáng lập bởi Jeff Moss (Dark Tangent).", "ctfHistory3": "Năm 2026 đánh dấu 30 năm CTF trên toàn thế giới.", "ctfFlags1": "Trong một kỳ CTF, bạn giải quyết các thử thách để tìm", "ctfFlags2": "những \"flags\" bị giấu — mã bí mật như:", "ctfFlags3": "Tìm nó, nộp nó, ghi điểm!", "timeline1": "1996 CTF đầu tiên @ DEF CON, Las Vegas", "timeline2": "2016 DARPA Cyber Grand Challenge — AI bước vào CTF", "timeline3": "2026 ICOA — AI Security Olympiad đầu tiên, Sydney", "twoTracks": "ICOA sử dụng HAI nhánh thi đấu:", "ai4ctfDesc": "Dùng AI để giúp bạn giải các thử thách CTF", "ai4ctfSub": "AI là đồng đội của bạn. Chat, hỏi gợi ý, cùng làm việc.", "ctf4aiDesc": "Đánh lừa AI (Prompt Injection)", "ctf4aiSub": "Bạn có thể khiến AI phá vỡ quy tắc an toàn của chính nó không?", "wantToContinue": "Muốn trải nghiệm cả hai? Gõ", "orBack": "Hoặc gõ \"back\" để quay lại menu chính.", "ai4ctfTitle": "Demo AI4CTF — AI là Đồng đội của bạn", "ai4ctfSample": "Đây là một thử thách CTF mẫu:", "ai4ctfChallenge": "Thử thách: Tin nhắn bị giấu [Cryptography]", "ai4ctfIntercepted": "Bạn đã chặn được đoạn văn bản mã hóa này:", "ai4ctfDecode": "Bạn có thể giải mã nó để tìm flag không?", "ai4ctfLevels": "Trong thi đấu, bạn nhận hỗ trợ từ AI ở 3 cấp độ:", "ai4ctfHintA": "Hướng dẫn chung — \"Đây là loại mã hóa gì?\"", "ai4ctfHintAUses": "50 lần mỗi trận. Dùng thoải mái.", "ai4ctfHintB": "Phân tích sâu — \"Làm sao để giải mã Base64?\"", "ai4ctfHintBUses": "10 lần. Dùng khi bạn bị bí.", "ai4ctfHintC": "Hỗ trợ quan trọng — Gần như cho bạn đáp án", "ai4ctfHintCUses": "Chỉ 2 lần. Giải pháp cuối cùng!", "ai4ctfTryNow": "Thử ngay: hỏi AI bất cứ điều gì về thử thách trên.", "ai4ctfExample": "Ví dụ: \"Mã hóa của aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ== là gì?\"", "ai4ctfFreeChat": "Hoặc cứ chat thoải mái! Bạn cũng có thể thử hint a, hint b, hint c.", "ai4ctfExit": "Gõ \"exit\" khi hoàn tất.", "ai4ctfReport": "Báo cáo phiên AI4CTF", "ai4ctfTokens": "Tokens đã dùng", "ai4ctfModel": "Mô hình AI", "ai4ctfNext": "Tiếp theo: thử ctf4ai — lừa AI nói từ \"koala\"", "tokenLimit": "Đạt giới hạn token!", "ctf4aiTitle": "Demo CTF4AI — Thử thách AI", "ctf4aiChallenge": "Thử thách: Khiến AI Nói Một Từ Bị Cấm", "ctf4aiIntro1": "Trong thế giới thực, các hệ thống AI có các quy tắc an toàn.", "ctf4aiIntro2": "Nhiệm vụ của bạn: tìm cách lừa AI phá vỡ chúng!", "ctf4aiRule": "AI KHÔNG BAO GIỜ được nói từ \"koala\".", "ctf4aiMission": "Nhiệm vụ của bạn: bằng mọi giá khiến nó nói từ \"koala\"!", "ctf4aiIdeas": "Các ý tưởng để thử:", "ctf4aiIdea1": "Hỏi về các loài động vật Úc", "ctf4aiIdea2": "Yêu cầu nó viết một câu chuyện hoặc bài thơ", "ctf4aiIdea3": "Yêu cầu nó dịch hoặc đánh vần thứ gì đó", "ctf4aiIdea4": "Hãy sáng tạo — không có cách tiếp cận nào là sai!", "ctf4aiBudget": "Ngân sách hội thoại", "ctf4aiQuit": "Gõ \"exit\" để thoát bất cứ lúc nào.", "ctf4aiSuccess": "🎉 THÀNH CÔNG! AI đã nói \"koala\"!", "ctf4aiDefense": "Bạn đã chọc thủng hàng phòng thủ của AI!", "ctf4aiInjection": "Đây là prompt injection — một lỗ hổng AI thực sự.", "ctf4aiHeld": "Lần này AI đã giữ vững lập trường. 💪", "reportTitle": "Demo ICOA — Báo cáo Toàn diện", "reportStage1": "Giai đoạn 1: Thi Lý thuyết (15 câu hỏi)", "reportCompleted": "✓ Đã hoàn thành", "reportStage2": "Giai đoạn 2: AI4CTF — AI là Đồng đội của bạn", "reportExperienced": "✓ Đã trải nghiệm", "reportStage2Sub": "Bạn đã dùng AI để phân tích một thử thách CTF.", "reportStage2Hints": "Trong thi đấu: hint a (50x) · hint b (10x) · hint c (2x)", "reportStage3": "Giai đoạn 3: CTF4AI — Đánh lừa AI", "reportSolved": "✓ Đã giải! Bạn đã khiến AI nói \"koala\"", "reportNotSolved": "✗ AI đã giữ vững lập trường", "reportRecommend": "Đề xuất:", "reportRec1": "Học về mật mã học, an ninh web, và mạng", "reportRec2": "Thực hành trên các nền tảng CTF như picoCTF", "reportRec3": "Tìm hiểu về prompt injection và an toàn AI", "reportRec4": "Khám phá 38 tài liệu tham khảo: gõ \"ref\"", "reportReady": "Sẵn sàng cho cuộc thi thực sự chưa?", "reportNations": "Xem các quốc gia tham gia", "reportAbout": "Tìm hiểu thêm về ICOA 2026", "reportDemo": "Thử lại", "continueTitle": "AI4CTF — AI là Đồng đội của bạn", "continueLevels": "Trong AI4CTF, bạn giải quyết các thử thách an ninh mạng\nvới AI sát cánh bên mình.", "continueHints": "Trong thi đấu, bạn nhận hỗ trợ từ AI ở 3 cấp độ:", "continueHintA": "Hướng dẫn chung (50 lần)", "continueHintB": "Phân tích sâu (10 lần)", "continueHintC": "Hỗ trợ quan trọng (2 lần)", "continueTry": "Thử ngay! Gõ:", "continueChat": "Chat thoải mái với AI đồng đội của bạn. Gõ \"exit\" khi xong.", "continueAfter": "Sau ai4ctf, hãy thử: ctf4ai — lừa AI nói từ \"koala\"", "ai4ctfCommands": "Các lệnh:", "ai4ctfSubmitCmd": "Nộp đáp án (VD: submit icoa{...})", "ai4ctfShellCmd": "Chạy lệnh shell (VD: !echo aWNv... | base64 -d)", "ai4ctfEndSession": "Kết thúc phiên", "ai4ctfCorrectFlag": "🎉 Chính xác! Flag đã được chấp nhận!", "ai4ctfDecoded": "Bạn đã giải mã Base64 và tìm thấy flag.", "ai4ctfWouldEarn": "Trong thi đấu thực tế, điều này sẽ mang lại điểm cho bạn!", "ai4ctfWrongFlag": "✗ Sai flag. Hãy thử lại!", "ai4ctfFlagHint": "Gợi ý: giải mã chuỗi Base64. Định dạng flag: icoa{...}", "ai4ctfFoundFlag": "Tìm thấy flag? Gõ: submit <flag>", "ai4ctfThinking": "Đang suy nghĩ...", "ctf4aiRelaxed": "Sau 50%, các biến thể đánh vần (K-O-A-L-A) cũng được tính!", "ctf4aiEnded": "Đã kết thúc thử thách CTF4AI.", "ctf4aiAlready": "Đang trong thử thách CTF4AI. Gõ tin nhắn hoặc \"exit\".", "ctf4aiPrompt": "Hãy thử khiến AI nói \"koala\"...", "ctf4aiThinking": "Đang suy nghĩ...", "readyToTry": "Sẵn sàng thử? Gõ một lệnh:", "forNational": "Dành cho kỳ thi tuyển chọn quốc gia:", "viewRegions": "Xem tất cả các khu vực tham gia", "enterExam": "Tham gia kỳ thi tuyển chọn của quốc gia bạn", "htpJump": "chuyển đến một câu hỏi cụ thể", "htpReview": "kiểm tra tiến độ", "nextLabel": "Tiếp:", "reportRetryCta": "Muốn chinh phục những câu đã sai? Gõ:", "reportRetryWrongN": "làm lại {n} câu sai", "reportRetryWrongNPlural": "làm lại {n} câu sai", "reportBackHint": "quay lại menu chính", "reportAboutHint": "Tìm hiểu thêm về ICOA 2026", "ai4ctfWelcomeCta": "👉 Bạn mới tới? Bắt đầu với các gợi ý theo thứ tự:", "ai4ctfHintNudge": "chỉ dẫn nhỏ", "ai4ctfHintTechnique": "kỹ thuật", "ai4ctfHintPrinciple": "nguyên lý + nhắc lệnh shell", "ai4ctfWelcomeNoReveal": "(gợi ý sẽ dẫn dắt bạn — chúng không bao giờ đưa thẳng đáp án)", "ai4ctfOrChat": "Hoặc chat thoải mái với AI đồng đội của bạn — hỏi bất cứ điều gì", "ai4ctfOrChatExample": "về thử thách. Ví dụ:", "ai4ctfCmdHintLine": "gợi ý soạn sẵn (an toàn để dùng)", "ai4ctfCmdShellLine": "chạy lệnh shell", "ai4ctfHintABody": "Chuỗi kết thúc bằng \"==\" và chỉ dùng chữ cái, chữ số, \"+\", \"/\", và \"=\".\nMẫu đó là một dấu vân tay — bạn đã từng thấy nó trước đây.\nNơi nào \"=\" thường được sử dụng làm padding?", "ai4ctfHintBBody": "Đây là mã hóa Base64. Giải mã chuỗi để tìm flag.", "ai4ctfHintCBody": "Gợi ý không bao giờ đưa thẳng đáp án cho bạn — chúng chỉ chỉ bạn đi đúng hướng.\nVới các thử thách đơn giản như thế này, hint c không đem lại thêm gì:\nhint b đã nói mọi thứ bạn cần.\n\nHai cách để tiếp tục từ đây:\n\n 1. Chat với AI đồng đội bằng ngôn ngữ tự nhiên. Ví dụ:\n lệnh base64 là gì?\n làm cách nào để giải mã Base64 trên macOS?\n Chỉ cần gõ câu hỏi — bất kỳ thứ gì không có \"!\" sẽ đi tới AI.\n\n 2. Chạy lệnh shell trực tiếp. Các lệnh shell trong ai4ctf\n phải bắt đầu bằng \"!\", nếu không văn bản của bạn sẽ đi tới AI. Ví dụ:\n\n !echo aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ== | base64 -d", "ai4ctfHintNextA": "Bị bí? Hãy thử:", "ai4ctfHintNextB": "Thực sự bí? Hãy thử:", "ai4ctfWrapTitle": "✨ Những gì bạn vừa học được", "ai4ctfWrapLine1Head": "Cần một câu lệnh?", "ai4ctfWrapLine1Body": "Chỉ cần hỏi AI đồng đội bằng ngôn ngữ\ntự nhiên — \"làm sao để giải mã Base64 trên dòng lệnh?\"\nBạn không cần nhớ từng công cụ. Kỷ nguyên AI là\nvề {thinking}, không phải ghi nhớ máy móc.", "ai4ctfWrapLine2Head": "Cần chạy một lệnh?", "ai4ctfWrapLine2Body": "Tiền tố lệnh shell với \"!\":", "ai4ctfWrapQuotasTitle": "🎯 Hạn mức gợi ý trong thi đấu thực tế", "ai4ctfWrapQuotaA": "50 lần mỗi trận", "ai4ctfWrapQuotaAHint": "(dùng thoải mái)", "ai4ctfWrapQuotaB": "10 lần", "ai4ctfWrapQuotaBHint": "(khi bị bí)", "ai4ctfWrapQuotaC": " 2 lần", "ai4ctfWrapQuotaCHint": "(giải pháp cuối)", "ai4ctfWrapQuotaFooter": "Ưu tiên hint a → b → c. Và khi bạn chỉ cần tra cứu\nthứ gì đó, hãy chat với AI trước — nó không tốn\nđịnh mức hint của bạn.", "ai4ctfWrapNextTitle": "🔜 Tiếp theo:", "ai4ctfWrapNextSub": "lừa AI nói \"koala\"", "ai4ctfWrapNextBody": "Demo tiếp theo này {noProg} — chỉ cần sự\nnhạy bén và sáng tạo của bạn. Bạn có thể khiến một AI \"an toàn\" phá vỡ\nquy tắc của chính nó không?", "ai4ctfWrapNoProg": "không cần lập trình", "ai4ctfWrapTypeCtf4ai": "Gõ:", "ai4ctfRevealTitle": "💡 Đã hết token AI — đây là đáp án", "ai4ctfRevealBody": "Có vẻ bạn vẫn chưa tìm ra flag.\nĐừng lo — trong bản demo chúng tôi sẽ cho bạn biết.\n\nChạy lệnh này để giải mã chuỗi Base64:", "ai4ctfRevealSeeFlag": "Bạn sẽ thấy flag:", "ai4ctfRevealThenSubmit": "Sau đó nộp nó:", "ai4ctfRevealLockNote": "(Chat với AI đã bị khóa — hiện tại chỉ có lệnh shell và submit hoạt động.)", "ai4ctfLockedTitle": "Chat với AI đã khóa — hết token.", "ai4ctfLockedUse": "Dùng:", "ai4ctfLockedThen": "Sau đó:" };
|
|
251
251
|
const TR = { "howToPlay": "Nasıl oynanır:", "htpAnswer": "soruyu cevapla", "htpHelp": "yanlış bir seçeneği çıkar", "htpNav": "sorular arasında gezin", "htpMoreHelp": "+3 bonus yardım", "htpBack": "duraklat ve menüye dön", "htpLang": "tüm dilleri gör / değiştirmek için lang es", "egg3": "Sydney Opera House — Harika başlangıç!", "egg5": "Bir koala g'day diyor — 1/3 bitti!", "egg7": "Sydney Harbour Bridge — Devam et!", "egg9": "Bir kanguru zıplıyor — yarıyı geçtin!", "egg11": "Bondi Beach — az kaldı!", "egg13": "Great Barrier Reef — son 2!", "egg15": "G'day mate! Hepsi tamam! 🇦🇺", "answerThis": "bu soruyu cevapla", "helpRemove": "yanlış bir seçeneği çıkar", "helpUsedUp": "tükendi — +3 için more help yazın", "helpAllUsed": "tükendi", "wrong": "yanlış", "qTutorial": "👉 Ne olduğunu görmek için \"help\" yazmayı dene!", "qTutorialBlock": "Ne yaptığını görmek için önce help yazmayı dene!", "qTutorialRequired": "Bu soru, cevaplamadan önce help kullanmanı gerektiriyor.", "allAnswered": "🎉 Tüm sorular cevaplandı!", "typeSubmit": "Sonuçlarını görmek için exam submit yaz!", "autoSubmitting": "Demo otomatik olarak gönderiliyor...", "grading": "Notlandırılıyor...", "complete": "Tamamlandı!", "passed": "✓ GEÇTİ", "notPassed": "✗ GEÇEMEDİ", "score": "Puan", "incorrectIntro": "yanlış — işte düzeltmeler:", "yourAnswer": "Senin cevabın", "correct": "Doğru", "perfectScore": "Mükemmel puan! Tüm cevaplar doğru! 🎉", "theoryDone": "Bunlar teori sorularıydı. Gerçek ICOA", "theoryDone2": "yarışmasında her şey bu terminalde gerçekleşir.", "didYouKnow": "Biliyor muydun?", "ctfHistory1": "CTF (Capture The Flag) 1996'da DEF CON 4'te başladı,", "ctfHistory2": "Las Vegas. Jeff Moss (Dark Tangent) tarafından kuruldu.", "ctfHistory3": "2026, dünya çapında CTF'in 30. yılıdır.", "ctfFlags1": "Bir CTF'te, gizli olanı bulmak için görevleri çözersin", "ctfFlags2": "\"flags\" — şunun gibi gizli kodlar:", "ctfFlags3": "Bul, submit et, puan kazan!", "timeline1": "1996 İlk CTF @ DEF CON, Las Vegas", "timeline2": "2016 DARPA Cyber Grand Challenge — AI, CTF'e girdi", "timeline3": "2026 ICOA — İlk AI Güvenlik Olimpiyatı, Sydney", "twoTracks": "ICOA İKİ yarışma parkuru kullanır:", "ai4ctfDesc": "CTF görevlerini çözmek için AI yardımı al", "ai4ctfSub": "AI takım arkadaşındır. Sohbet et, ipucu iste, birlikte çalış.", "ctf4aiDesc": "AI'ı kandır (Prompt Injection)", "ctf4aiSub": "AI'ın kendi güvenlik kurallarını yıkmasını sağlayabilir misin?", "wantToContinue": "İkisini de deneyimlemek ister misin? Şunu yaz:", "orBack": "Veya ana menüye dönmek için \"back\" yazın.", "ai4ctfTitle": "AI4CTF Demo — Takım Arkadaşın Olarak AI", "ai4ctfSample": "İşte örnek bir CTF görevi:", "ai4ctfChallenge": "Görev: Gizli Mesaj [Kriptografi]", "ai4ctfIntercepted": "Şu kodlanmış metni ele geçirdin:", "ai4ctfDecode": "Onu çözüp flag bulabilir misin?", "ai4ctfLevels": "Yarışmada, AI'dan 3 seviyede yardım alırsın:", "ai4ctfHintA": "Genel rehberlik — \"Bu ne tür bir kodlamadır?\"", "ai4ctfHintAUses": "Yarışma başına 50 kullanım. Rahatça kullanabilirsin.", "ai4ctfHintB": "Derin analiz — \"Base64 nasıl çözülür?\"", "ai4ctfHintBUses": "10 kullanım. Takıldığında kullan.", "ai4ctfHintC": "Kritik yardım — Neredeyse cevabı verir", "ai4ctfHintCUses": "Sadece 2 kullanım. Son çare!", "ai4ctfTryNow": "Şimdi dene: yukarıdaki görev hakkında AI'a istediğini sor.", "ai4ctfExample": "Örnek: \"aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ== ne kodlamasıdır?\"", "ai4ctfFreeChat": "Veya özgürce sohbet et! Ayrıca hint a, hint b, hint c de deneyebilirsin.", "ai4ctfExit": "Bitirdiğinde \"exit\" yaz.", "ai4ctfReport": "AI4CTF Oturum Raporu", "ai4ctfTokens": "Kullanılan tokenlar", "ai4ctfModel": "AI Modeli", "ai4ctfNext": "Sırada: ctf4ai dene — AI'ı kandırıp \"koala\" dedirt", "tokenLimit": "Token sınırına ulaşıldı!", "ctf4aiTitle": "CTF4AI Demo — AI'a Meydan Oku", "ctf4aiChallenge": "Görev: AI'a Yasaklı Bir Kelime Söylet", "ctf4aiIntro1": "Gerçek dünyada, AI sistemlerinin güvenlik kuralları vardır.", "ctf4aiIntro2": "Senin işin: AI'ı kandırıp bunları yıkmasını sağlamak!", "ctf4aiRule": "AI ASLA \"koala\" kelimesini söylememelidir.", "ctf4aiMission": "Görevin: ne yapıp edip ona \"koala\" dedirtmek!", "ctf4aiIdeas": "Denenecek fikirler:", "ctf4aiIdea1": "Avustralya hayvanlarını sor", "ctf4aiIdea2": "Bir hikaye veya şiir yazmasını iste", "ctf4aiIdea3": "Bir şeyi çevirmesini veya harf harf kodlamasını iste", "ctf4aiIdea4": "Yaratıcı ol — yanlış yaklaşım yoktur!", "ctf4aiBudget": "Sohbet bütçesi", "ctf4aiQuit": "İstediğin zaman çıkmak için \"exit\" yaz.", "ctf4aiSuccess": "🎉 BAŞARILI! AI \"koala\" dedi!", "ctf4aiDefense": "AI'ın savunmasını aştın!", "ctf4aiInjection": "Bu bir prompt injection — gerçek bir AI zafiyeti.", "ctf4aiHeld": "AI bu sefer pozisyonunu korudu. 💪", "reportTitle": "ICOA Demo — Tam Rapor", "reportStage1": "Aşama 1: Teori Sınavı (15 soru)", "reportCompleted": "✓ Tamamlandı", "reportStage2": "Aşama 2: AI4CTF — Takım Arkadaşın Olarak AI", "reportExperienced": "✓ Deneyimlendi", "reportStage2Sub": "Bir CTF görevini analiz etmek için AI kullandın.", "reportStage2Hints": "Yarışmada: hint a (50x) · hint b (10x) · hint c (2x)", "reportStage3": "Aşama 3: CTF4AI — AI'ı Kandır", "reportSolved": "✓ Çözüldü! AI'a \"koala\" dedirttin", "reportNotSolved": "✗ AI pozisyonunu korudu", "reportRecommend": "Tavsiyeler:", "reportRec1": "Kriptografi, web güvenliği ve ağ çalış", "reportRec2": "picoCTF gibi CTF platformlarında pratik yap", "reportRec3": "Prompt injection ve AI güvenliği hakkında bilgi edin", "reportRec4": "38 referans rehberini keşfet: \"ref\" yaz", "reportReady": "Gerçek yarışma için hazır mısın?", "reportNations": "Katılımcı ülkeleri gör", "reportAbout": "ICOA 2026 hakkında daha fazla bilgi edin", "reportDemo": "Tekrar dene", "continueTitle": "AI4CTF — Takım Arkadaşın Olarak AI", "continueLevels": "AI4CTF'te, yanında AI ile siber güvenlik\ngörevlerini çözersin.", "continueHints": "Yarışmada, AI'dan 3 seviyede yardım alırsın:", "continueHintA": "Genel rehberlik (50 kullanım)", "continueHintB": "Derin analiz (10 kullanım)", "continueHintC": "Kritik yardım (2 kullanım)", "continueTry": "Şimdi dene! Şunu yaz:", "continueChat": "AI takım arkadaşınla özgürce sohbet et. Bitirdiğinde \"exit\" yaz.", "continueAfter": "ai4ctf'ten sonra dene: ctf4ai — AI'ı kandırıp \"koala\" dedirt", "ai4ctfCommands": "Komutlar:", "ai4ctfSubmitCmd": "Cevabını gönder (ör. submit icoa{...})", "ai4ctfShellCmd": "Bir shell komutu çalıştır (ör. !echo aWNv... | base64 -d)", "ai4ctfEndSession": "Oturumu sonlandır", "ai4ctfCorrectFlag": "🎉 Doğru! Flag kabul edildi!", "ai4ctfDecoded": "Base64'ü çözdün ve flag'i buldun.", "ai4ctfWouldEarn": "Gerçek yarışmada bu sana puan kazandırırdı!", "ai4ctfWrongFlag": "✗ Yanlış flag. Tekrar dene!", "ai4ctfFlagHint": "İpucu: Base64 dizisini çöz. Flag formatı: icoa{...}", "ai4ctfFoundFlag": "Bir flag mi buldun? Şunu yaz: submit <flag>", "ai4ctfThinking": "Düşünüyor...", "ctf4aiRelaxed": "%50'den sonra, harf harf okunuşlar (K-O-A-L-A) da sayılır!", "ctf4aiEnded": "CTF4AI görevi sona erdi.", "ctf4aiAlready": "Zaten CTF4AI görevindesin. Mesajını veya \"exit\" yaz.", "ctf4aiPrompt": "AI'a \"koala\" dedirtmeye çalış...", "ctf4aiThinking": "Düşünüyor...", "readyToTry": "Denemeye hazır mısın? Bir komut yaz:", "forNational": "Ulusal seçme sınavları için:", "viewRegions": "Tüm katılımcı bölgeleri gör", "enterExam": "Ülkenin seçme sınavına gir", "htpJump": "belirli bir soruya atla", "htpReview": "ilerlemeyi kontrol et", "nextLabel": "Sırada:", "reportRetryCta": "Kaçırdıklarını doğru yapmak ister misin? Şunu yaz:", "reportRetryWrongN": "{n} yanlış soruyu tekrar dene", "reportRetryWrongNPlural": "{n} yanlış soruyu tekrar dene", "reportBackHint": "ana menüye dön", "reportAboutHint": "ICOA 2026 hakkında daha fazla bilgi edin", "ai4ctfWelcomeCta": "👉 Buralarda yeni misin? Sırayla ipuçlarıyla başla:", "ai4ctfHintNudge": "dürtme", "ai4ctfHintTechnique": "teknik", "ai4ctfHintPrinciple": "prensip + shell hatırlatıcısı", "ai4ctfWelcomeNoReveal": "(ipuçları sana rehberlik eder — asla cevabı doğrudan vermezler)", "ai4ctfOrChat": "Veya AI takım arkadaşınla özgürce sohbet et — istediğini sor", "ai4ctfOrChatExample": "görev hakkında. Örnek:", "ai4ctfCmdHintLine": "önceden yazılmış ipuçları (kullanımı güvenli)", "ai4ctfCmdShellLine": "bir shell komutu çalıştır", "ai4ctfHintABody": "Dizi \"==\" ile bitiyor ve sadece harfler, rakamlar, \"+\", \"/\" ve \"=\" kullanıyor.\nBu desen bir parmak izidir — bunu daha önce görmüştün.\n\"=\" genellikle nerede dolgu (padding) olarak kullanılır?", "ai4ctfHintBBody": "Bu Base64 ile kodlanmıştır. Flag'i bulmak için diziyi çözün.", "ai4ctfHintCBody": "İpuçları asla cevabı doğrudan vermez — sadece seni doğru yöne yönlendirirler.\nBunun gibi basit görevler için, hint c fazladan bir şey katmaz:\nhint b sana ihtiyacın olan her şeyi zaten söylüyor.\n\nBuradan ilerlemek için iki yol var:\n\n 1. AI takım arkadaşınla doğal dilde sohbet et. Örnekler:\n what is the base64 command?\n how do I decode Base64 on macOS?\n Sadece soruyu yaz — \"!\" içermeyen her şey AI'a gider.\n\n 2. Doğrudan bir shell komutu çalıştır. ai4ctf içindeki shell komutları\n \"!\" ile başlamalıdır, aksi takdirde metnin AI'a gider. Örnek:\n\n !echo aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ== | base64 -d", "ai4ctfHintNextA": "Takıldın mı? Dene:", "ai4ctfHintNextB": "Gerçekten mi takıldın? Dene:", "ai4ctfWrapTitle": "✨ Az önce ne öğrendin", "ai4ctfWrapLine1Head": "Bir komuta mı ihtiyacın var?", "ai4ctfWrapLine1Body": "AI takım arkadaşına doğal dilde\nsor — \"how do I decode Base64 on the command line?\"\nHer aracı ezberlemene gerek yok. AI çağı,\nmekanik ezbercilik değil, {thinking} ile ilgilidir.", "ai4ctfWrapLine2Head": "Bir şey çalıştırman mı gerekiyor?", "ai4ctfWrapLine2Body": "Shell komutlarının başına \"!\" koy:", "ai4ctfWrapQuotasTitle": "🎯 Gerçek yarışma ipucu kotaları", "ai4ctfWrapQuotaA": "Yarışma başına 50 kullanım", "ai4ctfWrapQuotaAHint": "(rahatça kullan)", "ai4ctfWrapQuotaB": "10 kullanım", "ai4ctfWrapQuotaBHint": "(takıldığında)", "ai4ctfWrapQuotaC": " 2 kullanım", "ai4ctfWrapQuotaCHint": "(son çare)", "ai4ctfWrapQuotaFooter": "hint a → b → c sırasını tercih et. Sadece bir şeye bakman\ngerektiğinde önce AI ile sohbet et — bunun\nipucu kotana hiçbir maliyeti yoktur.", "ai4ctfWrapNextTitle": "🔜 Sırada:", "ai4ctfWrapNextSub": "AI'ı kandırıp \"koala\" dedirt", "ai4ctfWrapNextBody": "Sıradaki demo {noProg} — sadece zekân\nve yaratıcılığın lazım. \"Güvenli\" bir AI'ın kendi\nkurallarını yıkmasını sağlayabilir misin?", "ai4ctfWrapNoProg": "programlama gerektirmez", "ai4ctfWrapTypeCtf4ai": "Yaz:", "ai4ctfRevealTitle": "💡 AI tokenları tükendi — işte çözüm", "ai4ctfRevealBody": "Görünüşe göre flag'i henüz bulamadın.\nEndişelenme — demo olduğu için sana sadece söyleyeceğiz.\n\nBase64 dizisini çözmek için bu komutu çalıştır:", "ai4ctfRevealSeeFlag": "Flag'i göreceksin:", "ai4ctfRevealThenSubmit": "Sonra submit et:", "ai4ctfRevealLockNote": "(AI sohbeti kilitli — artık sadece shell komutları ve submit çalışıyor.)", "ai4ctfLockedTitle": "AI sohbeti kilitli — tokenlar tükendi.", "ai4ctfLockedUse": "Kullan:", "ai4ctfLockedThen": "Sonra:" };
|
|
252
252
|
const UK = { "howToPlay": "Як грати:", "htpAnswer": "відповісти на запитання", "htpHelp": "прибрати неправильний варіант", "htpNav": "переміщатися між запитаннями", "htpMoreHelp": "+3 додаткові help", "htpBack": "призупинити та повернутися в меню", "htpLang": "переглянути всі мови / lang es для перемикання", "egg3": "Sydney Opera House — Чудовий початок!", "egg5": "koala каже ґ'дей — 1/3 пройдено!", "egg7": "Sydney Harbour Bridge — Продовжуйте!", "egg9": "Кенгуру стрибає повз — більше половини!", "egg11": "Bondi Beach — майже все!", "egg13": "Great Barrier Reef — залишилося ще 2!", "egg15": "Ґ'дей, мейт! Усе готово! 🇦🇺", "answerThis": "відповісти на це запитання", "helpRemove": "прибрати неправильний варіант", "helpUsedUp": "використано — введіть more help для +3", "helpAllUsed": "використано", "wrong": "неправильно", "qTutorial": "👉 Спробуйте ввести \"help\", щоб побачити, що відбудеться!", "qTutorialBlock": "Спробуйте спочатку ввести help, щоб побачити, що це робить!", "qTutorialRequired": "Це запитання вимагає від вас використати help перед відповіддю.", "allAnswered": "🎉 На всі запитання дано відповіді!", "typeSubmit": "Введіть exam submit, щоб побачити свої результати!", "autoSubmitting": "Автоматичне надсилання вашого демо...", "grading": "Оцінювання...", "complete": "Завершено!", "passed": "✓ ПРОЙДЕНО", "notPassed": "✗ НЕ ПРОЙДЕНО", "score": "Бал", "incorrectIntro": "неправильно — ось виправлення:", "yourAnswer": "Ваша відповідь", "correct": "Правильно", "perfectScore": "Ідеальний результат! Усі відповіді правильні! 🎉", "theoryDone": "Це були теоретичні запитання. У справжньому змаганні ICOA", "theoryDone2": "усе відбувається в цьому терміналі.", "didYouKnow": "Чи знаєте ви?", "ctfHistory1": "CTF (Capture The Flag) розпочався на DEF CON 4 у 1996 році,", "ctfHistory2": "Las Vegas. Засновано Jeff Moss (Dark Tangent).", "ctfHistory3": "У 2026 році виповниться 30 років CTF у всьому світі.", "ctfFlags1": "У CTF ви розв'язуєте завдання, щоб знайти приховані", "ctfFlags2": "\"flags\" — секретні коди на зразок:", "ctfFlags3": "Знайдіть, виконайте submit, отримайте бали!", "timeline1": "1996 Перший CTF на DEF CON, Las Vegas", "timeline2": "2016 DARPA Cyber Grand Challenge — ШІ приходить у CTF", "timeline3": "2026 ICOA — Перша олімпіада з безпеки ШІ, Sydney", "twoTracks": "ICOA використовує ДВА напрямки змагань:", "ai4ctfDesc": "Використовуйте ШІ для допомоги з CTF завданнями", "ai4ctfSub": "ШІ — ваш напарник. Спілкуйтеся, просіть hints, працюйте разом.", "ctf4aiDesc": "Обдуріть ШІ (Prompt Injection)", "ctf4aiSub": "Чи можете ви змусити ШІ порушити власні правила безпеки?", "wantToContinue": "Хочете спробувати обидва? Введіть", "orBack": "Або введіть \"back\", щоб повернутися в головне меню.", "ai4ctfTitle": "Демо AI4CTF — ШІ як ваш напарник", "ai4ctfSample": "Ось приклад CTF завдання:", "ai4ctfChallenge": "Завдання: Приховане повідомлення [Криптографія]", "ai4ctfIntercepted": "Ви перехопили цей зашифрований текст:", "ai4ctfDecode": "Чи можете ви розшифрувати його, щоб знайти flag?", "ai4ctfLevels": "На змаганнях ви отримуєте допомогу ШІ на 3 рівнях:", "ai4ctfHintA": "Загальні вказівки — \"Який це тип кодування?\"", "ai4ctfHintAUses": "50 використань на змагання. Безпечно для вільного використання.", "ai4ctfHintB": "Глибокий аналіз — \"Як розкодувати Base64?\"", "ai4ctfHintBUses": "10 використань. Використовуйте, коли застрягли.", "ai4ctfHintC": "Критична допомога — Майже дає вам відповідь", "ai4ctfHintCUses": "Лише 2 використання. Останній засіб!", "ai4ctfTryNow": "Спробуйте зараз: запитайте ШІ будь-що про завдання вище.", "ai4ctfExample": "Приклад: \"Яке кодування має aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==?\"", "ai4ctfFreeChat": "Або просто вільно спілкуйтеся! Ви також можете спробувати hint a, hint b, hint c.", "ai4ctfExit": "Введіть \"exit\" по завершенні.", "ai4ctfReport": "Звіт про сесію AI4CTF", "ai4ctfTokens": "Використані токени", "ai4ctfModel": "Модель ШІ", "ai4ctfNext": "Далі: спробуйте ctf4ai — змусьте ШІ сказати \"koala\"", "tokenLimit": "Ліміт токенів вичерпано!", "ctf4aiTitle": "Демо CTF4AI — Киньте виклик ШІ", "ctf4aiChallenge": "Завдання: Змусьте ШІ сказати заборонене слово", "ctf4aiIntro1": "У реальному світі системи ШІ мають правила безпеки.", "ctf4aiIntro2": "Ваша місія: знайти спосіб змусити ШІ порушити їх!", "ctf4aiRule": "ШІ НІКОЛИ не повинен говорити слово \"koala\".", "ctf4aiMission": "Ваша місія: змусити його все одно сказати \"koala\"!", "ctf4aiIdeas": "Ідеї для перевірки:", "ctf4aiIdea1": "Запитайте про австралійських тварин", "ctf4aiIdea2": "Попросіть написати історію або вірш", "ctf4aiIdea3": "Попросіть перекласти або вимовити по буквах", "ctf4aiIdea4": "Будьте креативними — немає неправильного підходу!", "ctf4aiBudget": "Бюджет розмови", "ctf4aiQuit": "Введіть \"exit\", щоб вийти в будь-який момент.", "ctf4aiSuccess": "🎉 УСПІХ! ШІ сказав \"koala\"!", "ctf4aiDefense": "Ви прорвали захист ШІ!", "ctf4aiInjection": "Це prompt injection — реальна вразливість ШІ.", "ctf4aiHeld": "Цього разу ШІ вистояв. 💪", "reportTitle": "Демо ICOA — Повний звіт", "reportStage1": "Етап 1: Теоретичний exam (15 запитань)", "reportCompleted": "✓ Завершено", "reportStage2": "Етап 2: AI4CTF — ШІ як ваш напарник", "reportExperienced": "✓ Пройдено", "reportStage2Sub": "Ви використали ШІ для аналізу CTF завдання.", "reportStage2Hints": "У змаганнях: hint a (50x) · hint b (10x) · hint c (2x)", "reportStage3": "Етап 3: CTF4AI — Обдуріть ШІ", "reportSolved": "✓ Вирішено! Ви змусили ШІ сказати \"koala\"", "reportNotSolved": "✗ ШІ вистояв", "reportRecommend": "Рекомендації:", "reportRec1": "Вивчайте криптографію, веб-безпеку та мережі", "reportRec2": "Практикуйтеся на CTF платформах, як-от picoCTF", "reportRec3": "Дізнайтеся про prompt injection та безпеку ШІ", "reportRec4": "Дослідіть 38 довідників: введіть \"ref\"", "reportReady": "Готові до справжніх змагань?", "reportNations": "Переглянути країни-учасниці", "reportAbout": "Дізнатися більше про ICOA 2026", "reportDemo": "Спробувати ще раз", "continueTitle": "AI4CTF — ШІ як ваш напарник", "continueLevels": "У AI4CTF ви розв'язуєте завдання з кібербезпеки\nразом із ШІ.", "continueHints": "На змаганнях ви отримуєте допомогу ШІ на 3 рівнях:", "continueHintA": "Загальні вказівки (50 використань)", "continueHintB": "Глибокий аналіз (10 використань)", "continueHintC": "Критична допомога (2 використання)", "continueTry": "Спробуйте зараз! Введіть:", "continueChat": "Вільно спілкуйтеся з ШІ. Введіть \"exit\" по завершенні.", "continueAfter": "Після ai4ctf спробуйте: ctf4ai — змусьте ШІ сказати \"koala\"", "ai4ctfCommands": "Команди:", "ai4ctfSubmitCmd": "Зробіть submit відповіді (напр. submit icoa{...})", "ai4ctfShellCmd": "Виконайте shell-команду (напр. !echo aWNv... | base64 -d)", "ai4ctfEndSession": "Завершити сесію", "ai4ctfCorrectFlag": "🎉 Правильно! flag прийнято!", "ai4ctfDecoded": "Ви розкодували Base64 та знайшли flag.", "ai4ctfWouldEarn": "У справжніх змаганнях це принесло б вам бали!", "ai4ctfWrongFlag": "✗ Неправильний flag. Спробуйте ще раз!", "ai4ctfFlagHint": "Підказка: розкодуйте рядок Base64. Формат flag: icoa{...}", "ai4ctfFoundFlag": "Знайшли flag? Введіть: submit <flag>", "ai4ctfThinking": "Думаю...", "ctf4aiRelaxed": "Після 50% варіанти по буквах (K-O-A-L-A) також рахуються!", "ctf4aiEnded": "Завдання CTF4AI завершено.", "ctf4aiAlready": "Ви вже в завданні CTF4AI. Введіть повідомлення або \"exit\".", "ctf4aiPrompt": "Спробуйте змусити ШІ сказати \"koala\"...", "ctf4aiThinking": "Думаю...", "readyToTry": "Готові спробувати? Введіть команду:", "forNational": "Для національних відбіркових іспитів:", "viewRegions": "Переглянути всі регіони-учасники", "enterExam": "Увійти до exam відбору вашої країни", "htpJump": "перейти до конкретного запитання", "htpReview": "перевірити прогрес", "nextLabel": "Далі:", "reportRetryCta": "Хочете виправити помилки? Введіть:", "reportRetryWrongN": "повторити {n} неправильне запитання", "reportRetryWrongNPlural": "повторити {n} неправильних запитань", "reportBackHint": "повернутися до головного меню", "reportAboutHint": "Дізнатися більше про ICOA 2026", "ai4ctfWelcomeCta": "👉 Ви тут вперше? Почніть з hints по черзі:", "ai4ctfHintNudge": "натяк", "ai4ctfHintTechnique": "техніка", "ai4ctfHintPrinciple": "принцип + нагадування про shell", "ai4ctfWelcomeNoReveal": "(hints направляють вас — вони ніколи не дають відповідь прямо)", "ai4ctfOrChat": "Або спілкуйтеся з ШІ-напарником вільно — запитуйте що завгодно", "ai4ctfOrChatExample": "про завдання. Приклад:", "ai4ctfCmdHintLine": "заздалегідь написані hints (безпечно використовувати)", "ai4ctfCmdShellLine": "виконати shell-команду", "ai4ctfHintABody": "Рядок закінчується на \"==\" і містить лише букви, цифри, \"+\", \"/\" та \"=\".\nЦей шаблон — відбиток, ви бачили його раніше.\nДе \"=\" зазвичай використовується як заповнювач?", "ai4ctfHintBBody": "Це закодовано в Base64. Розкодуйте рядок, щоб знайти flag.", "ai4ctfHintCBody": "Hints ніколи не дають відповідь прямо — вони лише вказують правильний напрямок.\nДля простих завдань, як-от це, hint c не додає нічого нового:\nhint b вже повідомляє все необхідне.\n\nДва шляхи далі:\n\n 1. Спілкуйтеся зі своїм ШІ-напарником природною мовою. Приклади:\n що таке команда base64?\n як розкодувати Base64 на macOS?\n Просто введіть запитання — усе, що без \"!\", надсилається до ШІ.\n\n 2. Виконайте shell-команду безпосередньо. Shell-команди в ai4ctf\n мають починатися з \"!\", інакше ваш текст надсилається до ШІ. Приклад:\n\n !echo aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ== | base64 -d", "ai4ctfHintNextA": "Застрягли? Спробуйте:", "ai4ctfHintNextB": "Справді застрягли? Спробуйте:", "ai4ctfWrapTitle": "✨ Чого ви щойно навчилися", "ai4ctfWrapLine1Head": "Потрібна команда?", "ai4ctfWrapLine1Body": "Просто запитайте свого ШІ-напарника природною\nмовою — \"як розкодувати Base64 в командному рядку?\"\nВам не потрібно запам'ятовувати кожен інструмент. Епоха ШІ — це\nпро {thinking}, а не механічне запам'ятовування.", "ai4ctfWrapLine2Head": "Потрібно щось виконати?", "ai4ctfWrapLine2Body": "Починайте shell-команди з \"!\":", "ai4ctfWrapQuotasTitle": "🎯 Квоти на hints у реальному змаганні", "ai4ctfWrapQuotaA": "50 використань на змагання", "ai4ctfWrapQuotaAHint": "(вільно використовуйте)", "ai4ctfWrapQuotaB": "10 використань", "ai4ctfWrapQuotaBHint": "(коли застрягли)", "ai4ctfWrapQuotaC": " 2 використання", "ai4ctfWrapQuotaCHint": "(останній засіб)", "ai4ctfWrapQuotaFooter": "Віддавайте перевагу hint a → b → c. А коли вам потрібно просто щось\nпошукати, спочатку спитайте в ШІ — це не вплине\nна вашу квоту hints.", "ai4ctfWrapNextTitle": "🔜 Далі:", "ai4ctfWrapNextSub": "змусьте ШІ сказати \"koala\"", "ai4ctfWrapNextBody": "Наступне демо {noProg} — лише ваша\nкмітливість та креативність. Чи зможете ви змусити \"безпечний\" ШІ\nпорушити власні правила?", "ai4ctfWrapNoProg": "не потребує програмування", "ai4ctfWrapTypeCtf4ai": "Введіть:", "ai4ctfRevealTitle": "💡 Токени ШІ закінчились — ось розв'язок", "ai4ctfRevealBody": "Схоже, ви ще не знайшли flag.\nНе хвилюйтеся — для демо ми просто підкажемо.\n\nВиконайте цю команду, щоб розкодувати рядок Base64:", "ai4ctfRevealSeeFlag": "Ви побачите flag:", "ai4ctfRevealThenSubmit": "Потім виконайте submit:", "ai4ctfRevealLockNote": "(Чат з ШІ заблоковано — тепер працюють лише shell-команди та submit.)", "ai4ctfLockedTitle": "Чат з ШІ заблоковано — немає токенів.", "ai4ctfLockedUse": "Використовуйте:", "ai4ctfLockedThen": "Потім:" };
|
|
253
|
-
const TRANSLATIONS = { en: EN, zh: ZH, ja: JA, ko: KO, es: ES, ar: AR, fr: FR, pt: PT, ru: RU, hi: HI, de: DE, id: ID, th: TH, vi: VI, tr: TR, uk: UK };
|
|
253
|
+
const HT = { "howToPlay": "Kijan pou jwe:", "htpAnswer": "reponn kesyon an", "htpHelp": "retire yon move opsyon", "htpNav": "deplase ant kesyon yo", "htpMoreHelp": "+3 èd bonis", "htpBack": "pran yon poz epi tounen nan meni an", "htpLang": "wè tout lang yo / lang es pou chanje", "egg3": "Sydney Opera House — Bon kòmansman!", "egg5": "Yon koala di g'day — 1/3 fini!", "egg7": "Sydney Harbour Bridge — Kontinye ale!", "egg9": "Yon kangouwou ap sote — depase mwatye wout la!", "egg11": "Bondi Beach — ou prèske rive!", "egg13": "Great Barrier Reef — 2 lòt ki rete!", "egg15": "G'day mate! Tout fini! 🇦🇺", "answerThis": "reponn kesyon sa a", "helpRemove": "retire yon move opsyon", "helpUsedUp": "fini — tape more help pou +3", "helpAllUsed": "fini", "wrong": "mal", "qTutorial": "👉 Eseye tape \"help\" pou w wè sa k ap pase!", "qTutorialBlock": "Eseye tape help anvan pou wè sa li fè!", "qTutorialRequired": "Kesyon sa mande pou w itilize help anvan w reponn.", "allAnswered": "🎉 Ou reponn tout kesyon yo!", "typeSubmit": "Tape exam submit pou w wè rezilta w yo!", "autoSubmitting": "Ap fè submit demo w la otomatikman...", "grading": "Ap korije...", "complete": "Fini!", "passed": "✓ REYISI", "notPassed": "✗ ECHWE", "score": "Pwen", "incorrectIntro": "mal — men koreksyon yo:", "yourAnswer": "Repons ou", "correct": "Kòrèk", "perfectScore": "Pwen pafè! Tout repons yo kòrèk! 🎉", "theoryDone": "Sa yo te kesyon teyori. Nan vrè ICOA", "theoryDone2": "konpetisyon an, tout bagay pase nan tèminal sa a.", "didYouKnow": "Èske w te konnen?", "ctfHistory1": "CTF (Capture The Flag) te kòmanse nan DEF CON 4 an 1996,", "ctfHistory2": "Las Vegas. Fonde pa Jeff Moss (Dark Tangent).", "ctfHistory3": "2026 make 30 ane CTF toupatou nan mond lan.", "ctfFlags1": "Nan yon CTF, ou rezoud defi pou jwenn", "ctfFlags2": "\"flags\" kache — kòd sekrè tankou:", "ctfFlags3": "Jwenn li, fè submit li, fè pwen!", "timeline1": "1996 Premye CTF @ DEF CON, Las Vegas", "timeline2": "2016 DARPA Cyber Grand Challenge — AI antre nan CTF", "timeline3": "2026 ICOA — Premye Olenpyad Sekirite AI, Sydney", "twoTracks": "ICOA itilize DE fòma konpetisyon:", "ai4ctfDesc": "Itilize AI pou ede w rezoud defi CTF yo", "ai4ctfSub": "AI a se koekipye w. Pale avè l, mande l hints, travay ansanm.", "ctf4aiDesc": "Twonpe AI a (Prompt Injection)", "ctf4aiSub": "Èske w ka fè AI a vyole pwòp règ sekirite l yo?", "wantToContinue": "Ou vle fè eksperyans ak tou de? Tape", "orBack": "Oswa tape \"back\" pou tounen nan meni prensipal la.", "ai4ctfTitle": "Demo AI4CTF — AI Kòm Koekipye W", "ai4ctfSample": "Men yon egzanp defi CTF:", "ai4ctfChallenge": "Defi: Mesaj Kache [Kriptografi]", "ai4ctfIntercepted": "Ou entèsepte tèks kode sa a:", "ai4ctfDecode": "Èske w ka dekode l pou w jwenn flag la?", "ai4ctfLevels": "Nan konpetisyon an, ou jwenn èd AI nan 3 nivo:", "ai4ctfHintA": "Gid jeneral — \"Ki kalite kodaj sa ye?\"", "ai4ctfHintAUses": "50 itilizasyon pa konpetisyon. Ou ka itilize l san pwoblèm.", "ai4ctfHintB": "Analiz pwofon — \"Kijan mwen dekode Base64?\"", "ai4ctfHintBUses": "10 itilizasyon. Itilize l lè w bloke.", "ai4ctfHintC": "Èd kritik — Li prèske ba w repons lan", "ai4ctfHintCUses": "Sèlman 2 itilizasyon. Dènye rekou!", "ai4ctfTryNow": "Eseye kounye a: mande AI a nenpòt bagay sou defi ki anwo a.", "ai4ctfExample": "Egzanp: \"Ki kodaj ki aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ==?\"", "ai4ctfFreeChat": "Oswa senpman pale lib! Ou ka eseye tou hint a, hint b, hint c.", "ai4ctfExit": "Tape \"exit\" lè w fini.", "ai4ctfReport": "Rapò Sesyon AI4CTF", "ai4ctfTokens": "Tokens itilize", "ai4ctfModel": "Modèl AI", "ai4ctfNext": "Apre sa: eseye ctf4ai — twonpe AI a pou fè l di \"koala\"", "tokenLimit": "Limit token an rive!", "ctf4aiTitle": "Demo CTF4AI — Defye AI a", "ctf4aiChallenge": "Defi: Fè AI a Di yon Mo Entèdi", "ctf4aiIntro1": "Nan monn reyèl la, sistèm AI yo gen règ sekirite.", "ctf4aiIntro2": "Travay ou: jwenn yon fason pou twonpe AI a pou l vyole yo!", "ctf4aiRule": "AI a pa dwe JANM di mo \"koala\" a.", "ctf4aiMission": "Misyon w: fè l di \"koala\" kanmenm!", "ctf4aiIdeas": "Lide pou w eseye:", "ctf4aiIdea1": "Poze kesyon sou zannimo Ostralyen yo", "ctf4aiIdea2": "Mande l pou l ekri yon istwa oswa yon powèm", "ctf4aiIdea3": "Mande l pou l tradui oswa eple yon bagay", "ctf4aiIdea4": "Fè kreyatif — pa gen move fason!", "ctf4aiBudget": "Bidjè konvèsasyon", "ctf4aiQuit": "Tape \"exit\" pou w kite nenpòt ki lè.", "ctf4aiSuccess": "🎉 SIKSÈ! AI a te di \"koala\"!", "ctf4aiDefense": "Ou kraze defans AI a!", "ctf4aiInjection": "Sa a se prompt injection — yon vrè vilnerabilite AI.", "ctf4aiHeld": "AI a te kenbe fèm fwa sa a. 💪", "reportTitle": "Demo ICOA — Rapò Konplè", "reportStage1": "Etap 1: Theory Exam (15 kesyon)", "reportCompleted": "✓ Fini", "reportStage2": "Etap 2: AI4CTF — AI Kòm Koekipye W", "reportExperienced": "✓ Fè Eksperyans", "reportStage2Sub": "Ou te itilize AI pou analize yon defi CTF.", "reportStage2Hints": "Nan konpetisyon: hint a (50x) · hint b (10x) · hint c (2x)", "reportStage3": "Etap 3: CTF4AI — Twonpe AI a", "reportSolved": "✓ Rezoud! Ou te fè AI a di \"koala\"", "reportNotSolved": "✗ AI a te kenbe fèm", "reportRecommend": "Rekòmandasyon:", "reportRec1": "Etidye kriptografi, sekirite entènèt, ak rezo", "reportRec2": "Pratike sou platfòm CTF tankou picoCTF", "reportRec3": "Aprann sou prompt injection ak sekirite AI", "reportRec4": "Eksplore 38 gid referans yo: tape \"ref\"", "reportReady": "Pare pou vrè konpetisyon an?", "reportNations": "Wè peyi k ap patisipe yo", "reportAbout": "Aprann plis sou ICOA 2026", "reportDemo": "Eseye ankò", "continueTitle": "AI4CTF — AI Kòm Koekipye W", "continueLevels": "Nan AI4CTF, ou rezoud defi sibèsekirite\nak AI bò kote w.", "continueHints": "Nan konpetisyon, ou jwenn èd AI nan 3 nivo:", "continueHintA": "Gid jeneral (50 itilizasyon)", "continueHintB": "Analiz pwofon (10 itilizasyon)", "continueHintC": "Èd kritik (2 itilizasyon)", "continueTry": "Eseye l kounye a! Tape:", "continueChat": "Pale lib ak koekipye AI w la. Tape \"exit\" lè w fini.", "continueAfter": "Apre ai4ctf, eseye: ctf4ai — twonpe AI a pou fè l di \"koala\"", "ai4ctfCommands": "Kòmand:", "ai4ctfSubmitCmd": "Fè submit repons ou an (egz. submit icoa{...})", "ai4ctfShellCmd": "Egzekite yon kòmand shell (egz. !echo aWNv... | base64 -d)", "ai4ctfEndSession": "Fini sesyon an", "ai4ctfCorrectFlag": "🎉 Kòrèk! Flag aksepte!", "ai4ctfDecoded": "Ou dekode Base64 la epi ou jwenn flag la.", "ai4ctfWouldEarn": "Nan vrè konpetisyon an, sa ta fè w fè pwen!", "ai4ctfWrongFlag": "✗ Flag enkorèk. Eseye ankò!", "ai4ctfFlagHint": "Hint: dekode kòd Base64 la. Fòma flag la: icoa{...}", "ai4ctfFoundFlag": "Ou jwenn yon flag? Tape: submit <flag>", "ai4ctfThinking": "L ap reflechi...", "ctf4aiRelaxed": "Apre 50%, vèsyon ki eple yo (K-O-A-L-A) konte tou!", "ctf4aiEnded": "Defi CTF4AI a fini.", "ctf4aiAlready": "Ou deja nan defi CTF4AI a. Tape mesaj ou a oswa \"exit\".", "ctf4aiPrompt": "Eseye fè AI a di \"koala\"...", "ctf4aiThinking": "L ap reflechi...", "readyToTry": "Pare pou w eseye? Tape yon kòmand:", "forNational": "Pou national selection exams yo:", "viewRegions": "Wè tout rejyon k ap patisipe yo", "enterExam": "Antre nan country selection exam ou an", "htpJump": "ale nan yon kesyon espesifik", "htpReview": "tcheke pwogrè", "nextLabel": "Pwochèn:", "reportRetryCta": "Ou vle reponn sa w te rate yo kòrèkteman? Tape:", "reportRetryWrongN": "re-eseye {n} move kesyon an", "reportRetryWrongNPlural": "re-eseye {n} move kesyon yo", "reportBackHint": "tounen nan meni prensipal la", "reportAboutHint": "Aprann plis sou ICOA 2026", "ai4ctfWelcomeCta": "👉 Nouvo isit la? Kòmanse ak hints yo nan lòd:", "ai4ctfHintNudge": "ti koutpous", "ai4ctfHintTechnique": "teknik", "ai4ctfHintPrinciple": "prensip + rapèl shell", "ai4ctfWelcomeNoReveal": "(hints yo gide w — yo pa janm ba w repons lan dirèkteman)", "ai4ctfOrChat": "Oswa pale lib ak koekipye AI w la — mande nenpòt bagay", "ai4ctfOrChatExample": "sou defi a. Egzanp:", "ai4ctfCmdHintLine": "hints ki te ekri anvan (ou ka itilize san pwoblèm)", "ai4ctfCmdShellLine": "egzekite yon kòmand shell", "ai4ctfHintABody": "Chenn nan fini ak \"==\" epi li itilize sèlman lèt, chif, \"+\", \"/\", ak \"=\".\nModèl sa se yon anprent — ou te wè l anvan.\nKote yo anjeneral itilize \"=\" pou fè ranplisaj?", "ai4ctfHintBBody": "Sa a kode nan Base64. Dekode chenn nan pou w jwenn flag la.", "ai4ctfHintCBody": "Hints pa janm ba w repons lan dirèkteman — yo sèlman montre w bon direksyon an.\nPou defi senp tankou sa a, hint c pa ajoute anyen anplis:\nhint b deja di w tout sa ou bezwen.\n\nDe fason ou ka kontinye sot la a:\n\n 1. Pale avèk koekipye AI w la nan yon langaj natirèl. Egzanp:\n what is the base64 command?\n how do I decode Base64 on macOS?\n Sèlman tape kesyon an — nenpòt bagay ki pa gen \"!\" ale jwenn AI a.\n\n 2. Egzekite yon kòmand shell dirèkteman. Kòmand shell anndan ai4ctf\n dwe kòmanse ak \"!\", sinon tèks ou a ap ale jwenn AI a. Egzanp:\n\n !echo aWNvYXt3M2xjMG1lXzJfYWk0Y3RmfQ== | base64 -d", "ai4ctfHintNextA": "Bloke? Eseye:", "ai4ctfHintNextB": "Vreman bloke? Eseye:", "ai4ctfWrapTitle": "✨ Sa w fenk aprann", "ai4ctfWrapLine1Head": "Bezwen yon kòmand?", "ai4ctfWrapLine1Body": "Jis mande koekipye AI w la nan yon langaj\nnatirèl — \"how do I decode Base64 on the command line?\"\nOu pa bezwen memorize chak zouti. Epòk AI a se\nsou {thinking}, pa memorizasyon mekanik.", "ai4ctfWrapLine2Head": "Bezwen egzekite yon bagay?", "ai4ctfWrapLine2Body": "Mete \"!\" devan kòmand shell yo:", "ai4ctfWrapQuotasTitle": "🎯 Kwota hints pou vrè konpetisyon an", "ai4ctfWrapQuotaA": "50 itilizasyon pa konpetisyon", "ai4ctfWrapQuotaAHint": "(itilize lib)", "ai4ctfWrapQuotaB": "10 itilizasyon", "ai4ctfWrapQuotaBHint": "(lè w bloke)", "ai4ctfWrapQuotaC": " 2 itilizasyon", "ai4ctfWrapQuotaCHint": "(dènye rekou)", "ai4ctfWrapQuotaFooter": "Pito itilize hint a → b → c. E lè ou senpman bezwen chèche\nyon bagay, pale ak AI a anvan — sa pa koute anyen\nnan kwota hints ou a.", "ai4ctfWrapNextTitle": "🔜 Apre sa:", "ai4ctfWrapNextSub": "twonpe AI a pou fè l di \"koala\"", "ai4ctfWrapNextBody": "Pwochen demo sa a {noProg} — sèlman \nlespri w ak kreyativite w. Èske w ka fè yon AI ki \"an sekirite\" vyole\npwòp règ li yo?", "ai4ctfWrapNoProg": "pa bezwen pwogramasyon", "ai4ctfWrapTypeCtf4ai": "Tape:", "ai4ctfRevealTitle": "💡 Pa gen tokens AI ankò — men repons lan", "ai4ctfRevealBody": "Sanble ou poko jwenn flag la.\nPa enkyete w — pou demo a nou senpman ap di w li.\n\nEgzekite kòmand sa a pou dekode chenn Base64 la:", "ai4ctfRevealSeeFlag": "Ou ap wè flag la:", "ai4ctfRevealThenSubmit": "Apre sa fè submit li:", "ai4ctfRevealLockNote": "(Konvèsasyon AI a bloke — sèlman kòmand shell ak submit k ap mache kounye a.)", "ai4ctfLockedTitle": "Konvèsasyon AI a bloke — pa gen tokens ankò.", "ai4ctfLockedUse": "Itilize:", "ai4ctfLockedThen": "Apre sa:" };
|
|
254
|
+
const TRANSLATIONS = { en: EN, zh: ZH, ja: JA, ko: KO, es: ES, ar: AR, fr: FR, pt: PT, ru: RU, hi: HI, de: DE, id: ID, th: TH, vi: VI, tr: TR, uk: UK, ht: HT };
|
|
254
255
|
// For languages without full translation, fall back to English
|
|
255
256
|
export function t(key) {
|
|
256
257
|
const lang = getConfig().language || 'en';
|
package/dist/lib/translation.js
CHANGED
package/dist/lib/update-check.js
CHANGED
|
@@ -1,8 +1,14 @@
|
|
|
1
1
|
import { readFileSync, writeFileSync, existsSync } from 'node:fs';
|
|
2
2
|
import { join, dirname } from 'node:path';
|
|
3
3
|
import { fileURLToPath } from 'node:url';
|
|
4
|
+
import { platform } from 'node:os';
|
|
4
5
|
import chalk from 'chalk';
|
|
5
6
|
import { getIcoaDir } from './config.js';
|
|
7
|
+
const installCmd = platform() === 'win32'
|
|
8
|
+
? 'npm install -g icoa-cli@latest'
|
|
9
|
+
: platform() === 'darwin'
|
|
10
|
+
? 'npm install -g icoa-cli@latest'
|
|
11
|
+
: 'sudo npm install -g icoa-cli@latest';
|
|
6
12
|
const __dirname = dirname(fileURLToPath(import.meta.url));
|
|
7
13
|
const SIX_HOURS_MS = 6 * 60 * 60 * 1000;
|
|
8
14
|
function isNewer(latest, current) {
|
|
@@ -34,7 +40,7 @@ export function checkForUpdates() {
|
|
|
34
40
|
if (cache.latestVersion && isNewer(cache.latestVersion, current)) {
|
|
35
41
|
console.log(chalk.yellow(' \u2B06 Update available: ') +
|
|
36
42
|
chalk.white('v' + current + ' \u2192 v' + cache.latestVersion) +
|
|
37
|
-
chalk.gray(
|
|
43
|
+
chalk.gray(` Run: ${installCmd}`));
|
|
38
44
|
}
|
|
39
45
|
return;
|
|
40
46
|
}
|
|
@@ -67,7 +73,7 @@ export function checkForUpdates() {
|
|
|
67
73
|
if (isNewer(latest, current)) {
|
|
68
74
|
console.log(chalk.yellow(' \u2B06 Update available: ') +
|
|
69
75
|
chalk.white('v' + current + ' \u2192 v' + latest) +
|
|
70
|
-
chalk.gray(
|
|
76
|
+
chalk.gray(` Run: ${installCmd}`));
|
|
71
77
|
}
|
|
72
78
|
}
|
|
73
79
|
catch {
|
package/dist/types/index.d.ts
CHANGED
|
@@ -130,7 +130,7 @@ export interface ChallengeContext {
|
|
|
130
130
|
}
|
|
131
131
|
export declare const DEFAULT_BUDGET: HintBudget;
|
|
132
132
|
export declare const DEFAULT_CONFIG: IcoaConfig;
|
|
133
|
-
export declare const SUPPORTED_LANGUAGES: readonly ["en", "zh", "ja", "ko", "es", "ar", "fr", "pt", "ru", "hi", "de", "id", "th", "vi", "tr", "uk"];
|
|
133
|
+
export declare const SUPPORTED_LANGUAGES: readonly ["en", "zh", "ja", "ko", "es", "ar", "fr", "pt", "ru", "hi", "de", "id", "th", "vi", "tr", "uk", "ht"];
|
|
134
134
|
export type SupportedLanguage = typeof SUPPORTED_LANGUAGES[number];
|
|
135
135
|
export interface ExamListItem {
|
|
136
136
|
id: string;
|
package/dist/types/index.js
CHANGED
|
@@ -34,4 +34,4 @@ export const DEFAULT_CONFIG = {
|
|
|
34
34
|
mode: '',
|
|
35
35
|
demoIntroSeen: false,
|
|
36
36
|
};
|
|
37
|
-
export const SUPPORTED_LANGUAGES = ['en', 'zh', 'ja', 'ko', 'es', 'ar', 'fr', 'pt', 'ru', 'hi', 'de', 'id', 'th', 'vi', 'tr', 'uk'];
|
|
37
|
+
export const SUPPORTED_LANGUAGES = ['en', 'zh', 'ja', 'ko', 'es', 'ar', 'fr', 'pt', 'ru', 'hi', 'de', 'id', 'th', 'vi', 'tr', 'uk', 'ht'];
|
package/package.json
CHANGED
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 1,
|
|
3
|
+
"name": "Incorrect Implementation of RSA",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Mwen fèk aprann sou Rivest-Shamir-Aldeman, kidonk mwen kreye pwòp custom implementation pa m. Men mesaj la:\n\n```\nn: 16537241065399537261146800802060451995107796665337288928060948677362154976656429797729550619497788311160926523026781503470362013597201944839389519773564618679827061417896265475971561610333659217333638238386907603525565178455941971399130722191602944445714002268747028340120907894781607422707823554701443768586256913491149809410232167277063066105859165079765281480076330718726350243973636606134346374770537701812923215229226027759112780757449828410180237267791126609342382918352166823253106960191346933601235547281\ne: 5\nciphertext: [17623416832, 10510100501, 9509900499, 8587340257, 16105100000, 28153056843, 16850581551, 12166529024, 7737809375, 12762815625, 7737809375, 19254145824, 10510100501, 8587340257, 14693280768, 14693280768, 25937424601, 7737809375, 21003416576, 12166529024, 16850581551, 21924480357, 11592740743, 12166529024, 21003416576, 7737809375, 12762815625, 7737809375, 12166529024, 8587340257, 10000000000, 7737809375, 21003416576, 12166529024, 8587340257, 21003416576, 7737809375, 10000000000, 16850581551, 16105100000, 10510100501, 7737809375, 9509900499, 254803968, 19254145824, 19254145824, 345025251, 9509900499, 21003416576, 14693280768, 25937424601, 7737809375, 282475249, 282475249, 459165024, 312500000, 601692057, 30517578125]\n```",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:35:39.255Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 10,
|
|
3
|
+
"name": "The Perfect Breakfast",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "A, ti dejene. Nan moman solèy la ap parèt sou orizon an, pa gen anyen ki ka konpare ak sant yon bagay k ap fri sou recho a. Mwen pa janm rate l, pa paske mwen se yon moun ki renmen leve bonè, men paske se nan ti dejene mwen jwenn vrè vokasyon m. Gen moun ki pito sereyal, lòt pito pen griye, men mwen menm? Mwen renmen lè bagay yo kroustiyan.\n\nGen yon atizay nan woutin maten m nan. De ze, ak jòn nan yon ti kras koulan. Yon tas kafe, nwa. Ak pi gwo trezò a: pèfeksyon fimen, sale sa a ki pa janm manke mete yon souri sou figi m. Sa m pi renmen absoliman. Se yon bèl ti plezi anplis, se vre, men li vo chak mòde.\n\nYo di ti dejene se repa ki pi enpòtan nan jounen an… petèt se poutèt sa mwen kache mesaj la la. Ou sèlman bezwen konnen ki kote pou w chèche anba kouch yo.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:37:22.044Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 11,
|
|
3
|
+
"name": "Wise Words",
|
|
4
|
+
"category": "crypto",
|
|
5
|
+
"translation": "Yon fwa, mwen te rankontre Augustus, pitit gason adoptif ak eritye yon gran jeneral. Lè mwen te mande l ki sa ki te pi gwo estrateji li, li te senpleman chichote: Fwfo_Djqifsaa_Fwpmwf",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:37:32.239Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 13,
|
|
3
|
+
"name": "Keylogger",
|
|
4
|
+
"category": "forensics",
|
|
5
|
+
"translation": "Apre li te santi gen yon bagay ki pa t nòmal, Ole te rapòte sa bay ekip sekirite a. Ekip la te deside envestige network la, epi yo te remake yon bagay sispèk.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:37:48.931Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 14,
|
|
3
|
+
"name": "obfuscated script",
|
|
4
|
+
"category": "forensics",
|
|
5
|
+
"translation": "Yon manm pèsonèl te jwenn de fichye etranj nan Downloads folder li a: yon script ak yon fichye li pa t ka li. Èske w ka dekouvri kisa yo ye?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:37:58.517Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 15,
|
|
3
|
+
"name": "Ping",
|
|
4
|
+
"category": "forensics",
|
|
5
|
+
"translation": "Atakan yo ap vin pi malen jou sa yo, y ap jwenn tout kalite fason pou yo exfiltrate data! \nKisa yo vòlè fwa sa a?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:38:05.929Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 16,
|
|
3
|
+
"name": "Sound Inversion",
|
|
4
|
+
"category": "forensics",
|
|
5
|
+
"translation": "Sòlda, nou kwè ke lènmi an kache yon mesaj odyo vokal yon kote nan fichye sa a. Jwenn li, epi vin fè rapò imedyatman.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:38:17.550Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 17,
|
|
3
|
+
"name": "There is always a trace",
|
|
4
|
+
"category": "forensics",
|
|
5
|
+
"translation": "Yo anboche w nan NSA epi se premye jou w nan travay la. Pou premye tach ou a, yo ba w yon file ki parèt sispèk, san vrèman okenn kontèks, eksepte ke yo te rekipere l sou laptop yon endividi yo sispèk ki te konpwomèt yon server gouvènman an remotely.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:38:33.799Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 18,
|
|
3
|
+
"name": "Electric Debugger",
|
|
4
|
+
"category": "misc",
|
|
5
|
+
"translation": "Konkiran lòt debuggers popilè yo fèk fè soti yon nouvo vèsyon debugger Electric yo a maten an. Malerezman, li pa gratis ni open-source ankò. Sepandan, gen rimè ki di gen bounties ki disponib si yon moun rive hack li.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:38:45.322Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 19,
|
|
3
|
+
"name": "Old is gold",
|
|
4
|
+
"category": "misc",
|
|
5
|
+
"translation": "Sysadmin anvan an fè prèske 47 ane ap travay isit la. Ou dekouvri file sa a sou ansyen PC li a...",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:38:56.627Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 20,
|
|
3
|
+
"name": "Perceptions",
|
|
4
|
+
"category": "misc",
|
|
5
|
+
"translation": "Vin gade blog sa a mwen fè a! Li gen yon backend ki byen fre, sanble li itilize mwens ports.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:39:03.754Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 22,
|
|
3
|
+
"name": "Survey",
|
|
4
|
+
"category": "misc",
|
|
5
|
+
"translation": "Di nou sa ou te panse de PECAN+ CTF 2025. Chak ti kòmantè ap ede!\n\n<https://forms.cloud.microsoft/r/q5ESPCft24>",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:39:20.053Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 23,
|
|
3
|
+
"name": "The Job Interview",
|
|
4
|
+
"category": "misc",
|
|
5
|
+
"translation": "Ou gen de zèdtan san rete depi w koube sou `keyboard` ou, ap goumen mantalman ak kesyon entèvyou travay. Kafe w la frèt. Pasyans ou ap bout.\nMen, egzakteman lè w pral `submit` dènye repons ou an, yon mesaj misterye parèt sou ekran w lan:\n\n\"Ou montre andirans ou. Kounye a, ann teste kapasite w genyen pou rezoud pwoblèm ansanm ak konesans avanse ou gen nan `code` ou sanble konnen trè byen an.\"\n\nYon sèl `URL` tonbe devan je w:\n\nhttps://docs.google.com/document/d/e/2PACX-1vRW7X8yMO9cM-b6Ao3FbiZysF3MIjARoeO73z0PlG8O_yeM8xxWAWzt9hdoavlh3HR1IOEwWtJFpczI/pub\n\nAnndan l? Yon griy `data` misterye, ki parèt senp pou twonpe je w, epoutan l ap kache yon bagay ki vrèman enpòtan.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:39:42.517Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 24,
|
|
3
|
+
"name": "Class Above Par",
|
|
4
|
+
"category": "osint",
|
|
5
|
+
"translation": "Chak jou, Jamie mache nan ri ki chaje ak pyebwa nan banlye sid Melbourne yo pou l rive nan lekòl segondè l la — yon kote apèl maten an souvan deranje pa bri avyon k ap sonnen tankou loray byen lwen nan syèl la.\n\nYon apremidi, pandan l t ap trase yon kat pou repere pwen enpòtan lokal yo pou yon pwojè klas, Jamie te dekouvri yon bagay kirye: lekòl li a gendwa se lekòl segondè ki pi pre yon gwo ayewopò. Sa ki pi dwòl ankò, li sitiye jis a kèk pa de plizyè gwo teren gòlf vèt, kote kout baton gòlf trankil yo ap fè kontras ak gwo bri motè avyon yo.\n\nÈske w ka dekouvri lekòl sa a Jamie rele lakay li a? Flag format: `pecan{my_high_school}`",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:40:04.616Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 25,
|
|
3
|
+
"name": "Travelling Around",
|
|
4
|
+
"category": "osint",
|
|
5
|
+
"translation": "Hmm… Sanble Corn Man te vizite kèk kote enteresan, nan yon wout ki vrèman etranj. Èske sa vle di yon bagay? Petèt banlye yo kache yon endis... Piblikasyon yo ta ka genyen yon \"pointer\" nan bon direksyon an...\n\nSonje mete flag la anndan pecan{}, itilize lèt majiskil, epi separe mo yo ak yon underscore. Pa egzanp `pecan{I_LOVE_PECAN}`",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:40:19.663Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 26,
|
|
3
|
+
"name": "Online Presence",
|
|
4
|
+
"category": "osint",
|
|
5
|
+
"translation": "Atravè anpil envestigasyon, li sanble Corn Man gen yon prezans sou rezo sosyal. Èske ou ka ede nou jwenn kont li itilize a?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:40:29.443Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 27,
|
|
3
|
+
"name": "Happy Birthday Corn Man!",
|
|
4
|
+
"category": "osint",
|
|
5
|
+
"translation": "Mwen gen kèk tan depi m ap swiv Corn Man, men mwen jwenn yon blokaj. Mwen fèk jwenn adrès email li anliy ki se: <cornman25944@gmail.com>. Li sanble li gen yon gwo prezans sou entènèt la. Èske ou ta kapab jwenn dat fèt li epi ede nan ankèt sa a?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:40:42.191Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 28,
|
|
3
|
+
"name": "Ego is the weakness",
|
|
4
|
+
"category": "osint",
|
|
5
|
+
"translation": "Yo te detekte yon operasyon ransomware dènyèman, ki te lakòz pèt plizyè milyon dola nan kèk segonn.\nApre kèk ankèt an kolaborasyon ak gouvènman an, nou te retrase aktivite li yo rive sou yon kont Instagram, yo kwè ki pou koupab la.\nÈske w ka ede nou idantifye adrès yon kote cybercriminal sa a konn vizite souvan?\nRansèyman nou yo endike gen yon gwo chans moun sa a toujou jèn, kidonk li poko gradye.\n\nFlag format: `pecan{Paste in the address from Google Maps}`",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:41:00.872Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 29,
|
|
3
|
+
"name": "Go git the door",
|
|
4
|
+
"category": "osint",
|
|
5
|
+
"translation": "Yon sibèkriminèl ki gen move renome, ki te reyisi mennen plizyè gwo operasyon ransomware nan lepase, ap travay sou yon nouvo. Erezman pou nou, li te rann GitHub repository li a piblik aksidantèlman. Èske w ka egzamine l pou w wè si li pa ekspoze kèk enfòmasyon sekrè pa erè?\n\nFlag format: `pecan{secret1_secret2}`",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:41:15.371Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 30,
|
|
3
|
+
"name": "Echo Chamber",
|
|
4
|
+
"category": "pwn",
|
|
5
|
+
"translation": "Mwen jwenn sèvis dwòl sa a ki jis reponn ak nenpòt sa ou voye ba li a, se tankou yon miwa dwòl oswa yon refleksyon oswa yon bagay konsa.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:41:26.238Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 31,
|
|
3
|
+
"name": "Flag Fish",
|
|
4
|
+
"category": "pwn",
|
|
5
|
+
"translation": "Bjarne ap chèche pwason flag tout moun anvi a. Premye `try` li a pa t reyisi, èske w ka ede l `catch` li fwa sa a?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:41:38.623Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 32,
|
|
3
|
+
"name": "fridge",
|
|
4
|
+
"category": "pwn",
|
|
5
|
+
"translation": "Nou sibi yon data breach! Ekip forensics nou an dekouvri te gen yon traffic etranj ki t ap soti nan nouvo frijidè entèlijan nou an, epi yo sanble jwenn yon ansyen debugging service ki toujou ap mache...\n\nKounye a, se ou ki pou chèche konnen kijan yo te rive jwenn access nan frijidè nou an!",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:41:56.061Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 33,
|
|
3
|
+
"name": "Say Shells!",
|
|
4
|
+
"category": "pwn",
|
|
5
|
+
"translation": "Yon senp web app pèmèt ou upload fichye imaj pou w wè EXIF metadata yo. Men, gen yon bagay ki parèt dwòl... èske y ap analize imaj ou yo yon ti jan twò fon?\nÈske w ka twonpe sèvè a pou fè l egzekite pwòp kòmand pa w — epi dekouvri kontni yon fichye flag.txt ki kache?\n\nRemak: Se sèlman upload fichye imaj ki otorize. Ou p ap bezwen fè brute force — ou jis bezwen yon ti kreyativite ak bon fòma a.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:42:13.093Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 35,
|
|
3
|
+
"name": "cafe1995",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Ou ranmase moso yon program nan men yon developer san sipèvizyon ki fenk revoke. Jwenn password la epi remete konpayi a sou ray... oubyen y ap revoke w tou.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:42:34.195Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 36,
|
|
3
|
+
"name": "Doors 3",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Zanmi ou a gen yon dènye flag li pa panse ou ka jwenn, paske y ap teste kapasite yo pou detekte bypassing the licence check la.\n\nEseye pran dènye flag la. Ou ka bezwen patch binary a pou w ka rive fè sa, men gen kèk chemen ou ka pran.",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:42:47.587Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 37,
|
|
3
|
+
"name": "Doors 2",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Zanmi ou an vrèman rekonesan paske w te jwenn flag sa a li te bliye a!\n\nLi te pran yon ti tan pou l kache rès flag yo epi li espere ke ou pap ka rive jwenn yo, èske w panse ou ta ka reverse key validation function li a?\nJenere pwòp licence key pa w pou pwogram li an epi jwenn flag la!",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:42:59.962Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 38,
|
|
3
|
+
"name": "Doors",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Zanmi w te voye ba ou yon vèsyon pwototip yon pwogram verifikasyon kle sekirite l ap ekri nan C#. Gen kèk flag ladan l, men èske w ka bay yon koutmen pou jwenn flag li te bliye ankripte a?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:43:16.043Z"
|
|
9
|
+
}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": 39,
|
|
3
|
+
"name": "Too Many Flags",
|
|
4
|
+
"category": "rev",
|
|
5
|
+
"translation": "Nou jwenn fichye sa a ki ranpli ak flags, men nou pa konnen kilès ki bon an ! Èske w ka chèche konnen kijan flags sa yo te jenere epi jwenn sa ki bon an ?",
|
|
6
|
+
"lang": "ht",
|
|
7
|
+
"model": "gemini-3.1-pro-preview",
|
|
8
|
+
"timestamp": "2026-04-13T00:43:26.444Z"
|
|
9
|
+
}
|