icoa-cli 2.19.19 → 2.19.21

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.
Files changed (60) hide show
  1. package/dist/commands/exam.js +207 -4
  2. package/dist/commands/lang.js +1 -0
  3. package/dist/lib/demo-exam.js +2 -1
  4. package/dist/lib/demo-stats.d.ts +16 -0
  5. package/dist/lib/demo-stats.js +65 -0
  6. package/dist/lib/i18n.js +2 -1
  7. package/dist/lib/translation.js +1 -0
  8. package/dist/repl.js +4 -3
  9. package/dist/types/index.d.ts +2 -1
  10. package/dist/types/index.js +2 -1
  11. package/package.json +1 -1
  12. package/translations/uk/1.json +9 -0
  13. package/translations/uk/10.json +9 -0
  14. package/translations/uk/11.json +9 -0
  15. package/translations/uk/12.json +9 -0
  16. package/translations/uk/13.json +9 -0
  17. package/translations/uk/14.json +9 -0
  18. package/translations/uk/15.json +9 -0
  19. package/translations/uk/16.json +9 -0
  20. package/translations/uk/17.json +9 -0
  21. package/translations/uk/18.json +9 -0
  22. package/translations/uk/19.json +9 -0
  23. package/translations/uk/20.json +9 -0
  24. package/translations/uk/21.json +9 -0
  25. package/translations/uk/22.json +9 -0
  26. package/translations/uk/23.json +9 -0
  27. package/translations/uk/24.json +9 -0
  28. package/translations/uk/25.json +9 -0
  29. package/translations/uk/26.json +9 -0
  30. package/translations/uk/27.json +9 -0
  31. package/translations/uk/28.json +9 -0
  32. package/translations/uk/29.json +9 -0
  33. package/translations/uk/30.json +9 -0
  34. package/translations/uk/31.json +9 -0
  35. package/translations/uk/32.json +9 -0
  36. package/translations/uk/33.json +9 -0
  37. package/translations/uk/34.json +9 -0
  38. package/translations/uk/35.json +9 -0
  39. package/translations/uk/36.json +9 -0
  40. package/translations/uk/37.json +9 -0
  41. package/translations/uk/38.json +9 -0
  42. package/translations/uk/39.json +9 -0
  43. package/translations/uk/4.json +9 -0
  44. package/translations/uk/40.json +9 -0
  45. package/translations/uk/41.json +9 -0
  46. package/translations/uk/42.json +9 -0
  47. package/translations/uk/43.json +9 -0
  48. package/translations/uk/44.json +9 -0
  49. package/translations/uk/45.json +9 -0
  50. package/translations/uk/46.json +9 -0
  51. package/translations/uk/47.json +9 -0
  52. package/translations/uk/48.json +9 -0
  53. package/translations/uk/49.json +9 -0
  54. package/translations/uk/5.json +9 -0
  55. package/translations/uk/6.json +9 -0
  56. package/translations/uk/7.json +9 -0
  57. package/translations/uk/8.json +9 -0
  58. package/translations/uk/9.json +9 -0
  59. package/translations/uk/demo-explanations.json +32 -0
  60. package/translations/uk/demo.json +332 -0
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 12,
3
+ "name": "HexedHeaders",
4
+ "category": "forensics",
5
+ "translation": "Схоже, цей файл містить секрети... Але як туди потрапити...",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:52:49.430Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 13,
3
+ "name": "Keylogger",
4
+ "category": "forensics",
5
+ "translation": "Відчувши, що щось не так, Оле повідомив про це команді безпеки. Команда вирішила дослідити мережу та помітила дещо підозріле.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:52:58.241Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 14,
3
+ "name": "obfuscated script",
4
+ "category": "forensics",
5
+ "translation": "Співробітник знайшов два дивні файли у своїй папці Downloads: скрипт та файл, який він не зміг прочитати. Чи можете ви з'ясувати, що це таке?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:53:07.366Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 15,
3
+ "name": "Ping",
4
+ "category": "forensics",
5
+ "translation": "Зловмисники останнім часом стають дедалі хитрішими, вони знаходять найрізноманітніші способи для ексфільтрації даних! \nЩо вони вкрали цього разу?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:53:24.354Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 16,
3
+ "name": "Sound Inversion",
4
+ "category": "forensics",
5
+ "translation": "Солдате, ми вважаємо, що ворог приховав голосове аудіоповідомлення десь у цьому файлі. Знайди його та негайно доповідай.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:53:32.848Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 17,
3
+ "name": "There is always a trace",
4
+ "category": "forensics",
5
+ "translation": "Вас прийняли на роботу до NSA, і це ваш перший робочий день. Як перше завдання вам надали підозрілий файл майже без жодного контексту, окрім того, що його було вилучено з ноутбука особи, яку підозрювали у віддаленій компрометації урядового сервера.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:53:47.797Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 18,
3
+ "name": "Electric Debugger",
4
+ "category": "misc",
5
+ "translation": "Конкурент інших популярних debuggers щойно випустив нову версію свого Electric debugger сьогодні вранці. На жаль, він більше не є безкоштовним або open-source. Однак ходять чутки, що доступні bounties, якщо комусь вдасться його зламати.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:54:18.830Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 19,
3
+ "name": "Old is gold",
4
+ "category": "misc",
5
+ "translation": "Попередній sysadmin пропрацював тут майже 47 років. Ви знаходите цей файл на його старому PC...",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:54:31.912Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 20,
3
+ "name": "Perceptions",
4
+ "category": "misc",
5
+ "translation": "Погляньте на цей блог, який я створив! У нього крутий backend, і, схоже, він використовує менше ports.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:54:39.665Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 21,
3
+ "name": "Rules",
4
+ "category": "misc",
5
+ "translation": "Дотримуйтесь правил цього CTF!",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:54:44.327Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 22,
3
+ "name": "Survey",
4
+ "category": "misc",
5
+ "translation": "Розкажіть нам, що ви думаєте про PECAN+ CTF 2025. Будь-який відгук допомагає!\n\n<https://forms.cloud.microsoft/r/q5ESPCft24>",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:54:55.291Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 23,
3
+ "name": "The Job Interview",
4
+ "category": "misc",
5
+ "translation": "Ви вже дві нескінченні години сидите, схилившись над клавіатурою, та подумки змагаєтеся з питаннями для співбесіди. Ваша кава охолола. Терпіння майже урвалося.\nАле саме тоді, коли ви вже збираєтеся надіслати свою фінальну відповідь, на екрані з'являється загадкове повідомлення:\n\n«Ви довели свою витривалість. Тепер перевіримо ваші навички вирішення проблем і поглиблені знання коду, який ви, здається, так добре знаєте».\n\nПеред очима з'являється єдиний URL:\n\nhttps://docs.google.com/document/d/e/2PACX-1vRW7X8yMO9cM-b6Ao3FbiZysF3MIjARoeO73z0PlG8O_yeM8xxWAWzt9hdoavlh3HR1IOEwWtJFpczI/pub\n\nЩо всередині? Сітка загадкових даних — оманливо проста, проте вона приховує дещо вкрай важливе.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:55:12.383Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 24,
3
+ "name": "Class Above Par",
4
+ "category": "osint",
5
+ "translation": "Щодня Джеймі ходить обсадженими деревами вулицями південних передмість Мельбурна, щоб дістатися своєї середньої школи — місця, де ранкова перекличка часто переривається віддаленим гуркотом літаків над головою.\n\nОдного разу вдень, позначаючи на карті місцеві орієнтири для шкільного проєкту, Джеймі вдалося виявити дещо цікаве: ця школа може виявитися найближчою середньою школою до великого аеропорту. Ще дивніше те, що вона знаходиться буквально за два кроки від просторих полів для гольфу, де тихі помахи ключкою контрастують із ревом реактивних двигунів.\n\nЧи зможете ви знайти школу, яку Джеймі називає своїм домом? \n\nФормат прапора: `pecan{my_high_school}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:55:43.704Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 25,
3
+ "name": "Travelling Around",
4
+ "category": "osint",
5
+ "translation": "Гм… Здається, Corn Man відвідав кілька цікавих місць за дуже дивним маршрутом. Чи може це щось означати? Можливо, передмістя приховує підказку... Дописи можуть містити \"pointer\" у правильному напрямку...\nНе забудьте обгорнути прапор у формат pecan{}, використовуйте великі літери та розділяйте слова символом підкреслення. Наприклад: `pecan{I_LOVE_PECAN}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:55:59.800Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 26,
3
+ "name": "Online Presence",
4
+ "category": "osint",
5
+ "translation": "Після ґрунтовного розслідування здається, що Corn Man має присутність у соціальних мережах. Не могли б ви допомогти нам знайти обліковий запис, який він використовує?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:57:17.845Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 27,
3
+ "name": "Happy Birthday Corn Man!",
4
+ "category": "osint",
5
+ "translation": "Я вже певний час стежу за Corn Man, але зайшов у глухий кут. Нещодавно я знайшов його email в інтернеті: <cornman25944@gmail.com>. Схоже, він має значну присутність у мережі. Чи могли б ви спробувати знайти дату його народження та допомогти в цьому розслідуванні?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:57:29.308Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 28,
3
+ "name": "Ego is the weakness",
4
+ "category": "osint",
5
+ "translation": "Нещодавно було виявлено операцію з використанням ransomware, яка призвела до втрати мільйонів доларів за лічені секунди.\nПісля спільного розслідування з урядовими структурами ми відстежили цю діяльність до акаунту в Instagram, який, імовірно, належить зловмиснику.\nЧи можете ви допомогти нам визначити адресу місця, яке часто відвідує цей кіберзлочинець?\nНаші розвіддані вказують на високу ймовірність того, що ця особа ще молода і досі не закінчила навчання.\n\nФормат прапорця: `pecan{Paste in the address from Google Maps}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:57:43.330Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 29,
3
+ "name": "Go git the door",
4
+ "category": "osint",
5
+ "translation": "Сумнозвісний кіберзлочинець, який у минулому успішно здійснив багато масштабних операцій із ransomware, працює над новою. На щастя для нас, він випадково зробив свій GitHub-репозиторій публічним. Чи можете ви перевірити, чи не розкрив він випадково якусь секретну інформацію?\n\nФормат прапорця: `pecan{secret1_secret2}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:58:02.491Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 30,
3
+ "name": "Echo Chamber",
4
+ "category": "pwn",
5
+ "translation": "Я знайшов цей дивний сервіс, який просто відправляє назад усе, що ви йому надсилаєте, це ніби якесь дивне дзеркало, відображення чи щось таке.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:58:15.944Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 31,
3
+ "name": "Flag Fish",
4
+ "category": "pwn",
5
+ "translation": "Б'ярне полює на омріяну рибу-flag. Його перший `try` був невдалим, чи зможете ви допомогти йому зробити `catch` цього разу?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:00:25.857Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 32,
3
+ "name": "fridge",
4
+ "category": "pwn",
5
+ "translation": "У нас стався витік даних! Наша команда з форензики з'ясувала, що від нашого нового смарт-холодильника надходив якийсь дивний трафік, і, схоже, вони знайшли старий debugging service, який досі працює...\n\nТепер вам потрібно з'ясувати, як саме вони отримали доступ до нашого холодильника!",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:00:51.829Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 33,
3
+ "name": "Say Shells!",
4
+ "category": "pwn",
5
+ "translation": "Простий web app дозволяє завантажувати файли зображень для перегляду їхніх EXIF metadata. Але щось здається підозрілим... чи не аналізуються ваші зображення занадто глибоко?\nЧи зможете ви обдурити сервер, змусивши його виконати вашу власну команду — та розкрити вміст прихованого файлу flag.txt?\n\nПримітка: Дозволено завантаження лише файлів зображень. Вам не знадобиться brute force — лише трохи креативності та правильний формат.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:01:13.529Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 34,
3
+ "name": "Show Me What You GOT!",
4
+ "category": "pwn",
5
+ "translation": "Покажи мені свій GOT! Я хочу побачити твій GOT!",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:01:36.703Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 35,
3
+ "name": "cafe1995",
4
+ "category": "rev",
5
+ "translation": "Ви зібрали по шматочках програму від розробника, який працював без нагляду і якого щойно звільнили. Знайдіть пароль та поверніть компанію у звичне русло... інакше звільнять і вас.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:01:51.857Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 36,
3
+ "name": "Doors 3",
4
+ "category": "rev",
5
+ "translation": "У вашого друга є ще один, останній flag, який, на його думку, ви не зможете дістати, оскільки він тестує свою здатність виявляти обхід licence check.\n\nСпробуйте здобути цей останній flag. Можливо, вам доведеться застосувати patch до binary, щоб досягти мети, але існує кілька шляхів вирішення.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:02:06.047Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 37,
3
+ "name": "Doors 2",
4
+ "category": "rev",
5
+ "translation": "Твій друг дуже вдячний, що ти знайшов той flag, про який він забув!\n\nВін витратив трохи часу, щоб сховати решту flags, і сподівається, що ти не зможеш до них дістатися. Як гадаєш, ти зможеш зробити reverse його key validation function?\nЗгенеруй свій власний licence key для його програми та отримай flag!",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:02:18.402Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 38,
3
+ "name": "Doors",
4
+ "category": "rev",
5
+ "translation": "Ваш друг надіслав вам прототипну версію програми для перевірки ключів безпеки, яку він пише на C#. У ній є кілька прапорців, але чи можете ви допомогти знайти той прапорець, який він забув зашифрувати?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:02:41.110Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 39,
3
+ "name": "Too Many Flags",
4
+ "category": "rev",
5
+ "translation": "Ми знайшли цей файл, повний flags, але не знаємо, який із них правильний! Чи можете ви з'ясувати, як ці flags були згенеровані, і знайти правильний?",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:02:51.473Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 4,
3
+ "name": "#InMyLibraryClashingEra",
4
+ "category": "crypto",
5
+ "translation": "Я створив комічно просту? hash function. Знайдіть clash, і я підкажу, до якої бібліотеки їхати. Тобто, якщо ви зможете прочитати те, що я маю. Моя провина, я випив 32 мл Base model Dasani перед тим, як зробити це.\n\nМоже знадобитися pycryptodome, тому встановіть його заздалегідь.\n\nНе забудьте обгорнути прапор у `pecan{flag}`.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:51:04.308Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 40,
3
+ "name": "Xanarto",
4
+ "category": "rev",
5
+ "translation": "Я знайшов у LinkedIn одного хлопця, який стверджує, що створив незламний алгоритм. Доведіть, що він помиляється. Я прикріпив цей пост у вигляді зображення.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:03:00.809Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 41,
3
+ "name": "Cheese",
4
+ "category": "steg",
5
+ "translation": "Для цього завдання потрібно зануритися в глибини наданого файлу зображення як частину сирного прокляття, використовуючи різні інструменти, щоб виявити те, що дехто відкинув би як абсолютно випадковий текст.\n\nЯкби ж тільки цей string можна було якось змінити або конвертувати, це могло б стати нашою єдиною надією знайти flag, щоб зняти сирне прокляття раз і назавжди......\n\nНасолоджуйтесь :)",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:03:18.956Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 42,
3
+ "name": "Dogs Always Know",
4
+ "category": "steg",
5
+ "translation": "Собаки мають нюх на секрети — закопані глибоко, там, де ніхто й не подумає шукати. Довіртеся їхнім інстинктам; іноді приховане знаходиться не на видноті, а в кістках під поверхнею.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:03:27.860Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 43,
3
+ "name": "In the fine print",
4
+ "category": "steg",
5
+ "translation": "У невідомому місці було знайдено набір роздрукованих документів. На перший погляд вони здаються цілком безневинними, але щось тут не так...",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:03:36.817Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 44,
3
+ "name": "In the words of Taylor",
4
+ "category": "steg",
5
+ "translation": "Я напишу твоє ім'я... або хоча б flag.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:03:46.532Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 45,
3
+ "name": "Layer Cake",
4
+ "category": "steg",
5
+ "translation": "Не всі торти — це брехня. Цей має шари!\nФормат прапора — `pecan{crackedwords}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:03:56.525Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 46,
3
+ "name": "Looking through the sound",
4
+ "category": "steg",
5
+ "translation": "Не кожне повідомлення мандрує на хвилях звуку. Вам доведеться *подивитися* крізь шум. Дозвольте своїм очам слухати, і нехай музика напише це для вас. Примітка: вам *не* потрібно слухати аудіо, щоб виконати це завдання.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:04:13.381Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 47,
3
+ "name": "Nothing to See Here",
4
+ "category": "steg",
5
+ "translation": "Ось невеликий малюнок, який я зробив. Проте на ньому нічого не видно, як ви самі бачите.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:04:23.103Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 48,
3
+ "name": "Stuck in Your Head",
4
+ "category": "steg",
5
+ "translation": "Тобі варто послухати мою улюблену пісню і назвати мені 21 причину, чому вона найкраща!",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:04:30.841Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 49,
3
+ "name": "TLSB",
4
+ "category": "steg",
5
+ "translation": "Можливо, ви чули про Least Significant Bit (LSB) Steganography, але чи чули ви коли-небудь про Third Least Significant Bit (TLSB) Steganography? (Сподіваюся, що ні, враховуючи, що я вигадав це спеціально для цього завдання). (ПІДКАЗКА: я зберіг секрет у image byte order)",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T08:04:42.130Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 5,
3
+ "name": "Multi-layer",
4
+ "category": "crypto",
5
+ "translation": "Ця штука має шари.\n\n```\nZnJpcmEgbyBmY25wciBmcmlyYSBhdmFyIGZjbnByIGZ2ayBzIGZjbnByIGZyaXJhIHN2aXIgZmNucHIgZ2piIG1yZWIgZmNucHIgZnZrIGZyaXJhIGZjbnByIGZ2ayBzIGZjbnByIGZyaXJhIHNiaGUgZmNucHIgZ2piIG1yZWIgZmNucHIgZnJpcmEgc2JoZSBmY25wciBmdmsgcnZ0dWcgZmNucHIgZnZrIGF2YXIgZmNucHIgZnJpcmEgZ3VlcnIgZmNucHIgZnJpcmEgcQ==\n```\n\nПам'ятайте, що формат прапорця — `pecan{flag_goes_here}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:51:17.078Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 6,
3
+ "name": "Mysteries of the Tomb",
4
+ "category": "crypto",
5
+ "translation": "У темних глибинах Долини Царів дослідники виявили гробницю, давно загублену в часі. У самому її серці лежить стародавня кам'яна табличка, ретельно вкрита таємничими гліфами — піраміда секретів, створена відданими писарями, що охороняли найсвятіший скарб фараона.\n\nЗавдяки ретельному перекладу простежується одна й та сама легенда: ця табличка містить ключ до небаченої могутності. Озброївшись своїми старанними нотатками та дедалі глибшим розумінням символів, ви починаєте розгадувати це загадкове послання.\n\nНаразі напис на вершині таблички читається так:\n«Щоб розкрити істину, читай камені в перших променях світанку, ведучи погляд від вершини вниз, до сипучих пісків».\n\nФормат: `pecan{flag}`",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:51:34.575Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 7,
3
+ "name": "RSA101",
4
+ "category": "crypto",
5
+ "translation": "Ми отримали повідомлення, яке, як ми вважаємо, зашифроване за допомогою RSA, але primes у public key можуть бути слабкими.\nЗнайдіть factors та розшифруйте повідомлення.\n\n```\nn = 914224879713534891752745051672415462330144197757968187295993\ne = 17\nciphertext = 152293808340616594229073242267037730353433147091103189533666\n```",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:51:52.496Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 8,
3
+ "name": "Sheet Music Cipher",
4
+ "category": "crypto",
5
+ "translation": "Ніхто ніколи не дізнається, що я використав Compound Motivic Musical Cipher. Я можу просто грати музику вголос і надсилати повідомлення так, щоб ніхто нічого не запідозрив.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:52:00.893Z"
9
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 9,
3
+ "name": "That's Not My Unicode",
4
+ "category": "crypto",
5
+ "translation": "Ці дивні символи здаються стародавніми, але, можливо, вони намагаються розповісти вам щось більш сучасне. Зберіть докупи повідомлення, приховане на видноті — іноді те, що виглядає старим, може говорити новою мовою.",
6
+ "lang": "uk",
7
+ "model": "gemini-3.1-pro-preview",
8
+ "timestamp": "2026-04-11T07:52:09.494Z"
9
+ }
@@ -0,0 +1,32 @@
1
+ {
2
+ "1": "RSA — це асиметричний (з відкритим ключем) шифр. AES, DES та Blowfish є симетричними шифрами, які використовують один і той самий ключ для шифрування та дешифрування.",
3
+ "2": "SQL ін'єкція виникає, коли користувацький ввід вставляється безпосередньо в запити до бази даних без належного очищення, дозволяючи зловмисникам маніпулювати запитом.",
4
+ "3": "HTTP 403 означає Заборонено — сервер зрозумів запит, але відмовляється його авторизувати. 401 — Неавторизовано, 404 — Не знайдено, 500 — Внутрішня помилка сервера.",
5
+ "4": "Нонс (число, що використовується один раз) — це випадкове значення, яке використовується в криптографічних протоколах для запобігання атакам повторного відтворення, гарантуючи, що кожен запит або повідомлення є унікальним і не може бути повторно використаним зловмисником.",
6
+ "5": "Wireshark є стандартним інструментом для перехоплення та аналізу мережевих пакетів. Burp Suite призначений для веб-тестування, John the Ripper — для злому паролів, Ghidra — для реверс-інжинірингу.",
7
+ "6": "XSS розшифровується як міжсайтовий скриптинг — вразливість, при якій зловмисники впроваджують шкідливі скрипти у вебсторінки, які переглядають інші користувачі.",
8
+ "7": "Файрвол фільтрує мережевий трафік на основі правил безпеки, блокуючи несанкціонований доступ і дозволяючи при цьому легітимну комунікацію. Він не шифрує дані, не сканує на віруси та не прискорює з'єднання.",
9
+ "8": "Троян маскується під легітимне програмне забезпечення, щоб обманом змусити користувачів встановити його. На відміну від черв'яків, трояни не самовідтворюються.",
10
+ "9": "HTTPS (HTTP Secure) використовує TLS/SSL для шифрування веб-трафіку, захищаючи дані від перехоплення та підміни. HTTP, FTP та SMTP за замовчуванням не є безпечними.",
11
+ "10": "Криптографічний хеш — це одностороння функція, яка створює дайджест фіксованого розміру. Його неможливо обернути, на відміну від шифрування.",
12
+ "11": "Ghidra — це інструмент для реверс-інжинірингу та аналізу бінарних файлів, розроблений АНБ. Nmap сканує порти, SQLMap тестує на SQL-ін'єкції, Nikto сканує вебсервери.",
13
+ "12": "DNS-спуфінг (отруєння кешу) маніпулює відповідями DNS, щоб перенаправити жертв на підконтрольні зловмисникам сервери. Він відрізняється від фішингу, SQLi та брутфорсу.",
14
+ "13": "SSH (Secure Shell) за замовчуванням працює на порту 22. Порт 21 — це FTP, 80 — HTTP, 443 — HTTPS.",
15
+ "14": "Двофакторна автентифікація (2FA) вимагає двох різних типів облікових даних — того, що ви знаєте (пароль), і того, що ви маєте (телефон/токен) або ким ви є (біометрія).",
16
+ "15": "Команда \"netstat -tulpn\" показує всі TCP/UDP-порти, що прослуховуються, з інформацією про процеси. \"ls -la\" виводить список файлів, \"chmod\" змінює права доступу, \"cat /etc/passwd\" показує облікові записи користувачів.",
17
+ "16": "Атака Man-in-the-Middle (MitM) перехоплює та потенційно змінює комунікацію між двома сторонами, які вважають, що спілкуються безпосередньо одна з одною.",
18
+ "17": "SHA-256 — це криптографічна хеш-функція. AES-256 — симетричний шифр, RSA-2048 — асиметричний шифр, а Diffie-Hellman — протокол обміну ключами.",
19
+ "18": "Принцип найменших привілеїв означає надання користувачам лише мінімальних прав, необхідних для виконання їхніх завдань, що зменшує поверхню атаки.",
20
+ "19": "Nmap — це стандартний інструмент для сканування портів. Wireshark перехоплює пакети, Metasploit — це фреймворк для експлуатації, а Hashcat — програма для злому паролів.",
21
+ "20": "Ransomware шифрує файли жертви та вимагає оплату (зазвичай у криптовалюті) в обмін на ключ розшифрування.",
22
+ "21": "Симетричне шифрування використовує єдиний спільний ключ як для шифрування, так і для розшифрування. Асиметричне шифрування використовує пару ключів — відкритий ключ для шифрування та приватний ключ для розшифрування.",
23
+ "22": "Віддалене виконання коду (RCE) дозволяє зловмиснику виконувати довільний код на цільовому сервері, що часто призводить до повної компрометації системи. CSRF, clickjacking та open redirect мають різні наслідки.",
24
+ "23": "OWASP (Open Web Application Security Project) — це некомерційна організація, яка публікує широко використовувані стандарти та посібники з веб-безпеки, зокрема OWASP Top 10.",
25
+ "24": "Команда chmod змінює права доступу до файлів у Linux. chown змінює власника, chgrp змінює групу, а passwd змінює паролі користувачів.",
26
+ "25": "Сертифікат SSL/TLS — це цифровий документ, виданий довіреним центром сертифікації, який підтверджує ідентичність вебсайту та забезпечує зашифровані HTTPS-з'єднання.",
27
+ "26": "Phishing — це атака методами соціальної інженерії, яка обманом змушує людей розкривати конфіденційну інформацію. Buffer overflow, SQL injection та port scanning — це технічні атаки.",
28
+ "27": "Команда grep шукає текстові шаблони у файлах за допомогою регулярних виразів. Це один із найчастіше використовуваних інструментів Linux для обробки тексту.",
29
+ "28": "VPN (Virtual Private Network) створює зашифрований тунель для інтернет-трафіку, захищаючи дані від перехоплення та маскуючи IP-адресу користувача.",
30
+ "29": "CSRF (Cross-Site Request Forgery) обманом змушує браузер авторизованого користувача виконувати небажані дії на довіреному сайті, такі як зміна налаштувань облікового запису або переказ коштів.",
31
+ "30": "Паролі мають зберігатися як криптографічні хеші із сіллю. Відкритий текст та Base64 є небезпечними, а шифрування AES є оборотним у разі компрометації ключа. Хешування із сіллю є одностороннім та стійким до райдужних таблиць."
32
+ }