From 61715ec0056e23382fad0797c6e92b80ca859d33 Mon Sep 17 00:00:00 2001 From: Andrii Kurdiumov Date: Tue, 3 Mar 2026 11:35:57 +0100 Subject: [PATCH 1/4] Ukrainian translation --- .../priv/gettext/uk/LC_MESSAGES/errors.po | 97 +++++++++++++++++++ .../data/website/phrases/uk/about.json | 10 ++ .../data/website/phrases/uk/author.json | 10 ++ .../data/website/phrases/uk/cards.json | 56 +++++++++++ .../data/website/phrases/uk/copi.json | 10 ++ .../data/website/phrases/uk/getthegame.json | 5 + .../data/website/phrases/uk/home.json | 34 +++++++ .../data/website/phrases/uk/layout.json | 7 ++ .../data/website/phrases/uk/news.json | 19 ++++ .../data/website/phrases/uk/play.json | 10 ++ .../data/website/phrases/uk/printing.json | 10 ++ .../phrases/uk/questionsandanswers.json | 10 ++ .../data/website/phrases/uk/roadmap.json | 10 ++ .../data/website/phrases/uk/source.json | 10 ++ .../data/website/phrases/uk/swags.json | 31 ++++++ .../data/website/phrases/uk/taxonomy.json | 10 ++ .../data/website/phrases/uk/webshop.json | 10 ++ .../src/lib/translations/index.js | 5 + .../src/lib/translations/lang.js | 1 + .../src/lib/translations/uk/index.js | 34 +++++++ 20 files changed, 389 insertions(+) create mode 100644 copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/about.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/author.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/cards.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/copi.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/getthegame.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/home.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/layout.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/news.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/play.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/printing.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/roadmap.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/source.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/swags.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json create mode 100644 cornucopia.owasp.org/data/website/phrases/uk/webshop.json create mode 100644 cornucopia.owasp.org/src/lib/translations/uk/index.js diff --git a/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po b/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po new file mode 100644 index 000000000..74098c5be --- /dev/null +++ b/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po @@ -0,0 +1,97 @@ +## `msgid`s in this file come from POT (.pot) files. +## +## Do not add, change, or remove `msgid`s manually here as +## they're tied to the ones in the corresponding POT file +## (with the same domain). +## +## Use `mix gettext.extract --merge` or `mix gettext.merge` +## to merge POT files into PO files. +msgid "" +msgstr "" +"Language: uk\n" + +## From Ecto.Changeset.cast/4 +msgid "can't be blank" +msgstr "" + +## From Ecto.Changeset.unique_constraint/3 +msgid "has already been taken" +msgstr "" + +## From Ecto.Changeset.put_change/3 +msgid "is invalid" +msgstr "" + +## From Ecto.Changeset.validate_acceptance/3 +msgid "must be accepted" +msgstr "" + +## From Ecto.Changeset.validate_format/3 +msgid "has invalid format" +msgstr "" + +## From Ecto.Changeset.validate_subset/3 +msgid "has an invalid entry" +msgstr "" + +## From Ecto.Changeset.validate_exclusion/3 +msgid "is reserved" +msgstr "" + +## From Ecto.Changeset.validate_confirmation/3 +msgid "does not match confirmation" +msgstr "" + +## From Ecto.Changeset.no_assoc_constraint/3 +msgid "is still associated with this entry" +msgstr "" + +msgid "are still associated with this entry" +msgstr "" + +## From Ecto.Changeset.validate_length/3 +msgid "should be %{count} character(s)" +msgid_plural "should be %{count} character(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should have %{count} item(s)" +msgid_plural "should have %{count} item(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should be at least %{count} character(s)" +msgid_plural "should be at least %{count} character(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should have at least %{count} item(s)" +msgid_plural "should have at least %{count} item(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should be at most %{count} character(s)" +msgid_plural "should be at most %{count} character(s)" +msgstr[0] "" +msgstr[1] "" + +msgid "should have at most %{count} item(s)" +msgid_plural "should have at most %{count} item(s)" +msgstr[0] "" +msgstr[1] "" + +## From Ecto.Changeset.validate_number/3 +msgid "must be less than %{number}" +msgstr "" + +msgid "must be greater than %{number}" +msgstr "" + +msgid "must be less than or equal to %{number}" +msgstr "" + +msgid "must be greater than or equal to %{number}" +msgstr "" + +msgid "must be equal to %{number}" +msgstr "" diff --git a/cornucopia.owasp.org/data/website/phrases/uk/about.json b/cornucopia.owasp.org/data/website/phrases/uk/about.json new file mode 100644 index 000000000..417612cd3 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/about.json @@ -0,0 +1,10 @@ +{ + "about": { + "title": "About", + "head": { + "title": "OWASP Cornucopia - About the Project", + "description": "Learn about the OWASP Cornucopia project, its goals, and how it helps improve threat modeling and application security.", + "keywords": "OWASP, Cornucopia, Project, Application Security, Goals, Threat Modeling" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/author.json b/cornucopia.owasp.org/data/website/phrases/uk/author.json new file mode 100644 index 000000000..7eee28151 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/author.json @@ -0,0 +1,10 @@ +{ + "author": { + "title": "Author", + "head": { + "title": "OWASP Cornucopia - News Authors", + "description": "Meet the authors behind the OWASP Cornucopia news articles, sharing insights and updates on the project.", + "keywords": "OWASP, Cornucopia, News, Authors, Project, Contributors" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/cards.json b/cornucopia.owasp.org/data/website/phrases/uk/cards.json new file mode 100644 index 000000000..740dc31c7 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/cards.json @@ -0,0 +1,56 @@ +{ + "cards": { + "title": "View Cards", + "head": { + "title": "OWASP Cornucopia - The card decks", + "description": "The OWASP Cornucopia card decks provide a comprehensive set of cards for threat modeling, available in both web and mobile app versions.", + "keywords": "OWASP, Cornucopia, Card Decks, Threat Modeling, Web App, Mobile App" + }, + "p1": "Both current decks have six suits and there are also two Joker cards. Each suit contains 13 cards (Ace, 2-10, Jack, Queen and King). This page contains the card browser where you can browse through each of the cards in the OWASP Cornucopia decks.", + "button": { + "1": "Website App version", + "2": "Mobile App version" + }, + "h2": { + "1": "Website App version", + "2": "Mobile App version" + }, + "p2": "For the previously called Ecommerce Website Edition. Instead of EoP's STRIDE suits, the suits were selected based on the structure of the OWASP Secure Coding Practices - Quick Reference Guide (SCP) which have been migrated to the OWASP Developer Guide Web Application Checklist. The content was mainly drawn from the SCP but with additional consideration of sections in the OWASP Application Security Verification Standard, the OWASP Web Security Testing Guide and David Rook's Principles of Secure Development. These provided five suits, and a sixth called \"Cornucopia\" was created for everything else:", + "p3": "The second Cornucopia deck, the “Mobile App Edition”, follows the same principles and game rules as the original OWASP Cornucopia, but has different suits based on the MASVS categories, in addition to the Cornucopia suit that contains threats related to mobile malware and privacy issues:", + "card": { + "p1": "Back to overview" + }, + "cardFound": { + "a": "How to play?" + }, + "cardBrowser": { + "a1": { + "title": "View previous card" + }, + "a2": { + "title": "View next card" + } + }, + "webAppCardTaxonomy": { + "h1": { + "1": "Mappings", + "2": "Attacks" + } + }, + "ASVSOverview": { + "p1": "No suitable mappings were found." + }, + "mobileAppCardTaxonomy": { + "h1": { + "1": "Mappings", + "2": "Attacks" + } + }, + "MASVSOverview": { + "p1": "No suitable mappings were found." + }, + "attacks": { + "p1": "No attacks registered!" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/copi.json b/cornucopia.owasp.org/data/website/phrases/uk/copi.json new file mode 100644 index 000000000..9131250d5 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/copi.json @@ -0,0 +1,10 @@ +{ + "copi": { + "title": "Game Engine", + "head": { + "title": "OWASP Cornucopia - Game Engine", + "description": "The OWASP Cornucopia game engine is a powerful tool that allows you to play the Cornucopia card game online, facilitating collaborative threat modeling and security requirements gathering.", + "keywords": "OWASP, Cornucopia, game engine, online play, card game, threat modeling, security requirements" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json b/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json new file mode 100644 index 000000000..cda93b9a9 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json @@ -0,0 +1,5 @@ +{ + "getthegame": { + "title": "Get Cornucopia" + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/home.json b/cornucopia.owasp.org/data/website/phrases/uk/home.json new file mode 100644 index 000000000..a88f0f490 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/home.json @@ -0,0 +1,34 @@ +{ + "home": { + "title": "Home", + "h1": { + "1": "Introduction", + "2": "How to start", + "3": "Open source" + }, + "p1": "The idea behind Cornucopia is to help development teams, especially those using Agile methodologies, to identify application security requirements and develop security-based user stories.", + "p2": "OWASP Cornucopia is an easy way to introduce the practice of threat modeling in a software development team. Playing the card game encourages the development team to actively think about the kind of threats that can emerge when creating software. This empowers teams to independently secure their applications while building them. Doing so embraces the shift-left strategy, where security becomes an integrated part of the development cycle.", + "a1": "Read more", + "p3": "To start using Cornucopia:", + "ol": { + "li1": "Either obtain or buy a pre-printed deck of cards;", + "li2": "Or: Download the free Adobe Illustrator files and get them professionally printed (see: ", + "li2a": "printing instructions", + "li3": "Or: Play the game online at ", + "li4": "Identify an application, module or component to assess.", + "li5": "Invite business owners, architects, developers, testers along for a card game.", + "li6": "Get those infosec folk to provide chocolate, pizza, beer, flowers or all four as prizes.", + "li7": "Select a portion of the deck to start with.", + "li8a": "Play the game", + "li8": " to discuss & document security requirements (and to win rounds).", + "li9": "Remember, to have fun!" + }, + "a2": "How to play", + "p4": { + "1": "There are a large number of source design files for the cards themselves in various languages and formats. These design files together with the source code to generate the Word document, PDFs and InDesign files for printing are maintained in our ", + "2": "Github repository" + }, + "p5": "One of the main advantages of the OWASP Cornucopia card game being open source is that it allows anyone to access and use the game without any licensing fees or restrictions. This encourages widespread adoption and makes it easier for teams to integrate the game into their security practices. Additionally, being open source means that the game is transparent and customizable. Teams can modify the game to suit their specific needs and address the security threats that are most relevant to their applications. They can also contribute back to the game's development by submitting new cards or improvements. Furthermore, open source software tends to have a large and active community of developers who contribute to the codebase and offer support. This can lead to faster bug fixes and updates, ensuring that the game remains relevant and effective in identifying security threats.", + "a3": "View source on Github" + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/layout.json b/cornucopia.owasp.org/data/website/phrases/uk/layout.json new file mode 100644 index 000000000..50893f1b9 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/layout.json @@ -0,0 +1,7 @@ +{ + "layout": { + "description": "OWASP Cornucopia is a mechanism in the form of a card game to assist software development teams identify security requirements in Agile, conventional and formal development processes.", + "title": "OWASP Cornucopia - Threat modeling for everyone", + "keywords": "OWASP, Cornucopia, threat modeling, security, card game, application security, agile, development, requirements" + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/news.json b/cornucopia.owasp.org/data/website/phrases/uk/news.json new file mode 100644 index 000000000..6b7312e2d --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/news.json @@ -0,0 +1,19 @@ +{ + "news": { + "title": "News", + "head": { + "title": "OWASP Cornucopia - News", + "description": "Stay updated with the latest news and updates from OWASP Cornucopia.", + "keywords": "OWASP, Cornucopia, news, updates, releases, community" + }, + "p1": "No blogposts have been published yet, come back soon!", + "a": "Read more", + "p2": "View", + "slug": { + "p1": "Source" + }, + "author": { + "h1": "Authors" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/play.json b/cornucopia.owasp.org/data/website/phrases/uk/play.json new file mode 100644 index 000000000..ccfc6e928 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/play.json @@ -0,0 +1,10 @@ +{ + "play": { + "title": "How to play", + "head": { + "title": "OWASP Cornucopia - How to play", + "description": "Learn how to play the OWASP Cornucopia card game, including rules, strategies, and tips for effective threat modeling.", + "keywords": "OWASP, Cornucopia, play, card game, rules, strategies, threat modeling, security" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/printing.json b/cornucopia.owasp.org/data/website/phrases/uk/printing.json new file mode 100644 index 000000000..d94a1beb3 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/printing.json @@ -0,0 +1,10 @@ +{ + "printing": { + "title": "Printing", + "head": { + "title": "OWASP Cornucopia - Printing Guidelines", + "description": "Learn how to print the OWASP Cornucopia card decks, including guidelines for printing.", + "keywords": "OWASP, Cornucopia, printing, card decks, PDF, download, guidelines" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json b/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json new file mode 100644 index 000000000..7a18db7fb --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json @@ -0,0 +1,10 @@ +{ + "questionsandanswers": { + "title": "Q & A", + "head": { + "title": "OWASP Cornucopia - Questions & Answers", + "description": "Explore the OWASP Cornucopia Questions & Answers section, where you can find answers to common questions.", + "keywords": "OWASP, Cornucopia, Questions, Answers, FAQ, Security, Card Decks" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json b/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json new file mode 100644 index 000000000..254a75016 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json @@ -0,0 +1,10 @@ +{ + "roadmap": { + "title": "Roadmap", + "head": { + "title": "OWASP Cornucopia - The OWASP Cornucopia Roadmap", + "description": "The OWASP Cornucopia Roadmap is a guide to the future of the OWASP Cornucopia project.", + "keywords": "OWASP, Cornucopia, Roadmap, Project" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/source.json b/cornucopia.owasp.org/data/website/phrases/uk/source.json new file mode 100644 index 000000000..9890ed1f7 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/source.json @@ -0,0 +1,10 @@ +{ + "source": { + "title": "Source", + "head": { + "title": "OWASP Cornucopia - Source Code", + "description": "The source code for OWASP Cornucopia allowing you to contribute to the project.", + "keywords": "OWASP, Cornucopia, Source Code, GitHub, Project, Contribution" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/swags.json b/cornucopia.owasp.org/data/website/phrases/uk/swags.json new file mode 100644 index 000000000..66ddb0ecc --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/swags.json @@ -0,0 +1,31 @@ +{ + "swags": { + "title": "Swags", + "head": { + "title": "OWASP Cornucopia - Swags and logos", + "description": "Explore the official OWASP Cornucopia swag and logos, including stickers, t-shirts, and more.", + "keywords": "OWASP, Cornucopia, Swag, Logos, Stickers, T-shirts" + }, + + "h3": { + "1": "Stickers", + "2": "Cups and mugs", + "3": "Where to find the design file" + }, + "alt": { + "1": "sticker - black for mobile", + "2": "sticker - black for web", + "3": "sticker - white for web", + "4": "sticker - white for mobile", + "5": "T-shirt - in dev we trust - back", + "6": "T-shirt - in dev we trust - front", + "7": "T-shirt - in dev we trust - mobile - left side", + "8": "T-shirt - in dev we trust - mobile - right side", + "9": "Beer glass", + "10": "Beer mug", + "11": "Coffee cup", + "12": "Cornucopia mugs", + "13": "Cornucopia october fest beer mug" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json b/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json new file mode 100644 index 000000000..26bb6ced5 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json @@ -0,0 +1,10 @@ +{ + "taxonomy": { + "title": "Taxonomy", + "head": { + "title": "OWASP Cornucopia - Requirements & Cross-references", + "description": "OWASP Cornucopia taxonomy - an overview of the requirements and cross-references to security requierments & attack patterns", + "keywords": "OWASP, Cornucopia, taxonomy, requirements, cross-references, overview, security, attack patterns" + } + } +} diff --git a/cornucopia.owasp.org/data/website/phrases/uk/webshop.json b/cornucopia.owasp.org/data/website/phrases/uk/webshop.json new file mode 100644 index 000000000..d80096933 --- /dev/null +++ b/cornucopia.owasp.org/data/website/phrases/uk/webshop.json @@ -0,0 +1,10 @@ +{ + "webshop": { + "title": "Webshop", + "head": { + "title": "OWASP Cornucopia - Webshop", + "description": "OWASP Cornucopia webshops for bying the cards decks", + "keywords": "OWASP, Cornucopia, webshop, card decks" + } + } +} diff --git a/cornucopia.owasp.org/src/lib/translations/index.js b/cornucopia.owasp.org/src/lib/translations/index.js index 0ef38f5cf..8707757cf 100644 --- a/cornucopia.owasp.org/src/lib/translations/index.js +++ b/cornucopia.owasp.org/src/lib/translations/index.js @@ -2,6 +2,7 @@ import i18n from 'sveltekit-i18n'; import en from './en'; import es from './es'; +import uk from './uk'; import lang from './lang'; /** @type {import('sveltekit-i18n').Config} */ @@ -18,6 +19,10 @@ const config = { ...es, lang, }, + uk: { + ...uk, + lang, + }, }, }; diff --git a/cornucopia.owasp.org/src/lib/translations/lang.js b/cornucopia.owasp.org/src/lib/translations/lang.js index fcf71f9bf..d62c9b7ef 100644 --- a/cornucopia.owasp.org/src/lib/translations/lang.js +++ b/cornucopia.owasp.org/src/lib/translations/lang.js @@ -1,4 +1,5 @@ export default { en: 'English', es: 'Ingles', +uk: 'Українська', }; \ No newline at end of file diff --git a/cornucopia.owasp.org/src/lib/translations/uk/index.js b/cornucopia.owasp.org/src/lib/translations/uk/index.js new file mode 100644 index 000000000..c7dfa9dba --- /dev/null +++ b/cornucopia.owasp.org/src/lib/translations/uk/index.js @@ -0,0 +1,34 @@ +import aboutPage from '$data/website/phrases/uk/about.json'; +import cardPage from '$data/website/phrases/uk/cards.json'; +import homePage from '$data/website/phrases/uk/home.json'; +import newsPage from '$data/website/phrases/uk/news.json'; +import playPage from '$data/website/phrases/uk/play.json'; +import sourcePage from '$data/website/phrases/uk/source.json'; +import printingPage from '$data/website/phrases/uk/printing.json'; +import swagsPage from '$data/website/phrases/uk/swags.json'; +import taxonomyPage from '$data/website/phrases/uk/taxonomy.json'; +import webshopPage from '$data/website/phrases/uk/webshop.json'; +import getTheGamePage from '$data/website/phrases/uk/getthegame.json'; +import copiPage from '$data/website/phrases/uk/copi.json'; +import layoutPage from '$data/website/phrases/uk/layout.json'; +import roadmapPage from '$data/website/phrases/uk/roadmap.json'; +import authorPage from '$data/website/phrases/uk/author.json'; +import questionsAndAnswersPage from '$data/website/phrases/uk/questionsandanswers.json'; +export default { + layout: layoutPage.layout, + about: aboutPage.about, + cards: cardPage.cards, + home: homePage.home, + news: newsPage.news, + play: playPage.play, + source: sourcePage.source, + printing: printingPage.printing, + copi: copiPage.copi, + swags: swagsPage.swags, + taxonomy: taxonomyPage.taxonomy, + webshop: webshopPage.webshop, + getthegame: getTheGamePage.getthegame, + roadmap: roadmapPage.roadmap, + author: authorPage.author, + questionsandanswers: questionsAndAnswersPage.questionsandanswers +}; From dc3ebf2c70805797589e8e817477a5d2fec088f9 Mon Sep 17 00:00:00 2001 From: Andrii Kurdiumov Date: Tue, 3 Mar 2026 15:42:57 +0100 Subject: [PATCH 2/4] Actual translation to Ukrainian --- .../priv/gettext/uk/LC_MESSAGES/errors.po | 61 +++++++++++-------- .../data/website/phrases/uk/about.json | 8 +-- .../data/website/phrases/uk/author.json | 8 +-- .../data/website/phrases/uk/cards.json | 44 ++++++------- .../data/website/phrases/uk/copi.json | 8 +-- .../data/website/phrases/uk/getthegame.json | 2 +- .../data/website/phrases/uk/home.json | 48 +++++++-------- .../data/website/phrases/uk/layout.json | 6 +- .../data/website/phrases/uk/news.json | 18 +++--- .../data/website/phrases/uk/play.json | 8 +-- .../data/website/phrases/uk/printing.json | 8 +-- .../phrases/uk/questionsandanswers.json | 8 +-- .../data/website/phrases/uk/roadmap.json | 8 +-- .../data/website/phrases/uk/source.json | 8 +-- .../data/website/phrases/uk/swags.json | 40 ++++++------ .../data/website/phrases/uk/taxonomy.json | 8 +-- .../data/website/phrases/uk/webshop.json | 8 +-- 17 files changed, 153 insertions(+), 146 deletions(-) diff --git a/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po b/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po index 74098c5be..4e919315c 100644 --- a/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po +++ b/copi.owasp.org/priv/gettext/uk/LC_MESSAGES/errors.po @@ -9,89 +9,96 @@ msgid "" msgstr "" "Language: uk\n" +"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n" ## From Ecto.Changeset.cast/4 msgid "can't be blank" -msgstr "" +msgstr "не може бути порожнім" ## From Ecto.Changeset.unique_constraint/3 msgid "has already been taken" -msgstr "" +msgstr "вже використовується" ## From Ecto.Changeset.put_change/3 msgid "is invalid" -msgstr "" +msgstr "є недійсним" ## From Ecto.Changeset.validate_acceptance/3 msgid "must be accepted" -msgstr "" +msgstr "має бути прийнятим" ## From Ecto.Changeset.validate_format/3 msgid "has invalid format" -msgstr "" +msgstr "має неправильний формат" ## From Ecto.Changeset.validate_subset/3 msgid "has an invalid entry" -msgstr "" +msgstr "має недійсний запис" ## From Ecto.Changeset.validate_exclusion/3 msgid "is reserved" -msgstr "" +msgstr "є зарезервованим" ## From Ecto.Changeset.validate_confirmation/3 msgid "does not match confirmation" -msgstr "" +msgstr "не збігається з підтвердженням" ## From Ecto.Changeset.no_assoc_constraint/3 msgid "is still associated with this entry" -msgstr "" +msgstr "все ще пов'язаний з цим записом" msgid "are still associated with this entry" -msgstr "" +msgstr "все ще пов'язані з цим записом" ## From Ecto.Changeset.validate_length/3 msgid "should be %{count} character(s)" msgid_plural "should be %{count} character(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "має бути %{count} символ" +msgstr[1] "має бути %{count} символи" +msgstr[2] "має бути %{count} символів" msgid "should have %{count} item(s)" msgid_plural "should have %{count} item(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "має містити %{count} елемент" +msgstr[1] "має містити %{count} елементи" +msgstr[2] "має містити %{count} елементів" msgid "should be at least %{count} character(s)" msgid_plural "should be at least %{count} character(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "має містити щонайменше %{count} символ" +msgstr[1] "має містити щонайменше %{count} символи" +msgstr[2] "має містити щонайменше %{count} символів" msgid "should have at least %{count} item(s)" msgid_plural "should have at least %{count} item(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "має містити щонайменше %{count} елемент" +msgstr[1] "має містити щонайменше %{count} елементи" +msgstr[2] "має містити щонайменше %{count} елементів" msgid "should be at most %{count} character(s)" msgid_plural "should be at most %{count} character(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "має містити щонайбільше %{count} символ" +msgstr[1] "має містити щонайбільше %{count} символи" +msgstr[2] "має містити щонайбільше %{count} символів" msgid "should have at most %{count} item(s)" msgid_plural "should have at most %{count} item(s)" -msgstr[0] "" -msgstr[1] "" +msgstr[0] "має містити щонайбільше %{count} елемент" +msgstr[1] "має містити щонайбільше %{count} елементи" +msgstr[2] "має містити щонайбільше %{count} елементів" ## From Ecto.Changeset.validate_number/3 msgid "must be less than %{number}" -msgstr "" +msgstr "має бути менше %{number}" msgid "must be greater than %{number}" -msgstr "" +msgstr "має бути більше %{number}" msgid "must be less than or equal to %{number}" -msgstr "" +msgstr "має бути менше або рівне %{number}" msgid "must be greater than or equal to %{number}" -msgstr "" +msgstr "має бути більше або рівне %{number}" msgid "must be equal to %{number}" -msgstr "" +msgstr "має дорівнювати %{number}" diff --git a/cornucopia.owasp.org/data/website/phrases/uk/about.json b/cornucopia.owasp.org/data/website/phrases/uk/about.json index 417612cd3..3b52f32b8 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/about.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/about.json @@ -1,10 +1,10 @@ { "about": { - "title": "About", + "title": "Про проект", "head": { - "title": "OWASP Cornucopia - About the Project", - "description": "Learn about the OWASP Cornucopia project, its goals, and how it helps improve threat modeling and application security.", - "keywords": "OWASP, Cornucopia, Project, Application Security, Goals, Threat Modeling" + "title": "OWASP Cornucopia - Про проект", + "description": "Дізнайтесь про проект OWASP Cornucopia, його цілі та як він допомагає покращити моделювання загроз і безпеку застосунків.", + "keywords": "OWASP, Cornucopia, Проект, Безпека застосунків, Цілі, Моделювання загроз" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/author.json b/cornucopia.owasp.org/data/website/phrases/uk/author.json index 7eee28151..1c5fb1ead 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/author.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/author.json @@ -1,10 +1,10 @@ { "author": { - "title": "Author", + "title": "Автор", "head": { - "title": "OWASP Cornucopia - News Authors", - "description": "Meet the authors behind the OWASP Cornucopia news articles, sharing insights and updates on the project.", - "keywords": "OWASP, Cornucopia, News, Authors, Project, Contributors" + "title": "OWASP Cornucopia - Автори новин", + "description": "Познайомтесь з авторами новинних статей OWASP Cornucopia, які діляться думками та оновленнями проекту.", + "keywords": "OWASP, Cornucopia, Новини, Автори, Проект, Дописувачі" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/cards.json b/cornucopia.owasp.org/data/website/phrases/uk/cards.json index 740dc31c7..6813ba177 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/cards.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/cards.json @@ -1,56 +1,56 @@ { "cards": { - "title": "View Cards", + "title": "Переглянути картки", "head": { - "title": "OWASP Cornucopia - The card decks", - "description": "The OWASP Cornucopia card decks provide a comprehensive set of cards for threat modeling, available in both web and mobile app versions.", - "keywords": "OWASP, Cornucopia, Card Decks, Threat Modeling, Web App, Mobile App" + "title": "OWASP Cornucopia - Колоди карт", + "description": "Колоди карт OWASP Cornucopia надають комплексний набір карток для моделювання загроз, доступний у версіях для веб-застосунків і мобільних додатків.", + "keywords": "OWASP, Cornucopia, Колоди карт, Моделювання загроз, Веб-застосунок, Мобільний додаток" }, - "p1": "Both current decks have six suits and there are also two Joker cards. Each suit contains 13 cards (Ace, 2-10, Jack, Queen and King). This page contains the card browser where you can browse through each of the cards in the OWASP Cornucopia decks.", + "p1": "Обидві поточні колоди мають шість мастей, а також дві карти Джокера. Кожна масть містить 13 карток (Туз, 2-10, Валет, Дама та Король). Ця сторінка містить браузер карток, де можна переглянути кожну картку в колодах OWASP Cornucopia.", "button": { - "1": "Website App version", - "2": "Mobile App version" + "1": "Версія для веб-застосунку", + "2": "Версія для мобільного додатку" }, "h2": { - "1": "Website App version", - "2": "Mobile App version" + "1": "Версія для веб-застосунку", + "2": "Версія для мобільного додатку" }, - "p2": "For the previously called Ecommerce Website Edition. Instead of EoP's STRIDE suits, the suits were selected based on the structure of the OWASP Secure Coding Practices - Quick Reference Guide (SCP) which have been migrated to the OWASP Developer Guide Web Application Checklist. The content was mainly drawn from the SCP but with additional consideration of sections in the OWASP Application Security Verification Standard, the OWASP Web Security Testing Guide and David Rook's Principles of Secure Development. These provided five suits, and a sixth called \"Cornucopia\" was created for everything else:", - "p3": "The second Cornucopia deck, the “Mobile App Edition”, follows the same principles and game rules as the original OWASP Cornucopia, but has different suits based on the MASVS categories, in addition to the Cornucopia suit that contains threats related to mobile malware and privacy issues:", + "p2": "Для раніше відомого видання Ecommerce Website Edition. Замість мастей STRIDE від EoP, масті були обрані на основі структури OWASP Secure Coding Practices - Quick Reference Guide (SCP), які перейшли до OWASP Developer Guide Web Application Checklist. Зміст в основному взятий з SCP, але з додатковим урахуванням розділів зі OWASP Application Security Verification Standard, OWASP Web Security Testing Guide та Принципів безпечної розробки Девіда Рука. Вони дали п'ять мастей, і шоста під назвою «Cornucopia» була створена для всього іншого:", + "p3": "Друга колода Cornucopia, «Mobile App Edition», дотримується тих самих принципів і правил гри, що й оригінальний OWASP Cornucopia, але має різні масті на основі категорій MASVS, а також масті Cornucopia, що містять загрози, пов'язані з мобільним шкідливим програмним забезпеченням та проблемами конфіденційності:", "card": { - "p1": "Back to overview" + "p1": "Повернутись до огляду" }, "cardFound": { - "a": "How to play?" + "a": "Як грати?" }, "cardBrowser": { "a1": { - "title": "View previous card" + "title": "Переглянути попередню картку" }, "a2": { - "title": "View next card" + "title": "Переглянути наступну картку" } }, "webAppCardTaxonomy": { "h1": { - "1": "Mappings", - "2": "Attacks" + "1": "Відображення", + "2": "Атаки" } }, "ASVSOverview": { - "p1": "No suitable mappings were found." + "p1": "Відповідних відображень не знайдено." }, "mobileAppCardTaxonomy": { "h1": { - "1": "Mappings", - "2": "Attacks" + "1": "Відображення", + "2": "Атаки" } }, "MASVSOverview": { - "p1": "No suitable mappings were found." + "p1": "Відповідних відображень не знайдено." }, "attacks": { - "p1": "No attacks registered!" + "p1": "Атак не зареєстровано!" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/copi.json b/cornucopia.owasp.org/data/website/phrases/uk/copi.json index 9131250d5..17cd4fb65 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/copi.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/copi.json @@ -1,10 +1,10 @@ { "copi": { - "title": "Game Engine", + "title": "Ігровий рушій", "head": { - "title": "OWASP Cornucopia - Game Engine", - "description": "The OWASP Cornucopia game engine is a powerful tool that allows you to play the Cornucopia card game online, facilitating collaborative threat modeling and security requirements gathering.", - "keywords": "OWASP, Cornucopia, game engine, online play, card game, threat modeling, security requirements" + "title": "OWASP Cornucopia - Ігровий рушій", + "description": "Ігровий рушій OWASP Cornucopia — це потужний інструмент, який дозволяє грати в карткову гру Cornucopia онлайн, сприяючи спільному моделюванню загроз і збору вимог безпеки.", + "keywords": "OWASP, Cornucopia, ігровий рушій, онлайн-гра, карткова гра, моделювання загроз, вимоги безпеки" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json b/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json index cda93b9a9..6a804039a 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/getthegame.json @@ -1,5 +1,5 @@ { "getthegame": { - "title": "Get Cornucopia" + "title": "Отримати Cornucopia" } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/home.json b/cornucopia.owasp.org/data/website/phrases/uk/home.json index a88f0f490..c75dae416 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/home.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/home.json @@ -1,34 +1,34 @@ { "home": { - "title": "Home", + "title": "Головна", "h1": { - "1": "Introduction", - "2": "How to start", - "3": "Open source" + "1": "Вступ", + "2": "Як почати", + "3": "Відкритий код" }, - "p1": "The idea behind Cornucopia is to help development teams, especially those using Agile methodologies, to identify application security requirements and develop security-based user stories.", - "p2": "OWASP Cornucopia is an easy way to introduce the practice of threat modeling in a software development team. Playing the card game encourages the development team to actively think about the kind of threats that can emerge when creating software. This empowers teams to independently secure their applications while building them. Doing so embraces the shift-left strategy, where security becomes an integrated part of the development cycle.", - "a1": "Read more", - "p3": "To start using Cornucopia:", + "p1": "Ідея Cornucopia полягає в тому, щоб допомогти командам розробки, особливо тим, хто використовує Agile-методології, визначити вимоги до безпеки застосунків та розробити user-story на основі безпеки.", + "p2": "OWASP Cornucopia — простий спосіб запровадити практику моделювання загроз у команді розробки програмного забезпечення. Гра в карти спонукає команду активно думати про загрози, що можуть виникнути під час створення програмного забезпечення. Це дає командам можливість самостійно захищати свої застосунки під час їх розробки. Такий підхід втілює стратегію «shift-left», де безпека стає невід'ємною частиною циклу розробки.", + "a1": "Читати далі", + "p3": "Щоб почати використовувати Cornucopia:", "ol": { - "li1": "Either obtain or buy a pre-printed deck of cards;", - "li2": "Or: Download the free Adobe Illustrator files and get them professionally printed (see: ", - "li2a": "printing instructions", - "li3": "Or: Play the game online at ", - "li4": "Identify an application, module or component to assess.", - "li5": "Invite business owners, architects, developers, testers along for a card game.", - "li6": "Get those infosec folk to provide chocolate, pizza, beer, flowers or all four as prizes.", - "li7": "Select a portion of the deck to start with.", - "li8a": "Play the game", - "li8": " to discuss & document security requirements (and to win rounds).", - "li9": "Remember, to have fun!" + "li1": "Або отримайте чи придбайте готову колоду карт;", + "li2": "Або: Завантажте безкоштовні файли Adobe Illustrator і замовте їх професійний друк (дивіться: ", + "li2a": "інструкції щодо друку", + "li3": "Або: Грайте у гру онлайн на ", + "li4": "Визначте застосунок, модуль або компонент для оцінки.", + "li5": "Запросіть власників бізнесу, архітекторів, розробників, тестувальників для участі в картковій грі.", + "li6": "Попросіть спеціалістів з інформаційної безпеки надати шоколад, піцу, пиво, квіти або все разом як призи.", + "li7": "Оберіть частину колоди для початку.", + "li8a": "Грайте у гру", + "li8": " для обговорення та документування вимог безпеки (і перемоги в раундах).", + "li9": "Пам'ятайте, отримувати задоволення!" }, - "a2": "How to play", + "a2": "Як грати", "p4": { - "1": "There are a large number of source design files for the cards themselves in various languages and formats. These design files together with the source code to generate the Word document, PDFs and InDesign files for printing are maintained in our ", - "2": "Github repository" + "1": "Є велика кількість вихідних файлів дизайну для самих карток різними мовами та у різних форматах. Ці файли дизайну разом із вихідним кодом для генерації документів Word, PDF та файлів InDesign для друку підтримуються в нашому ", + "2": "репозиторії Github" }, - "p5": "One of the main advantages of the OWASP Cornucopia card game being open source is that it allows anyone to access and use the game without any licensing fees or restrictions. This encourages widespread adoption and makes it easier for teams to integrate the game into their security practices. Additionally, being open source means that the game is transparent and customizable. Teams can modify the game to suit their specific needs and address the security threats that are most relevant to their applications. They can also contribute back to the game's development by submitting new cards or improvements. Furthermore, open source software tends to have a large and active community of developers who contribute to the codebase and offer support. This can lead to faster bug fixes and updates, ensuring that the game remains relevant and effective in identifying security threats.", - "a3": "View source on Github" + "p5": "Однією з головних переваг відкритості OWASP Cornucopia є те, що вона дозволяє будь-кому отримати доступ і використовувати гру без будь-яких ліцензійних зборів чи обмежень. Це сприяє широкому поширенню та полегшує командам інтеграцію гри у свої практики безпеки. Крім того, відкритість коду означає, що гра є прозорою та настроюваною. Команди можуть модифікувати гру відповідно до своїх конкретних потреб і вирішувати загрози безпеці, найбільш актуальні для їхніх застосунків. Вони також можуть робити внесок у розвиток гри, надсилаючи нові картки або покращення. Крім того, програмне забезпечення з відкритим кодом, як правило, має велику та активну спільноту розробників, які вносять свій внесок у кодову базу та пропонують підтримку. Це може призвести до швидшого виправлення помилок та оновлень, гарантуючи, що гра залишається актуальною та ефективною у виявленні загроз безпеці.", + "a3": "Переглянути джерело на Github" } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/layout.json b/cornucopia.owasp.org/data/website/phrases/uk/layout.json index 50893f1b9..753f485ef 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/layout.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/layout.json @@ -1,7 +1,7 @@ { "layout": { - "description": "OWASP Cornucopia is a mechanism in the form of a card game to assist software development teams identify security requirements in Agile, conventional and formal development processes.", - "title": "OWASP Cornucopia - Threat modeling for everyone", - "keywords": "OWASP, Cornucopia, threat modeling, security, card game, application security, agile, development, requirements" + "description": "OWASP Cornucopia — це механізм у формі карткової гри для допомоги командам розробки програмного забезпечення у визначенні вимог безпеки в гнучких, традиційних та формальних процесах розробки.", + "title": "OWASP Cornucopia - Моделювання загроз для всіх", + "keywords": "OWASP, Cornucopia, моделювання загроз, безпека, карткова гра, безпека застосунків, agile, розробка, вимоги" } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/news.json b/cornucopia.owasp.org/data/website/phrases/uk/news.json index 6b7312e2d..8abb54693 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/news.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/news.json @@ -1,19 +1,19 @@ { "news": { - "title": "News", + "title": "Новини", "head": { - "title": "OWASP Cornucopia - News", - "description": "Stay updated with the latest news and updates from OWASP Cornucopia.", - "keywords": "OWASP, Cornucopia, news, updates, releases, community" + "title": "OWASP Cornucopia - Новини", + "description": "Будьте в курсі останніх новин та оновлень від OWASP Cornucopia.", + "keywords": "OWASP, Cornucopia, новини, оновлення, випуски, спільнота" }, - "p1": "No blogposts have been published yet, come back soon!", - "a": "Read more", - "p2": "View", + "p1": "Публікацій у блозі ще немає, заходьте пізніше!", + "a": "Читати далі", + "p2": "Переглянути", "slug": { - "p1": "Source" + "p1": "Джерело" }, "author": { - "h1": "Authors" + "h1": "Автори" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/play.json b/cornucopia.owasp.org/data/website/phrases/uk/play.json index ccfc6e928..ff12438c5 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/play.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/play.json @@ -1,10 +1,10 @@ { "play": { - "title": "How to play", + "title": "Як грати", "head": { - "title": "OWASP Cornucopia - How to play", - "description": "Learn how to play the OWASP Cornucopia card game, including rules, strategies, and tips for effective threat modeling.", - "keywords": "OWASP, Cornucopia, play, card game, rules, strategies, threat modeling, security" + "title": "OWASP Cornucopia - Як грати", + "description": "Дізнайтесь, як грати у карткову гру OWASP Cornucopia, включаючи правила, стратегії та поради щодо ефективного моделювання загроз.", + "keywords": "OWASP, Cornucopia, гра, карткова гра, правила, стратегії, моделювання загроз, безпека" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/printing.json b/cornucopia.owasp.org/data/website/phrases/uk/printing.json index d94a1beb3..2e7279ecc 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/printing.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/printing.json @@ -1,10 +1,10 @@ { "printing": { - "title": "Printing", + "title": "Друк", "head": { - "title": "OWASP Cornucopia - Printing Guidelines", - "description": "Learn how to print the OWASP Cornucopia card decks, including guidelines for printing.", - "keywords": "OWASP, Cornucopia, printing, card decks, PDF, download, guidelines" + "title": "OWASP Cornucopia - Інструкції щодо друку", + "description": "Дізнайтесь, як роздрукувати колоди карт OWASP Cornucopia, включаючи інструкції щодо друку.", + "keywords": "OWASP, Cornucopia, друк, колоди карт, PDF, завантаження, інструкції" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json b/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json index 7a18db7fb..64fbdf99a 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/questionsandanswers.json @@ -1,10 +1,10 @@ { "questionsandanswers": { - "title": "Q & A", + "title": "Питання та відповіді", "head": { - "title": "OWASP Cornucopia - Questions & Answers", - "description": "Explore the OWASP Cornucopia Questions & Answers section, where you can find answers to common questions.", - "keywords": "OWASP, Cornucopia, Questions, Answers, FAQ, Security, Card Decks" + "title": "OWASP Cornucopia - Питання та відповіді", + "description": "Перегляньте розділ питань та відповідей OWASP Cornucopia, де можна знайти відповіді на поширені запитання.", + "keywords": "OWASP, Cornucopia, Питання, Відповіді, FAQ, Безпека, Колоди карт" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json b/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json index 254a75016..5213d8eb0 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/roadmap.json @@ -1,10 +1,10 @@ { "roadmap": { - "title": "Roadmap", + "title": "Дорожня карта", "head": { - "title": "OWASP Cornucopia - The OWASP Cornucopia Roadmap", - "description": "The OWASP Cornucopia Roadmap is a guide to the future of the OWASP Cornucopia project.", - "keywords": "OWASP, Cornucopia, Roadmap, Project" + "title": "OWASP Cornucopia - Дорожня карта проекту", + "description": "Дорожня карта OWASP Cornucopia — це посібник щодо майбутнього проекту OWASP Cornucopia.", + "keywords": "OWASP, Cornucopia, Дорожня карта, Проект" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/source.json b/cornucopia.owasp.org/data/website/phrases/uk/source.json index 9890ed1f7..c6a7cd4ce 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/source.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/source.json @@ -1,10 +1,10 @@ { "source": { - "title": "Source", + "title": "Джерело", "head": { - "title": "OWASP Cornucopia - Source Code", - "description": "The source code for OWASP Cornucopia allowing you to contribute to the project.", - "keywords": "OWASP, Cornucopia, Source Code, GitHub, Project, Contribution" + "title": "OWASP Cornucopia - Вихідний код", + "description": "Вихідний код OWASP Cornucopia, що дозволяє вам зробити свій внесок у проект.", + "keywords": "OWASP, Cornucopia, Вихідний код, GitHub, Проект, Внесок" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/swags.json b/cornucopia.owasp.org/data/website/phrases/uk/swags.json index 66ddb0ecc..b76ec30d6 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/swags.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/swags.json @@ -1,31 +1,31 @@ { "swags": { - "title": "Swags", + "title": "Сувеніри", "head": { - "title": "OWASP Cornucopia - Swags and logos", - "description": "Explore the official OWASP Cornucopia swag and logos, including stickers, t-shirts, and more.", - "keywords": "OWASP, Cornucopia, Swag, Logos, Stickers, T-shirts" + "title": "OWASP Cornucopia - Сувеніри та логотипи", + "description": "Перегляньте офіційні сувеніри та логотипи OWASP Cornucopia, включаючи наклейки, футболки тощо.", + "keywords": "OWASP, Cornucopia, Сувеніри, Логотипи, Наклейки, Футболки" }, "h3": { - "1": "Stickers", - "2": "Cups and mugs", - "3": "Where to find the design file" + "1": "Наклейки", + "2": "Чашки та кухлі", + "3": "Де знайти файл дизайну" }, "alt": { - "1": "sticker - black for mobile", - "2": "sticker - black for web", - "3": "sticker - white for web", - "4": "sticker - white for mobile", - "5": "T-shirt - in dev we trust - back", - "6": "T-shirt - in dev we trust - front", - "7": "T-shirt - in dev we trust - mobile - left side", - "8": "T-shirt - in dev we trust - mobile - right side", - "9": "Beer glass", - "10": "Beer mug", - "11": "Coffee cup", - "12": "Cornucopia mugs", - "13": "Cornucopia october fest beer mug" + "1": "наклейка - чорна для мобільного", + "2": "наклейка - чорна для веб", + "3": "наклейка - біла для веб", + "4": "наклейка - біла для мобільного", + "5": "Футболка - in dev we trust - задня сторона", + "6": "Футболка - in dev we trust - передня сторона", + "7": "Футболка - in dev we trust - мобільна - ліва сторона", + "8": "Футболка - in dev we trust - мобільна - права сторона", + "9": "Пивний бокал", + "10": "Пивна кружка", + "11": "Кавова чашка", + "12": "Кухлі Cornucopia", + "13": "Пивна кружка Cornucopia Octoberfest" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json b/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json index 26bb6ced5..d38a7adb8 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/taxonomy.json @@ -1,10 +1,10 @@ { "taxonomy": { - "title": "Taxonomy", + "title": "Таксономія", "head": { - "title": "OWASP Cornucopia - Requirements & Cross-references", - "description": "OWASP Cornucopia taxonomy - an overview of the requirements and cross-references to security requierments & attack patterns", - "keywords": "OWASP, Cornucopia, taxonomy, requirements, cross-references, overview, security, attack patterns" + "title": "OWASP Cornucopia - Вимоги та перехресні посилання", + "description": "Таксономія OWASP Cornucopia — огляд вимог та перехресних посилань на вимоги безпеки та шаблони атак.", + "keywords": "OWASP, Cornucopia, таксономія, вимоги, перехресні посилання, огляд, безпека, шаблони атак" } } } diff --git a/cornucopia.owasp.org/data/website/phrases/uk/webshop.json b/cornucopia.owasp.org/data/website/phrases/uk/webshop.json index d80096933..65ee82992 100644 --- a/cornucopia.owasp.org/data/website/phrases/uk/webshop.json +++ b/cornucopia.owasp.org/data/website/phrases/uk/webshop.json @@ -1,10 +1,10 @@ { "webshop": { - "title": "Webshop", + "title": "Веб-магазин", "head": { - "title": "OWASP Cornucopia - Webshop", - "description": "OWASP Cornucopia webshops for bying the cards decks", - "keywords": "OWASP, Cornucopia, webshop, card decks" + "title": "OWASP Cornucopia - Веб-магазин", + "description": "Веб-магазини OWASP Cornucopia для купівлі колод карт.", + "keywords": "OWASP, Cornucopia, веб-магазин, колоди карт" } } } From 7a1f631528e9f31ed799dca81996787068af8738 Mon Sep 17 00:00:00 2001 From: Andrii Kurdiumov Date: Tue, 3 Mar 2026 18:38:05 +0100 Subject: [PATCH 3/4] Boilerplate for better diff --- source/mobileapp-cards-1.1-uk.yaml | 894 ++++++++++++++++++ source/webapp-cards-3.0-uk.yaml | 1371 ++++++++++++++++++++++++++++ 2 files changed, 2265 insertions(+) create mode 100644 source/mobileapp-cards-1.1-uk.yaml create mode 100644 source/webapp-cards-3.0-uk.yaml diff --git a/source/mobileapp-cards-1.1-uk.yaml b/source/mobileapp-cards-1.1-uk.yaml new file mode 100644 index 000000000..474bda974 --- /dev/null +++ b/source/mobileapp-cards-1.1-uk.yaml @@ -0,0 +1,894 @@ +--- +meta: + edition: "mobileapp" + component: "cards" + language: "EN" + version: "1.1" +suits: +- + id: "PC" + name: "Platform & Code" + cards: + - + id: "PC2" + value: "2" + url: "https://cornucopia.owasp.org/cards/PC2" + desc: "Andrew can expose sensitive data through the app's auto-generated screenshots when the app moves to the background" + - + id: "PC3" + value: "3" + url: "https://cornucopia.owasp.org/cards/PC3" + desc: "Harold can spy sensitive data being entered through the user interface because the data is excessive, not properly masked or cleaned up after use" + - + id: "PC4" + value: "4" + url: "https://cornucopia.owasp.org/cards/PC4" + desc: "Kelly can expose sensitive data by taking advantage of the app's excessive permissions connected to the app's use of location, camera, microphone, storage, etc" + - + id: "PC5" + value: "5" + url: "https://cornucopia.owasp.org/cards/PC5" + desc: "Jason can provoke memory leak or corruption because the app has cyclic dependencies, manages pointers inadequately, keeps an incorrect reference count, does not release shared resources or apply stack protection" + - + id: "PC6" + value: "6" + url: "https://cornucopia.owasp.org/cards/PC6" + desc: "Dawn can expose and intercept sensitive functionality through interprocess communication because permissions for broadcast and sharing are not set, not narrow enough or because sensitive functionality isn't appropriately excluded when sharing" + - + id: "PC7" + value: "7" + url: "https://cornucopia.owasp.org/cards/PC7" + desc: "Lauren can traverse or modify otherwise protected files through access to the underlying file system by exploiting weaknesses in file system-based content providers, resolvers or its configuration" + - + id: "PC8" + value: "8" + url: "https://cornucopia.owasp.org/cards/PC8" + desc: "Colin can expose sensitive data through the app's interprocess communication because the content provider's query methods are not properly parameterized and arguments sanitized" + - + id: "PC9" + value: "9" + url: "https://cornucopia.owasp.org/cards/PC9" + desc: "Toby can modify or expose data by injection because the response from implicit intents is not properly validated" + - + id: "PCX" + value: "10" + url: "https://cornucopia.owasp.org/cards/PCX" + desc: "Max can modify or expose data because input validation and sanitation are not properly applied to interprocess communication or because extensions are not properly restricted" + - + id: "PCJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/PCJ" + desc: "Johan can modify or expose sensitive data by exploiting weaknesses in the SDK or third party libraries because updates to the app and platform are not enforced or do not patch known software vulnerabilities" + - + id: "PCQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/PCQ" + desc: "Xavier can inject scripts into the web view because it allows embedding content using deep linking without proper authorization and validation of the host, schema and path of the target as these can be changed by the user or because safe browsing is disabled" + - + id: "PCK" + value: "K" + url: "https://cornucopia.owasp.org/cards/PCK" + desc: "Grant can modify or expose data by influencing or altering JavaScript bridges, extensions or interprocess communication (e.g. shared memory, message passing, pipes, sockets)" + - + id: "PCA" + value: "A" + url: "https://cornucopia.owasp.org/cards/PCA" + desc: "You have invented a new attack against “Platform and Code”" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Code Quality” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" +- + id: "AA" + name: "Authentication & Authorization" + cards: + - + id: "AA2" + value: "2" + url: "https://cornucopia.owasp.org/cards/AA2" + desc: "Jie can use the app to do sensitive operations because the “unlocked key” is not used during the application flow" + - + id: "AA3" + value: "3" + url: "https://cornucopia.owasp.org/cards/AA3" + desc: "Choi can access capabilities, objects, resources, or properties they should not be authorized to access because entitlements or permissions are too wide, not properly set or not enforced" + - + id: "AA4" + value: "4" + url: "https://cornucopia.owasp.org/cards/AA4" + desc: "Vandana can bypass biometric authentication because the authentication is misconfigured or not implemented correctly" + - + id: "AA5" + value: "5" + url: "https://cornucopia.owasp.org/cards/AA5" + desc: "Eiman can bypass the local authentication through patching and/or by instrumentation because the authentication can be patched out or overloaded" + - + id: "AA6" + value: "6" + url: "https://cornucopia.owasp.org/cards/AA6" + desc: "Anant can perform sensitive operations without additional authentication because authentication requirements are too weak or missing" + - + id: "AA7" + value: "7" + url: "https://cornucopia.owasp.org/cards/AA7" + desc: "Abdullah can bypass authentication by altering the usual process sequence or flow, or by undertaking the process in incorrect order, or by manipulating date and time values used by the app, or by using valid features for unintended purposes" + - + id: "AA8" + value: "8" + url: "https://cornucopia.owasp.org/cards/AA8" + desc: "Pramod can intercept credentials through misdirection because the app is vulnerable to attacks like Tapjacking, StrandHogg and/or URL scheme hijacking" + - + id: "AA9" + value: "9" + url: "https://cornucopia.owasp.org/cards/AA9" + desc: "Wong can bypass the authentication because it does not fail securely. (i.e. it defaults to allowing unauthenticated access)" + - + id: "AAX" + value: "10" + url: "https://cornucopia.owasp.org/cards/AAX" + desc: "Prasad can bypass the centralized authentication and authorization controls since they are not being used comprehensively on all interactions" + - + id: "AAJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/AAJ" + desc: "Ade can bypass authentication because it is not enforced using a remote endpoint, or it is not based on a cryptographic primitive protected by keystore/keychain access control flags" + - + id: "AAQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/AAQ" + desc: "Riotaro can inject and run a command that the application will run at a higher privilege level without being authenticated or authorized to do so" + - + id: "AAK" + value: "K" + url: "https://cornucopia.owasp.org/cards/AAK" + desc: "Aatif can influence or alter authentication controls and can therefore bypass them" + - + id: "AAA" + value: "A" + url: "https://cornucopia.owasp.org/cards/AAA" + desc: "You have invented a new attack against “Authentication & Authorization”" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Authentication Architectures” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" +- + id: "NS" + name: "Network & Storage" + cards: + - + id: "NS2" + value: "2" + url: "https://cornucopia.owasp.org/cards/NS2" + desc: "Matt can inspect sensitive application log data because logging statements have not been removed or reviewed as safe before the production release" + - + id: "NS3" + value: "3" + url: "https://cornucopia.owasp.org/cards/NS3" + desc: "Bil can access sensitive data for sensitive fields from the pasteboard/clipboard or keyboard cache because the pasteboard/clipboard is not timely cleared, disabled or restricted for sensitive fields, or the keyboard cache is not disabled" + - + id: "NS4" + value: "4" + url: "https://cornucopia.owasp.org/cards/NS4" + desc: "Ricardo can extract data stored by the app on a stolen or decommissioned device because it does not enforce device access security policies (e.g. PIN protected locking, app-/os-version, USB debug deactivation, device encryption and rooting)" + - + id: "NS5" + value: "5" + url: "https://cornucopia.owasp.org/cards/NS5" + desc: "Kevin can read sensitive data mapped to user accounts or sessions by extracting data sent through third-party libraries and/or notifications sent between the app and embedded services (e.g. logs, notifications, backups, cache, local db)" + - + id: "NS6" + value: "6" + url: "https://cornucopia.owasp.org/cards/NS6" + desc: "Sam can dump sensitive data from memory because the data is not stored as primitive data types and overwritten with random data after use or because the app's input fields use insecure SDKs to store the data in RAM" + - + id: "NS7" + value: "7" + url: "https://cornucopia.owasp.org/cards/NS7" + desc: "Steve can access sensitive data by reading backups and/or local, internal/external storage" + - + id: "NS8" + value: "8" + url: "https://cornucopia.owasp.org/cards/NS8" + desc: "Martin can modify or expose sensitive data through unsafe reflection when reading data from public data storage (e.g. shared preferences) because the data is not validated before being read by the app" + - + id: "NS9" + value: "9" + url: "https://cornucopia.owasp.org/cards/NS9" + desc: "Adrian can compromise the app communication through a proxy because the app does not make use of certificate pinning or implements it incorrectly" + - + id: "NSX" + value: "10" + url: "https://cornucopia.owasp.org/cards/NSX" + desc: "Maarten can compromise the communication between the app and the external services because the app does not verify TLS certificates and -chains, trust insecure sources, lack hostname verification or ignore TLS verification issues" + - + id: "NSJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/NSJ" + desc: "Nihel can compromise the communication as it may fall back to an insecure or unencrypted channel, because encryption is optional, or because of client-server protocol or security provider weaknesses" + - + id: "NSQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/NSQ" + desc: "Ahmed can read and modify data in transit because the communication is transmitted over an unencrypted channel" + - + id: "NSK" + value: "K" + url: "https://cornucopia.owasp.org/cards/NSK" + desc: "Taher can intercept, extract or modify sensitive data at rest or in transit by influencing or altering methods for transferring or storing data at rest or in transit" + - + id: "NSA" + value: "A" + url: "https://cornucopia.owasp.org/cards/NSA" + desc: "You have invented a new attack against “Network & Storage”" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Network Communication” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" +- + id: "RS" + name: "Resilience" + cards: + - + id: "RS2" + value: "2" + url: "https://cornucopia.owasp.org/cards/RS2" + desc: "Sebastien can disclose sensitive data because the application is set up to log debug information at runtime" + - + id: "RS3" + value: "3" + url: "https://cornucopia.owasp.org/cards/RS3" + desc: "Tobias can disclose sensitive data by dumping debug symbols while the application is running" + - + id: "RS4" + value: "4" + url: "https://cornucopia.owasp.org/cards/RS4" + desc: "Timur can change the code of the production release because the code of the application has not been properly signed using a valid production certificate" + - + id: "RS5" + value: "5" + url: "https://cornucopia.owasp.org/cards/RS5" + desc: "Matteo can bypass access controls and trigger functionality because debugging is left enabled in the production build" + - + id: "RS6" + value: "6" + url: "https://cornucopia.owasp.org/cards/RS6" + desc: "Joren can bypass access controls because the anti-debugging controls aren't strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "RS7" + value: "7" + url: "https://cornucopia.owasp.org/cards/RS7" + desc: "Erlend can compromise the app by running it in an emulator because the prevention against emulators are not strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "RS8" + value: "8" + url: "https://cornucopia.owasp.org/cards/RS8" + desc: "Carlos can reverse engineer the app because the anti-reverse engineering controls aren't strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "RS9" + value: "9" + url: "https://cornucopia.owasp.org/cards/RS9" + desc: "Sean can reverse engineer the app because the code obfuscation isn't strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "RSX" + value: "10" + url: "https://cornucopia.owasp.org/cards/RSX" + desc: "Juan can bypass jailbreak and root detection and execute administrative functions to bypass integrity checks and access controls and trigger app functionality" + - + id: "RSJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/RSJ" + desc: "Pekka can compromise the integrity of the storage because the file integrity checks aren't strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "RSQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/RSQ" + desc: "Titus can patch out critical functionality because the runtime integrity checks are not strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "RSK" + value: "K" + url: "https://cornucopia.owasp.org/cards/RSK" + desc: "Sherif can influence or alter controls against reverse engineering and runtime protection and can therefore bypass them" + - + id: "RSA" + value: "A" + url: "https://cornucopia.owasp.org/cards/RSA" + desc: "You have invented a new attack against “Resilience”" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Tampering and Reverse Engineering” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" +- + id: "CRM" + name: "Cryptography" + cards: + - + id: "CRM2" + value: "2" + url: "https://cornucopia.owasp.org/cards/CRM2" + desc: "Lesego can compromise cryptographic operations and resources because keys are reused for multiple purposes, or not used according to the purpose for which they were created" + - + id: "CRM3" + value: "3" + url: "https://cornucopia.owasp.org/cards/CRM3" + desc: "Emery can access data because it has been obfuscated rather than using an approved cryptographic function" + - + id: "CRM4" + value: "4" + url: "https://cornucopia.owasp.org/cards/CRM4" + desc: "Enselme can modify sensitive data (stored or in transit) because it is not subject to integrity checking" + - + id: "CRM5" + value: "5" + url: "https://cornucopia.owasp.org/cards/CRM5" + desc: "Orace can predict the seed value used for generating cryptographic keys thereby compromising the cryptographic key" + - + id: "CRM6" + value: "6" + url: "https://cornucopia.owasp.org/cards/CRM6" + desc: "Kouti can extract sensitive data because the cryptographic key, used, is hard-coded or stored insecurely such as in local, internal/external storage" + - + id: "CRM7" + value: "7" + url: "https://cornucopia.owasp.org/cards/CRM7" + desc: "Ramsey can access stored sensitive data because it is not securely encrypted" + - + id: "CRM8" + value: "8" + url: "https://cornucopia.owasp.org/cards/CRM8" + desc: "Adel can predict and use the app's cryptographic keys because they are insufficiently long and random, can be enumerated, or derived from known values" + - + id: "CRM9" + value: "9" + url: "https://cornucopia.owasp.org/cards/CRM9" + desc: "Fady can bypass cryptographic controls because they do not fail securely (i.e. they default to unprotected)" + - + id: "CRMX" + value: "10" + url: "https://cornucopia.owasp.org/cards/CRMX" + desc: "Ash can break the cryptography because it is not strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "CRMJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/CRMJ" + desc: "Hassan can extract or modify sensitive data because functions for storage and/or encryption are weak, deprecated or used incorrectly" + - + id: "CRMQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/CRMQ" + desc: "Simon can bypass hashing and encryption functions because they are custom and/or inadequately implemented" + - + id: "CRMK" + value: "K" + url: "https://cornucopia.owasp.org/cards/CRMK" + desc: "Tarik can influence or alter cryptographic operations and can therefore bypass them" + - + id: "CRMA" + value: "A" + url: "https://cornucopia.owasp.org/cards/CRMA" + desc: "You have invented a new attack against “Cryptography”" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Cryptography” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" +- + id: "CM" + name: "Cornucopia" + cards: + - + id: "CM2" + value: "2" + url: "https://cornucopia.owasp.org/cards/CM2" + desc: "Garth can reduce app users' privacy because the app is not transparent about the app's data collection and usage in a concise, easily accessible and understandable way" + - + id: "CM3" + value: "3" + url: "https://cornucopia.owasp.org/cards/CM3" + desc: "Elsa can reduce app users' privacy because the app does not allow for the user to easily manage, delete and modify their data, change privacy settings and re-prompt for consent when more data is required" + - + id: "CM4" + value: "4" + url: "https://cornucopia.owasp.org/cards/CM4" + desc: "Elizabeth can reduce app users' privacy because the app sends too much personal data without the user's consent to downstream services that are outside the user's control" + - + id: "CM5" + value: "5" + url: "https://cornucopia.owasp.org/cards/CM5" + desc: "Debarghaya can reduce app users' privacy because the app repurpose personal information (e.g. device IDs, IP addresses, behavioral patterns) collected for security concerns in order to cater for commercial interests without consent" + - + id: "CM6" + value: "6" + url: "https://cornucopia.owasp.org/cards/CM6" + desc: "Kim can reduce app users' privacy because the app repurpose biometric information (e.g. fingerprints, facial recognition data, etc.) collected for security concerns in order to cater for commercial interests" + - + id: "CM7" + value: "7" + url: "https://cornucopia.owasp.org/cards/CM7" + desc: "Gastón can execute malicious actions through intent redirection because the intent is not properly sanitized and immutable" + - + id: "CM8" + value: "8" + url: "https://cornucopia.owasp.org/cards/CM8" + desc: "Roxana can do arbitrary file overwrites and potentially execute malicious code through path traversal because the target path and directory is not appropriately validated" + - + id: "CM9" + value: "9" + url: "https://cornucopia.owasp.org/cards/CM9" + desc: "Alessandro can exploit the app by taking advantage of buffer overflows and memory leaks to write foreign code within the mobile code's address space" + - + id: "CMX" + value: "10" + url: "https://cornucopia.owasp.org/cards/CMX" + desc: "Carlos can use the application's notification services to launch phishing campaigns because notifications are not sanitized and validated according to best practices" + - + id: "CMJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/CMJ" + desc: "Luis can influence or alter cryptographic methods to corrupt other users' data because the integrity of the encrypted data is not verified before being shared with external services" + - + id: "CMQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/CMQ" + desc: "Victor can patch the app and use it to distribute malicious code because the runtime integrity checks are not strong enough according to what is recommended or the perceived effort of a potential attacker" + - + id: "CMK" + value: "K" + url: "https://cornucopia.owasp.org/cards/CMK" + desc: "Ruben can use the app, without modifications, to spread malicious code because methods for transfer and storage do not perform proper data sanitization and validation" + - + id: "CMA" + value: "A" + url: "https://cornucopia.owasp.org/cards/CMA" + desc: "You have invented a new attack of any type" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App User Privacy Protection” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" +- + id: "WC" + name: "Wild Card" + cards: + - + id: "JOAM" + value: "A" + url: "https://cornucopia.owasp.org/cards/JOAM" + card: "Joker" + desc: "Starr can influence, alter or affect the app so that it no longer complies with legal, regulatory, contractual or other mandates" + misc: "Have you thought about becoming an individual OWASP member? All tools, guidance and local meetings are free for everyone, but individual membership helps support OWASP's work" + - + id: "JOBM" + value: "B" + url: "https://cornucopia.owasp.org/cards/JOBM" + card: "Joker" + desc: "Mallory can use the app installed on Bob's device maliciously to surveil, spy on, eavesdrop, control remotely, track or otherwise monitor Bob, without consent and/or notification" + misc: "Examine vulnerabilities and discover how they can be fixed using free MASTG reference applications on the OWASP MAS website" +paragraphs: +- + id: "Common" + name: "Common" + sentences: + - + id: "NoCard" + text: "No Card" + - + id: "Title" + text: "Mobile App Edition v1.1-EN" + - + id: "Title_full" + text: "OWASP® Cornucopia Mobile App Edition v1.1-EN" + - + id: "T00010" + text: "OWASP® Cornucopia is a mechanism to assist software development teams identify security requirements in Agile, conventional and formal development processes." + - + id: "T00020" + text: "Authors" + - + id: "T00100" + text: "Acknowledgements" + - + id: "T00110" + text: "Adam Shostack and the Microsoft SDL Team for the “Elevation of Privilege Threat Modelling Game”, published under a Creative Commons Attribution license, as the inspiration for Cornucopia and from which many ideas, especially the game theory, were copied." + - + id: "T00120" + text: "Colin Watson for coming up with Cornucopia which OWASP Cornucopia Mobile App Edition is based on." + - + id: "T00130" + text: "Contributors, supporters, sponsors and volunteers to the OWASP MASVS/MASTG, Mitre's Common Attack Pattern Enumeration and Classification (CAPEC™), and SAFECode's “Practical Security Stories and Security Tasks for Agile Development Environments” which are all used in the cross-references provided." + - + id: "T00145" + text: "Current and past OWASP® Cornucopia project contributors and leaders, especially those involved most recently updating the cross-references, creating online versions, and writing scripts to dynamically generate Cornucopia's output files." + - + id: "T00150" + text: "Blackfoot (UK) Limited for creating and donating print-ready design files, Tom Brennan and the OWASP® Foundation for instigating the creation of an OWASP-branded box and leaflet, and Secure Delivery Ltd for developing and donating Copi, the platform to play Cornucopia and EoP online." + - + id: "T00161" + text: "(continued on page 20)" + - + id: "T00162" + text: "(continued from page 10)" + - + id: "T00200" + text: "Introduction" + - + id: "T00210" + text: "The idea behind Cornucopia is to help development teams, especially those using Agile methodologies, to identify application security requirements and develop security-based user stories." + - + id: "T00220" + text: "Cornucopia Mobile App Edition uses the same concepts and game strategy as the Cornucopia Website App Edition, but are made for development team doing mobile development. Cornucopia is inspired by “Elevation of Privilege: The Threat Modeling Game (EoP)”." + - + id: "T00240" + text: "Cornucopia attempts to introduce threat-modelling ideas into mobile development teams that use Agile methodologies, or are more focused on mobile application weaknesses than other types of software vulnerabilities." + - + id: "T00300" + text: "The card deck (pack)" + - + id: "T00310" + text: "The card scenarios are meant to cover all the MASVS 2.0 requirements, all the tests from the MASTG and any additional guidelines from the Android and IOS secure coding guides. This was done in order to allow the game to be as aligned as possible with the latest guidelines for secure mobile development. Still, it's important to keep in mind that security guidelines and requirements are always in motion and that the game first of all should be used as a support when doing mobile application threat modeling and not as a complete guide into security requirements and guidelines." + - + id: "T00311" + text: "Cornucopia Mobile App Edition suits are based on the sections in the Mobile Application Security Verification Standard." + - + id: "T00320" + text: "These provided five suits, and a sixth called “Cornucopia” was created as a trump suite: " + - + id: "T00330" + text: "Platform & Code (PC)" + - + id: "T00340" + text: "Authentication & Authorization (AA)" + - + id: "T00350" + text: "Network & Storage (NS)" + - + id: "T00360" + text: "Resilience (RS)" + - + id: "T00370" + text: "Cryptography (CRM)" + - + id: "T00380" + text: "Cornucopia (CM)" + - + id: "T00390" + text: "Similar to poker-playing cards, each suit contains 13 cards (Ace, 2-10, Jack, Queen and King)." + - + id: "T00400" + text: "There are also two Joker cards similar to the Cornucopia Website App Edition." + - + id: "T00500" + text: "Mappings" + - + id: "T00510" + text: "The other driver for Mobile Cornucopia is to link the attacks with requirements and verification techniques." + - + id: "T00520" + text: "In addition to having the MASVS 2.0 requirement codes and MASTG test codes printed on them, the cards also links to CAPEC™ software attack pattern IDs which themselves are mapped to CWEs." + - + id: "T00530" + text: "Each card is also mapped to the 36 primary security stories in the SAFECode document to help teams create their own security-related stories for use in Agile processes." + - + id: "T00600" + text: "Game strategy" + - + id: "T00610" + text: "Apart from the content differences, the game rules are virtually identical to those for the Cornucopia Website App Edition." + - + id: "T01000" + text: "Provide feedback" + - + id: "T01010" + text: "If you have ideas or feedback on the use of OWASP® Mobile Cornucopia, please share them." + - + id: "T01020" + text: "Even better if you create alternative versions of the cards, or produce professional print-ready versions, please share that with the volunteers who created this edition and with the wider application development and application security community." + - + id: "T01030" + text: "The best place to use to discuss or contribute is the list/group for the OWASP project:" + - + id: "T01040" + text: "List/Group" + - + id: "T01050" + text: "Project home page" + - + id: "T01060" + text: "All OWASP documents and tools are free to download and use." + - + id: "T01070" + text: "OWASP® Mobile Cornucopia is licensed under the Creative Commons Attribution-ShareAlike 3.0 license." + - + id: "T01100" + text: "Instructions" + - + id: "T01110" + text: "The text on each card describes an attack, but the attacker is given a name, which are unique across all the cards." + - + id: "T01120" + text: "The name can represent a computer system (e.g. the database, the file system, another application, a related service, a botnet), an individual person (e.g. a citizen, a customer, a client, an employee, a criminal, a spy), or even a group of people (e.g. a competitive organization, activists with a common cause)." + - + id: "T01130" + text: "The attacker might be remote in some other device/location, or local/internal with access to the same device, host or network as the application is running on." + - + id: "T01140" + text: "The attacker is always named at the start of each description" + - + id: "T01150" + text: "An example is:" + - + id: "T01160" + text: "Wong can bypass the authentication because it does not fail securely." + - + id: "T01170" + text: "This means the attacker, Wong, can log into the app without providing credentials because the login mechanism allows access when it fails." + - + id: "T01180" + text: "The attacks were primarily drawn from the MASVS 2.0 Mobile Application Testing guide and the Android and IOS secure coding guides" + - + id: "T01200" + text: "Lookups between the attacks and the guides are provided on most cards:" + - + id: "T01210" + text: "Test codes from the MASVS Mobile application Test Guide:" + - + id: "T01220" + text: "Verification IDs in “Mobile Application Security Verification Standard (MASVS) 2.0 for Mobile Applications”" + - + id: "T01240" + text: "IDs in “Common Attack Pattern Enumeration and Classification (CAPEC™)”, v3.9, Mitre Corporation, November 2015" + - + id: "T01250" + text: "Security-focused stories in 'Practical Security Stories and Security Tasks for Agile Development Environments', SAFECode, July 2012" + - + id: "T01260" + text: "A look-up means the attack is included within the referenced item, but does not necessarily encompass the whole of its intent. " + - + id: "T01270" + text: "For structured data like CAPEC, the most specific reference is provided but sometimes a cross-reference is provided that also has more specific (child) examples." + - + id: "T01280" + text: "There are no lookups on the six Aces and two Jokers. " + - + id: "T01290" + text: "Instead these cards have some general tips in italicized text." + - + id: "T01300" + text: "It is possible to play Cornucopia in many different ways. " + - + id: "T01301" + text: "For how to play, continue on pages: 11-19." + - + id: "T01400" + text: "Preparations" + - + id: "T01410" + text: "Obtain a deck, or print your own deck of Cornucopia cards (see page 2 of this document) and separate/cut out the cards" + - + id: "T01411" + text: "Use the cards in this pack" + - + id: "T01420" + text: "Identify an application or application process to review; this might be a concept, design or an actual implementation" + - + id: "T01430" + text: "Create a data flow diagram, user stories, or other artefacts to help the review" + - + id: "T01440" + text: "Identify and invite a group of 3-6 architects, developers, testers and other business stakeholders together and sit around a table (try to include someone fairly familiar with application security)" + - + id: "T01450" + text: "Have some prizes to hand (gold stars, chocolate, pizza, beer or flowers depending upon your office culture)" + - + id: "T01500" + text: "Play" + - + id: "T01510" + text: "One suit - Cornucopia - acts as trumps." + - + id: "T01520" + text: "Aces are high (i.e. they beat Kings)." + - + id: "T01530" + text: "It helps if there is a non-player to document the issues and scores." + - + id: "T01540" + text: "Remove the Jokers and a few low-score (2, 3, 4) cards from Cornucopia suit to ensure each player will have the same number of cards" + - + id: "T01550" + text: "Shuffle the deck and deal all the cards" + - + id: "T01560" + text: "To begin, choose a player randomly who will play the first card - they can play any card from their hand except from the trump suit - Cornucopia" + - + id: "T01570" + text: "To play a card, each player must read it out aloud, and explain (see the online Wiki Deck for tips) how the threat could apply (the player gets a point for attacks that might work which the group thinks is an actionable bug) - do not try to think of mitigations at this stage, and do not exclude a threat just because of a belief that it is already mitigated - someone note the card and record the issues raised" + - + id: "T01580" + text: "Play clockwise, each person must play a card in the same way; if you have any card of the matching lead suit you must play one of those, otherwise they can play a card from any other suit. " + - + id: "T01590" + text: "Only a higher card of the same suit, or the highest card in the trump suit Cornucopia, wins the hand." + - + id: "T01600" + text: "The person who wins the round, leads the next round (i.e. they play first), and thus defines the next lead suit" + - + id: "T01610" + text: "Repeat until all the cards are played" + - + id: "T01700" + text: "Scoring" + - + id: "T01710" + text: "The objective is to identify applicable threats, and win hands (rounds):" + - + id: "T01720" + text: "Score +1 for each card you can identify as a valid threat to the application under consideration" + - + id: "T01730" + text: "Score +1 if you win a round" + - + id: "T01740" + text: "Once all cards have been played, whoever has the most points wins" + - + id: "T01800" + text: "Closure" + - + id: "T01810" + text: "Review all the applicable threats and the matching security requirements" + - + id: "T01820" + text: "Create user stories, specifications and test cases as required for your development methodology." + - + id: "T01900" + text: "Alternative game rules" + - + id: "T01910" + text: "If you are new to the game, remove the Aces and two Joker cards to begin with." + - + id: "T01920" + text: "Add the Joker cards back in once people become more familiar with the process." + - + id: "T01930" + text: "Apart from the “trumps card game” rules described above which are very similar to the EoP, the deck can also be played as the “twenty-one card game” (also known as “pontoon” or “blackjack”) which normally reduces the number of cards played in each round." + - + id: "T01940" + text: "Practice on an imaginary application, or even a future planned application, rather than trying to find fault with existing applications until the participants are happy with the usefulness of the game." + - + id: "T01950" + text: "Consider just playing with one suit to make a shorter session - but try to cover all the suits for every project. " + - + id: "T01960" + text: "Or even better just play one hand with some pre-selected cards, and score only on the ability to identify security requirements. " + - + id: "T01970" + text: "Perhaps have one game of each suit each day for a week or so, if the participants cannot spare long enough for a full deck." + - + id: "T01980" + text: "Some teams have preferred to play a full hand of cards, and then discuss what is on the cards after each round (instead of after each person plays a card)." + - + id: "T01990" + text: "Another suggestion is that if a player fails to identify the card is relevant, allow other players to suggest ideas, and potentially let them gain the point for the card. " + - + id: "T02000" + text: "Consider allowing extra points for especially good contributions." + - + id: "T02010" + text: "You can even play by yourself. " + - + id: "T02020" + text: "Just use the cards to act as thought-provokers. " + - + id: "T02030" + text: "Involving more people will be beneficial though." + - + id: "T02040" + text: "In Microsoft's EoP guidance, they recommend cheating as a good game strategy." + - + id: "T02600" + text: "Frequently asked questions" + - + id: "T02610" + text: "1. Can I copy or edit the game?" + - + id: "T02620" + text: "Yes of course." + - + id: "T02630" + text: "All OWASP materials are free to do with as you like provided you comply with the Creative Commons Attribution-ShareAlike 3.0 license. " + - + id: "T02640" + text: "Perhaps if you create a new version, you might donate it to the OWASP® Cornucopia Project?" + - + id: "T02650" + text: "2. How can I get involved?" + - + id: "T02660" + text: "Please send ideas or offers of help to the project's mailing list." + - + id: "T02670" + text: "3. How were the attackers' names chosen?" + - + id: "T02680" + text: "EoP begins every description with words like 'An attacker can...'," + - + id: "T02690" + text: "but Colin Watson used personal names in Cornucopia which can be thought of as external or internal people or aliases for computer systems." + - + id: "T02700" + text: "Likewise, the Mobile App Edition names reflect the OWASP community aspect." + - + id: "T02710" + text: "Therefore, apart from 'Bob and Mallory', the attacker names are drawn from the 2024 OWASP Global and EU board members, OWASP Staff, OWASP Cornucopia Mobile App Edition authors and contributors, and OWASP Chapter leaders around the world." + - + id: "T02720" + text: "The cultural and gender mix simply reflects these sources of names, and" + - + id: "T02730" + text: "is not meant to be world-representative." + - + id: "T02750" + text: "4. Why aren't there any images on the card faces?" + - + id: "T02760" + text: "There is quite a lot of text on the cards, and the cross-referencing takes up space too." + - + id: "T02770" + text: "But it would be great to have additional design elements included." + - + id: "T02780" + text: "Any volunteers" + - + id: "T02790" + text: "5. Are the attacks ranked by the number on the card?" + - + id: "T02800" + text: "Only approximately." + - + id: "T02810" + text: "The risk will be application and organisation dependent, due to varying security and compliance requirements, so your own severity rating may place the cards in some other order than the numbers on the cards." + - + id: "T02820" + text: "6. How long does it take to play a round of cards using the full deck?" + - + id: "T02830" + text: "This depends upon the scope of the application, amount of discussion and how familiar the players are with application security concepts." + - + id: "T02840" + text: "But perhaps allow 1.5 to 2.0 hours for 4-6 people." + - + id: "T02850" + text: "7. What sort of people should play the game?" + - + id: "T02860" + text: "Always try to have a mix of roles who can contribute alternative perspectives." + - + id: "T02870" + text: "But include someone who has a reasonable knowledge of application vulnerability terminology. " + - + id: "T02880" + text: "Otherwise try to include a mix of architects, developers, testers and a relevant project manager or business owner." + - + id: "T02890" + text: "8. Who should take notes and record scores?" + - + id: "T02900" + text: "It is better if that someone else, not playing the game, takes notes about the requirements identified and issues discussed." + - + id: "T02910" + text: "This could be used as training for a more junior developer, or performed by the project manager." + - + id: "T02920" + text: "Some organisations have made a recording to review afterwards when the requirements are written up more formally." + - + id: "T02930" + text: "9. Should we always use the full deck of cards?" + - + id: "T02940" + text: "No. " + - + id: "T02950" + text: "A smaller deck is quicker to play. " + - + id: "T02960" + text: "Start your first game with only enough cards for two or three rounds. " + - + id: "T02970" + text: "Always consider removing cards that are not appropriate at all of the target application or function being reviewed. " + - + id: "T02980" + text: "For the first few times people play the game it is also usually better to remove the Aces and the two Jokers." + - + id: "T02990" + text: "It is also usual to play the game without any trumps suit until people are more familiar with the idea." + - + id: "T03000" + text: "10. What should players do when they have an Ace card that says “invented a new X attack”?" + - + id: "T03010" + text: "The player can make up any attack they think is valid, but must match the suit of the card (e.g. Platform & Code)." + - + id: "T03020" + text: "With players new to the game, it can be better to remove these to begin with (see also FAQ 9)." + - + id: "T03850" + text: "OWASP's hard-working employees." diff --git a/source/webapp-cards-3.0-uk.yaml b/source/webapp-cards-3.0-uk.yaml new file mode 100644 index 000000000..f8f0d621f --- /dev/null +++ b/source/webapp-cards-3.0-uk.yaml @@ -0,0 +1,1371 @@ +--- +meta: + edition: "webapp" + component: "cards" + language: "EN" + version: "3.0" +suits: +- + id: "VE" + name: "DATA VALIDATION & ENCODING" + cards: + - + id: "VE2" + value: "2" + url: "https://cornucopia.owasp.org/cards/VE2" + desc: "Brian can gather information about the underlying configurations, schemas, logic, code, software, services and infrastructure due to the content of error messages, or poor configuration, or the presence of default installation files or old, test, backup or copies of resources, or exposure of source code" + - + id: "VE3" + value: "3" + url: "https://cornucopia.owasp.org/cards/VE3" + desc: "Robert can input malicious data because the allowed protocol format is not being checked, or duplicates are accepted, or the structure is not being verified, or the individual data elements are not being sanitized, or preferably validated for format, type, range, size, length and a whitelist of allowed characters or formats" + - + id: "VE4" + value: "4" + url: "https://cornucopia.owasp.org/cards/VE4" + desc: "Dave can input malicious field names or data because it is not being checked within the context of the current user and process" + - + id: "VE5" + value: "5" + url: "https://cornucopia.owasp.org/cards/VE5" + desc: "Jee can bypass the centralized encoding routines since they are not being used everywhere, or the wrong encodings are being used" + - + id: "VE6" + value: "6" + url: "https://cornucopia.owasp.org/cards/VE6" + desc: "Jason can bypass the centralized validation routines since they are not being used on all inputs" + - + id: "VE7" + value: "7" + url: "https://cornucopia.owasp.org/cards/VE7" + desc: "Jan can craft special payloads to foil input validation because the character set is not specified/enforced, or the data is encoded multiple times, or the data is not fully converted into the same format the application uses (e.g. canonicalization) before being validated, or variables are not strongly typed" + - + id: "VE8" + value: "8" + url: "https://cornucopia.owasp.org/cards/VE8" + desc: "Oana can bypass the centralized sanitization routines since they are not being used comprehensively" + - + id: "VE9" + value: "9" + url: "https://cornucopia.owasp.org/cards/VE9" + desc: "Shamun can bypass input validation or output validation checks because validation failures are not rejected and/or sanitized" + - + id: "VEX" + value: "10" + url: "https://cornucopia.owasp.org/cards/VEX" + desc: "Darío can exploit the trust the application places in a source of data (e.g. user-definable data, manipulation of locally stored data, alteration to state data on a client device, lacking and/or improper enforcement of client-side controls, lack of verification of identity during data validation such as Darío can pretend to be Colin)" + - + id: "VEJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/VEJ" + desc: "Toby has control over input validation, output validation, sanitization or output encoding code or routines so they can be bypassed" + - + id: "VEQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/VEQ" + desc: "Xavier can inject data into a client or device side interpreter because a parameterised interface is not being used, or has not been implemented correctly, or the data has not been encoded, sanitized or escaped correctly for the context, or there is no restrictive policy on code or data includes" + - + id: "VEK" + value: "K" + url: "https://cornucopia.owasp.org/cards/VEK" + desc: "Gabe can inject data into an server-side interpreter (e.g. SQL, OS commands, Xpath, Server JavaScript, SMTP) because a strongly typed parameterised interface is not being used, not implemented correctly, or properly configured" + - + id: "VEA" + value: "A" + url: "https://cornucopia.owasp.org/cards/VEA" + desc: "You have invented a new attack against Data Validation and Encoding" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Input Validation, XSS Prevention, DOM-based XSS Prevention, SQL Injection Prevention, and Query Parameterization" +- + id: "AT" + name: "AUTHENTICATION" + cards: + - + id: "AT2" + value: "2" + url: "https://cornucopia.owasp.org/cards/AT2" + desc: "James can undertake authentication functions without the real user ever being aware this has occurred (e.g. attempt to log in, log in with stolen credentials, reset the password) " + - + id: "AT3" + value: "3" + url: "https://cornucopia.owasp.org/cards/AT3" + desc: "Muhammad can obtain a user's password or other secrets such as MFA codes or biometrics, by observation during entry, or from a local cache, or from memory, or in transit, or by reading it from some unprotected location, or because it is widely known or leaked" + - + id: "AT4" + value: "4" + url: "https://cornucopia.owasp.org/cards/AT4" + desc: "Sebastien can easily identify user names or can enumerate them" + - + id: "AT5" + value: "5" + url: "https://cornucopia.owasp.org/cards/AT5" + desc: "Javier can use default, test or easily guessable credentials to authenticate, or can use an old account, or an account not necessary for the application" + - + id: "AT6" + value: "6" + url: "https://cornucopia.owasp.org/cards/AT6" + desc: "Sven can reuse a temporary password, a recovery-, activation-, auth-, or MFA code because it's not changed after use, or it can not be reset by the user or admin, or it has an insufficiently implemented, too long or no expiry, or is still valid after being used, reset or revoked, or it does not use a secure out-of-band delivery method (e.g. post, mobile app, SMS)" + - + id: "AT7" + value: "7" + url: "https://cornucopia.owasp.org/cards/AT7" + desc: "Cecilia can use brute force and dictionary attacks against one or many accounts without limit, or these attacks are simplified due to insufficient complexity, length, expiration and requirements for the use of passwords, recovery-, activation-, or MFA codes" + - + id: "AT8" + value: "8" + url: "https://cornucopia.owasp.org/cards/AT8" + desc: "Kate can bypass authentication because it does not fail secure (i.e. it defaults to allowing unauthenticated access)" + - + id: "AT9" + value: "9" + url: "https://cornucopia.owasp.org/cards/AT9" + desc: "Claudia can undertake more critical functions because authentication requirements are inconsistent, too weak (e.g. do not use passkeys or other strong authentication such as a recomended MFA method), or there is no requirement to re-authenticate for these" + - + id: "ATX" + value: "10" + url: "https://cornucopia.owasp.org/cards/ATX" + desc: "Pravin can bypass authentication controls because a centralized standard, tested, proven, recommended and approved authentication module/framework/service, separate to the resource being requested, is not being used, has been misconfigured, or has been improperly implemented" + - + id: "ATJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/ATJ" + desc: "Mark can access resources or services because there is no authentication requirement, or because authentication is missing due to misconfiguration, improper design or implementation, or it was mistakenly assumed authentication would be undertaken by some other system or performed in some previous action" + - + id: "ATQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/ATQ" + desc: "Johan can bypass authentication because it is not enforced with equal rigor for all types of authentication functionality (e.g. register, password change, password recovery, log out, administration) or across all versions/channels (e.g. mobile website, mobile app, full website, API, call centre)" + - + id: "ATK" + value: "K" + url: "https://cornucopia.owasp.org/cards/ATK" + desc: "Olga can influence or alter authentication code/routines so they can be bypassed" + - + id: "ATA" + value: "A" + url: "https://cornucopia.owasp.org/cards/ATA" + desc: "You have invented a new attack against Authentication" + misc: "Read more about this topic in OWASP's free Authentication Cheat Sheet" +- + id: "SM" + name: "SESSION MANAGEMENT" + cards: + - + id: "SM2" + value: "2" + url: "https://cornucopia.owasp.org/cards/SM2" + desc: "William has control over the generation of session identifiers or authorization tokens" + - + id: "SM3" + value: "3" + url: "https://cornucopia.owasp.org/cards/SM3" + desc: "Ryan can continue to use a stolen session for its maximum duration because the user can not check whether the session might be stolen, or terminate the session or ask the administrator to do so, or because the application does not mitigate against authorization code interception" + - + id: "SM4" + value: "4" + url: "https://cornucopia.owasp.org/cards/SM4" + desc: "Alison can set session identification cookies or use tokens for another web application because the domain, path, (or in the case of tokens) audience are not restricted sufficiently" + - + id: "SM5" + value: "5" + url: "https://cornucopia.owasp.org/cards/SM5" + desc: "John can predict or guess session identifiers because they are not changed when the user's role alters (e.g. pre and post authentication), or are not verified using a trusted backend service, or are not sufficiently long and random, or are not changed periodically" + - + id: "SM6" + value: "6" + url: "https://cornucopia.owasp.org/cards/SM6" + desc: "Gary can take over a user's session because there is a long or no inactivity timeout, or a long or no overall session time limit, or the same session can be used from more than one device/location" + - + id: "SM7" + value: "7" + url: "https://cornucopia.owasp.org/cards/SM7" + desc: "Graham can utilize Adam's session after he has finished, because there is no log out function, or he cannot easily log out, or because the log out and other mechanisms for changing authentication settings do not permit the user to terminate the session or sessions" + - + id: "SM8" + value: "8" + url: "https://cornucopia.owasp.org/cards/SM8" + desc: "Matt can abuse sessions because the application does not require re-authentication after a session time limit has been reached, account terminated, or when privileges have changed, or after any abrupt and risky change to the user's authentication settings or environmental and contextual attributes (e.g. IP address, device, location, time of day, browser, etc.)" + - + id: "SM9" + value: "9" + url: "https://cornucopia.owasp.org/cards/SM9" + desc: "Ivan can steal session identifiers or authorization tokens because they are sent over insecure channels, or are logged, or are revealed in error messages, or are included in URLs, or are accessible un-necessarily by code, cache or load balancers which the attacker can influence or alter" + - + id: "SMX" + value: "10" + url: "https://cornucopia.owasp.org/cards/SMX" + desc: "Marce can forge requests because per-session, or per-request for more critical actions, strong random tokens (i.e. anti-CSRF tokens) or similar are not being used for actions that change state" + - + id: "SMJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/SMJ" + desc: "Jeff can reuse stolen session identifiers and/or tokens because they are not handled confidentially or because there is no strong proof of possession (e.g. binding to certificate, device, IP address, user-agent, etc.)" + - + id: "SMQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/SMQ" + desc: "Salim can bypass session management because it is not applied comprehensively and consistently across the application" + - + id: "SMK" + value: "K" + url: "https://cornucopia.owasp.org/cards/SMK" + desc: "Peter can bypass the session management controls because they have been self-built and/or are weak, instead of using a standard framework or approved tested module" + - + id: "SMA" + value: "A" + url: "https://cornucopia.owasp.org/cards/SMA" + desc: "You have invented a new attack against Session Management" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Session Management, and Cross Site Request Forgery (CSRF) Prevention" +- + id: "AZ" + name: "AUTHORIZATION" + cards: + - + id: "AZ2" + value: "2" + url: "https://cornucopia.owasp.org/cards/AZ2" + desc: "Tim can influence where data is sent or forwarded to" + - + id: "AZ3" + value: "3" + url: "https://cornucopia.owasp.org/cards/AZ3" + desc: "Christian can access information, which he should not have permission to, through another mechanism that does have permission (e.g. search indexer, logger, reporting), or because it is cached, or kept for longer than necessary, or through other information leakage" + - + id: "AZ4" + value: "4" + url: "https://cornucopia.owasp.org/cards/AZ4" + desc: "Kelly can bypass authorization controls because they do not fail securely (i.e. they default to allowing access)" + - + id: "AZ5" + value: "5" + url: "https://cornucopia.owasp.org/cards/AZ5" + desc: "Chad can access resources (including services, processes, AJAX, video, images, documents, temporary files, session data, system properties, configuration data, registry settings, logs) he should not be able to due to missing authorization, or due to excessive privileges (e.g. not using the principle of least privilege)" + - + id: "AZ6" + value: "6" + url: "https://cornucopia.owasp.org/cards/AZ6" + desc: "Eduardo can access data he does not have permission to, even though he has permission to the form/page/URL/entry point" + - + id: "AZ7" + value: "7" + url: "https://cornucopia.owasp.org/cards/AZ7" + desc: "Yuanjing can access application functions, objects, or properties he is not authorized to access" + - + id: "AZ8" + value: "8" + url: "https://cornucopia.owasp.org/cards/AZ8" + desc: "Tom can bypass business rules by altering the usual process sequence or flow, or by undertaking the process in the incorrect order, or by manipulating date and time values used by the application, or by using valid features for unintended purposes, or by otherwise manipulating control data" + - + id: "AZ9" + value: "9" + url: "https://cornucopia.owasp.org/cards/AZ9" + desc: "Michael can bypass the application to gain access to data because administrative tools or administrative interfaces are not secured adequately" + - + id: "AZX" + value: "10" + url: "https://cornucopia.owasp.org/cards/AZX" + desc: "Richard can bypass the centralized authorization controls since they are not being used comprehensively on all interactions, or because they have been misconfigured, or because the application does not use a centralized standard, tested, proven, recommended and approved authorization module/framework/service" + - + id: "AZJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/AZJ" + desc: "Dinis can access security configuration information, or access control lists" + - + id: "AZQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/AZQ" + desc: "Christopher can inject a command that the application will run at a higher privilege level" + - + id: "AZK" + value: "K" + url: "https://cornucopia.owasp.org/cards/AZK" + desc: "Adrian can influence or alter authorization controls and permissions, and can therefore bypass them" + - + id: "AZA" + value: "A" + url: "https://cornucopia.owasp.org/cards/AZA" + desc: "You have invented a new attack against Authorization" + misc: "Read more about this topic in OWASP's Development and Testing Guides" +- + id: "CR" + name: "CRYPTOGRAPHY" + cards: + - + id: "CR2" + value: "2" + url: "https://cornucopia.owasp.org/cards/CR2" + desc: "Kyun can access data because it has been obfuscated rather than using an approved cryptographic function" + - + id: "CR3" + value: "3" + url: "https://cornucopia.owasp.org/cards/CR3" + desc: "Axel can modify transient or permanent data (stored or in transit), or source code, or updates/patches, or configuration data, because it is not subject to integrity checking" + - + id: "CR4" + value: "4" + url: "https://cornucopia.owasp.org/cards/CR4" + desc: "Paulo can access data in transit that is not encrypted, even though the channel is encrypted" + - + id: "CR5" + value: "5" + url: "https://cornucopia.owasp.org/cards/CR5" + desc: "Kyle can bypass cryptographic controls because they do not fail securely (i.e. they default to unprotected)" + - + id: "CR6" + value: "6" + url: "https://cornucopia.owasp.org/cards/CR6" + desc: "Romain can read and modify unencrypted data in memory or in transit (e.g. cryptographic secrets, credentials, session identifiers, personal and commercially-sensitive data), in use or in communications within the application, or between the application and users, or between the application and external systems" + - + id: "CR7" + value: "7" + url: "https://cornucopia.owasp.org/cards/CR7" + desc: "Gunter can intercept or modify encrypted and/or hashed data in transit because the protocol is poorly deployed, or weakly configured, or certificates are invalid, or certificates are not trusted, or the connection can be degraded to a weaker or un-encrypted communication" + - + id: "CR8" + value: "8" + url: "https://cornucopia.owasp.org/cards/CR8" + desc: "Eoin can access stored business data (e.g. passwords, session identifiers, PII, cardholder data) because it is not securely encrypted or securely hashed" + - + id: "CR9" + value: "9" + url: "https://cornucopia.owasp.org/cards/CR9" + desc: "Andy can bypass cryptographic controls because random-number, GUID, or hashing functions are self-built, risky or weak" + - + id: "CRX" + value: "10" + url: "https://cornucopia.owasp.org/cards/CRX" + desc: "Susanna can break the cryptography in use because it is not strong enough for the degree of protection required, or it is not strong enough for the amount of effort the attacker is willing to make" + - + id: "CRJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/CRJ" + desc: "Justin can read credentials for accessing internal or external resources, services and others systems because they are stored in an unencrypted format, or saved in the source code" + - + id: "CRQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/CRQ" + desc: "Artim can access or predict the master cryptographic secrets" + - + id: "CRK" + value: "K" + url: "https://cornucopia.owasp.org/cards/CRK" + desc: "Dan can influence or alter cryptography code/routines (encryption, hashing, digital signatures, random number and GUID generation) and can therefore bypass them" + - + id: "CRA" + value: "A" + url: "https://cornucopia.owasp.org/cards/CRA" + desc: "You have invented a new attack against Cryptography" + misc: "Read more about this topic in OWASP's free Cheat Sheets on Cryptographic Storage, and Transport Layer Protection" +- + id: "C" + name: "CORNUCOPIA" + cards: + - + id: "C2" + value: "2" + url: "https://cornucopia.owasp.org/cards/C2" + desc: "Lee can bypass application controls because dangerous/risky programming language functions have been used instead of safer alternatives, or there are type conversion errors, or because the application is unreliable when an external resource is unavailable, or there are race conditions, or there are resource initialization, leak or allocation issues, or overflows can occur" + - + id: "C3" + value: "3" + url: "https://cornucopia.owasp.org/cards/C3" + desc: "Andrew can access source code, or decompile, or debug, or otherwise access business logic to understand how the application works and any secrets contained" + - + id: "C4" + value: "4" + url: "https://cornucopia.owasp.org/cards/C4" + desc: "Keith can perform an action and it is not possible to attribute it to him" + - + id: "C5" + value: "5" + url: "https://cornucopia.owasp.org/cards/C5" + desc: "Larry can influence the trust other parties including users have in the application, or abuse that trust elsewhere (e.g. in another application)" + - + id: "C6" + value: "6" + url: "https://cornucopia.owasp.org/cards/C6" + desc: "Aaron can bypass controls because error/exception handling is missing, or is implemented inconsistently or partially, or does not deny access by default (i.e. errors should terminate access/execution), or relies on handling by some other service or system" + - + id: "C7" + value: "7" + url: "https://cornucopia.owasp.org/cards/C7" + desc: "Mwengu's actions cannot be investigated because there is not an adequate accurately time-stamped record of security events, or there is not a full audit trail, or these can be altered or deleted by Mwengu, or there is no centralized logging service" + - + id: "C8" + value: "8" + url: "https://cornucopia.owasp.org/cards/C8" + desc: "David can bypass the application to gain access to data because the network and host infrastructure, and supporting services/applications, have not been securely configured, the configuration rechecked periodically and security patches applied, or the data is stored locally, or the data is not physically protected" + - + id: "C9" + value: "9" + url: "https://cornucopia.owasp.org/cards/C9" + desc: "Mike can misuse an application by using a valid feature too fast, or too frequently, or other way that is not intended, or consumes the application's resources, or causes race conditions, or over-utilizes a feature" + - + id: "CX" + value: "10" + url: "https://cornucopia.owasp.org/cards/CX" + desc: "Spyros can circumvent the application's controls because code frameworks, libraries and components contain malicious code or vulnerabilities (e.g. in-house, commercial off the shelf, outsourced, open source, externally-located)" + - + id: "CJ" + value: "J" + url: "https://cornucopia.owasp.org/cards/CJ" + desc: "Roman can exploit the application because it was insecurely compiled or deployed, or its configuration is not secure by default, or because security information was not documented, or passed on to operational teams, or the user is not warned and access blocked when the expected security features are unsupported or disabled" + - + id: "CQ" + value: "Q" + url: "https://cornucopia.owasp.org/cards/CQ" + desc: "Jim can undertake malicious, non-normal, actions without real-time detection and response by the application" + - + id: "CK" + value: "K" + url: "https://cornucopia.owasp.org/cards/CK" + desc: "Grant can utilize the application to deny service to some or all of its users" + - + id: "CA" + value: "A" + url: "https://cornucopia.owasp.org/cards/CA" + desc: "You have invented a new attack of any type" + misc: "Read more about application security in OWASP's free Guides on Requirements, Development, Code Review and Testing, the Cheat Sheet series, and the Open Software Assurance Maturity Model" +- + id: "WC" + name: "WILD CARD" + cards: + - + id: "JOA" + value: "A" + url: "https://cornucopia.owasp.org/cards/JOA" + card: "Joker" + desc: "Alice can utilize the application to attack users' systems and data" + misc: "Have you thought about becoming an individual OWASP member? All tools, guidance and local meetings are free for everyone, but individual membership helps support OWASP's work" + - + id: "JOB" + value: "B" + url: "https://cornucopia.owasp.org/cards/JOB" + card: "Joker" + desc: "Bob can influence, alter or affect the application so that it no longer complies with legal, regulatory, contractual or other organizational mandates" + misc: "Examine vulnerabilities and discover how they can be fixed using the free OWASP® Juice Shop, Security Shepherd, or using the online challenges in the free OWASP® Hacking-lab" +paragraphs: +- + id: "Common" + name: "Common" + sentences: + - + id: "NoCard" + text: "No Card" + - + id: "Title" + text: "Website App Edition v3.0-EN" + - + id: "Title_full" + text: "OWASP® Cornucopia Website App Edition v3.0-EN" + - + id: "T00005" + text: "Index" + - + id: "T00005" + text: "Index" + - + id: "T00010" + text: "OWASP® Cornucopia is a mechanism to assist software development teams identify security requirements in Agile, conventional and formal development processes." + - + id: "T00020" + text: "Author" + - + id: "T00030" + text: "Project Leaders" + - + id: "T00100" + text: "Acknowledgements" + - + id: "T00110" + text: "Adam Shostack and the Microsoft SDL Team for the “Elevation of Privilege Threat Modelling Game”, published under a Creative Commons Attribution license, as the inspiration for Cornucopia and from which many ideas, especially the game theory, were copied." + - + id: "T00120" + text: "Keith Turpin and contributors to the OWASP® “Secure Coding Practices - Quick Reference Guide”, originally donated to OWASP by Boeing, which is used as the primary source of security requirements information to formulate the content of the cards." + - + id: "T00130" + text: "Contributors, supporters, sponsors and volunteers to the OWASP® ASVS, AppSensor, Developer Guide and Web Framework Security Matrix projects, Mitre's Common Attack Pattern Enumeration and Classification (CAPEC™), and SAFECode's “Practical Security Stories and Security Tasks for Agile Development Environments” which are all used in the cross-references provided." + - + id: "T00140" + text: "Playgen for providing an illuminating afternoon seminar on task gamification, and tartanmaker.com for the online tool to help create the card back pattern." + - + id: "T00145" + text: "Current and past OWASP® Cornucopia project contributors and leaders, especially those involved most recently updating the cross-references, creating online versions, and writing scripts to dynamically generate Cornucopia's output files." + - + id: "T00150" + text: "Blackfoot (UK) Limited for creating and donating print-ready design files, Tom Brennan and the OWASP® Foundation for instigating the creation of an OWASP-branded box and leaflet, and Secure Delivery Ltd for developing and donating Copi, the platform to play Cornucopia and EoP online." + - + id: "T00161" + text: "(continued on page 20)" + - + id: "T00162" + text: "(continued from page 10)" + - + id: "T00170" + text: "Colin Watson as author and co-project leader with Grant Ongers along with other OWASP volunteers who have helped in many ways." + - + id: "T00180" + text: "OWASP® does not endorse or recommend commercial products or services © 2012-2025 OWASP® Foundation This document is licensed under the Creative Commons Attribution-ShareAlike 3.0 license" + - + id: "T00200" + text: "Introduction" + - + id: "T00210" + text: "The idea behind Cornucopia is to help development teams, especially those using Agile methodologies, to identify application security requirements and develop security-based user stories." + - + id: "T00220" + text: "Although the idea had been waiting for enough time to progress it, the final motivation came when SAFECode published its Practical Security Stories and Security Tasks for Agile Development Environments in July 2012." + - + id: "T00230" + text: "The Microsoft SDL team had already published its super Elevation of Privilege: The Threat Modeling Game (EoP) but that did not seem to address the most appropriate kind of issues that web application development teams mostly have to address." + - + id: "T00240" + text: "EoP is a great concept and game strategy, and was published under a Creative Commons Attribution License." + - + id: "T00250" + text: "Cornucopia Website App Edition is based the concepts and game ideas in EoP, but those have been modified to be more relevant to the types of issues webapp website developers encounter." + - + id: "T00260" + text: "It attempts to introduce threat-modelling ideas into development teams that use Agile methodologies, or are more focused on web application weaknesses than other types of software vulnerabilities, or are not familiar with STRIDE and DREAD." + - + id: "T00270" + text: "Cornucopia Website App Edition is referenced as an information resource in the PCI Security Standard Council's Information Supplement PCI DSS E-commerce Guidelines, v2, January 2013." + - + id: "T00300" + text: "The card deck (pack)" + - + id: "T00310" + text: "Instead of EoP's STRIDE suits (sets of cards with matching designs), Cornucopia suits are based on the structure of the OWASP® Secure Coding Practices - Quick Reference Guide (SCP), but with additional consideration of sections from the OWASP® Application Security Verification Standard, the Web Security Testing Guide (WSTG) and David Rook's Principles of Secure Development. " + - + id: "T00320" + text: "These provided five suits, and a sixth called “Cornucopia” was created for everything else: " + - + id: "T00330" + text: "Data Validation and Encoding (VE)" + - + id: "T00340" + text: "Authentication (AT)" + - + id: "T00350" + text: "Session Management (SM)" + - + id: "T00360" + text: "Authorization (AZ)" + - + id: "T00370" + text: "Cryptography (CR)" + - + id: "T00380" + text: "Cornucopia (C)" + - + id: "T00390" + text: "Similar to poker-playing cards, each suit contains 13 cards (Ace, 2-10, Jack, Queen and King) but, unlike EoP, there are also two Joker cards." + - + id: "T00400" + text: "The content was mainly drawn from the SCP." + - + id: "T00500" + text: "Mappings" + - + id: "T00510" + text: "The other driver for Cornucopia is to link the attacks with requirements and verification techniques." + - + id: "T00520" + text: "An initial aim had been to reference CWE™ weakness IDs, but these proved too numerous, and instead it was decided to map each card to CAPEC™ software attack pattern IDs which themselves are mapped to CWEs, so the desired result is achieved." + - + id: "T00530" + text: "Each card is also mapped to the 36 primary security stories in the SAFECode document, as well as to the OWASP® Developer Guide Web Application Checklist v4.1.9, ASVS v5.0 and AppSensor (application attack detection and response) to help teams create their own security-related stories for use in Agile processes." + - + id: "T00600" + text: "Game strategy" + - + id: "T00610" + text: "Apart from the content differences, the game rules are virtually identical to those for EoP." + - + id: "T00700" + text: "Printing the cards" + - + id: "T00710" + text: "Check the Cornucopia project page for how to obtain pre-printed decks on glossy card." + - + id: "T00720" + text: "The cards can be printed from this document in black & white but are more effective in color." + - + id: "T00730" + text: "The cards in the later pages of this document have been laid out to fit on one type of pre-scored business A4 card sheets. " + - + id: "T00740" + text: "This appeared to be the quickest way to initially provide to create playing cards quickly. " + - + id: "T00750" + text: "Avery product codes C32015 and C32030 have been tested successfully, but any 10 up 85mm x 54 mm cards on A4 paper should work with a little adjustment." + - + id: "T00760" + text: "Other stationery suppliers like Ryman and Sigel produce similar sheets" + - + id: "T00770" + text: "These card sheets are not inexpensive, so care should be taken in deciding what to print and using what media and printer type." + - + id: "T00780" + text: "The cards can of course just be printed on any size of paper or card and then cut-up manually, or a commercial printer would be able to print larger volumes and cut the cards to size. " + - + id: "T00790" + text: "The cut lines are shown on the penultimate page of this document, but Avery also produce a landscape A4 template (A-0017-01_L.doc) that can be used as a guide." + - + id: "T00800" + text: "Printing and cutting up can take an hour or so, and using a faster printer helps." + - + id: "T00810" + text: "Try to print add higher quality to increase legibility." + - + id: "T00820" + text: "An optional card back design (in OWASP® tartan) has been provided as the last page of this document." + - + id: "T00830" + text: "There is no special alignment needed. " + - + id: "T00840" + text: "Dual-sided printing needs special care taken. " + - + id: "T00850" + text: "You could customize the card faces or the backs for your own organization's preferences." + - + id: "T00900" + text: "Customization" + - + id: "T00910" + text: "After you have used Cornucopia a few times, you may feel that some cards are less relevant to your applications, or the threats are different for your organization." + - + id: "T00920" + text: "Edit this document yourself to make the cards more suitable for your teams, or create new decks completely." + - + id: "T01000" + text: "Provide feedback" + - + id: "T01010" + text: "If you have ideas or feedback on the use of OWASP® Cornucopia, please share them." + - + id: "T01020" + text: "Even better if you create alternative versions of the cards, or produce professional print-ready versions, please share that with the volunteers who created this edition and with the wider application development and application security community." + - + id: "T01030" + text: "The best place to use to discuss or contribute is the list/group for the OWASP project:" + - + id: "T01040" + text: "List/Group" + - + id: "T01050" + text: "Project home page" + - + id: "T01060" + text: "All OWASP documents and tools are free to download and use." + - + id: "T01070" + text: "OWASP® Cornucopia is licensed under the Creative Commons Attribution-ShareAlike 3.0 license." + - + id: "T01100" + text: "Instructions" + - + id: "T01110" + text: "The text on each card describes an attack, but the attacker is given a name, which are unique across all the cards." + - + id: "T01120" + text: "The name can represent a computer system (e.g. the database, the file system, another application, a related service, a botnet), an individual person (e.g. a citizen, a customer, a client, an employee, a criminal, a spy), or even a group of people (e.g. a competitive organization, activists with a common cause)." + - + id: "T01130" + text: "The attacker might be remote in some other device/location, or local/internal with access to the same device, host or network as the application is running on." + - + id: "T01140" + text: "The attacker is always named at the start of each description" + - + id: "T01150" + text: "An example is:" + - + id: "T01160" + text: "William has control over the generation of session identifiers." + - + id: "T01170" + text: "This means the attacker (William) can create new session identifiers that the application accepts." + - + id: "T01180" + text: "The attacks were primarily drawn from the security requirements listed in the SCP, v2 but then supplemented with verification objectives from the OWASP® “Application Security Verification Standard”, the security focused stories in SAFECode's “Practical Security Stories and Security Tasks for Agile Development Environments”, and finally a review of the cards in EOP. in OWASP Cornucopia Website Edition v3.0 the SCP mapping was replaced by the OWASP Developer Guide Web Application Checklist" + - + id: "T01190" + text: "Further guidance about each card is available on the OWASP Website at " + - + id: "T01200" + text: "Lookups between the attacks and five resources are provided on most cards:" + - + id: "T01210" + text: "Requirements in “OWASP DevGuide - Web Checklist”, v4.1.9, OWASP®, July 2025 " + - + id: "T01220" + text: "Verification IDs in OWASP® “Application Security Verification Standard”" + - + id: "T01230" + text: "Attack detection points IDs in “AppSensor”, OWASP®, August 2010-2015" + - + id: "T01240" + text: "IDs in “Common Attack Pattern Enumeration and Classification (CAPEC™)”, v3.9, Mitre Corporation, November 2015" + - + id: "T01250" + text: "Security-focused stories in 'Practical Security Stories and Security Tasks for Agile Development Environments', SAFECode, July 2012" + - + id: "T01260" + text: "A look-up means the attack is included within the referenced item, but does not necessarily encompass the whole of its intent. " + - + id: "T01270" + text: "For structured data like CAPEC, the most specific reference is provided but sometimes a cross-reference is provided that also has more specific (child) examples." + - + id: "T01280" + text: "There are no lookups on the six Aces and two Jokers. " + - + id: "T01290" + text: "Instead these cards have some general tips in italicized text." + - + id: "T01300" + text: "It is possible to play Cornucopia in many different ways. " + - + id: "T01301" + text: "For how to play, read pages: 11-19." + - + id: "T01310" + text: "Here is one way, demonstrated online in a video at " + - + id: "T01311" + text: " which uses the new (May 2015) score/record sheet at " + - + id: "T01400" + text: "Preparations" + - + id: "T01410" + text: "Obtain a deck, or print your own deck of Cornucopia cards (see page 2 of this document) and separate/cut out the cards" + - + id: "T01411" + text: "Use the cards in this pack" + - + id: "T01420" + text: "Identify an application or application process to review; this might be a concept, design or an actual implementation" + - + id: "T01430" + text: "Create a data flow diagram, user stories, or other artefacts to help the review" + - + id: "T01431" + text: "This will help answer the question: “What are we working on?”" + - + id: "T01440" + text: "Identify and invite a group of 3-6 architects, developers, testers and other business stakeholders together and sit around a table (try to include someone fairly familiar with application security)" + - + id: "T01450" + text: "Have some prizes to hand (gold stars, chocolate, pizza, beer or flowers depending upon your office culture)" + - + id: "T01500" + text: "Play" + - + id: "T01510" + text: "One suit - Cornucopia - acts as trumps." + - + id: "T01520" + text: "Aces are high (i.e. they beat Kings)." + - + id: "T01530" + text: "It helps if there is a non-player to document the issues and scores." + - + id: "T01540" + text: "Remove the Jokers and a few low-score (2, 3, 4) cards from Cornucopia suit to ensure each player will have the same number of cards" + - + id: "T01550" + text: "Shuffle the deck and deal all the cards" + - + id: "T01560" + text: "To begin, choose a player randomly who will play the first card - they can play any card from their hand except from the trump suit - Cornucopia" + - + id: "T01570" + text: "To play a card, each player must read it out aloud, and explain (see the online Wiki Deck for tips) how the threat could apply (the player gets a point for attacks that might work which the group thinks is an actionable bug) - do not try to think of mitigations at this stage, and do not exclude a threat just because of a belief that it is already mitigated - someone note the card and record the issues raised" + - + id: "T01571" + text: "If a player gets stuck, ask them to scan the QR code on the card to access the online card page and read the section called: “What can go wrong?”" + - + id: "T01580" + text: "Play clockwise, each person must play a card in the same way; if you have any card of the matching lead suit you must play one of those, otherwise they can play a card from any other suit. " + - + id: "T01590" + text: "Only a higher card of the same suit, or the highest card in the trump suit Cornucopia, wins the hand." + - + id: "T01600" + text: "The person who wins the round, leads the next round (i.e. they play first), and thus defines the next lead suit" + - + id: "T01610" + text: "Repeat until all the cards are played" + - + id: "T01700" + text: "Scoring" + - + id: "T01710" + text: "The objective is to identify applicable threats, and win hands (rounds):" + - + id: "T01720" + text: "Score +1 for each card you can identify as a valid threat to the application under consideration" + - + id: "T01730" + text: "Score +1 if you win a round" + - + id: "T01740" + text: "Once all cards have been played, whoever has the most points wins" + - + id: "T01800" + text: "Closure" + - + id: "T01810" + text: "Review all the applicable threats and the matching security requirements" + - + id: "T01811" + text: "Use the QR codes on the cards to access the online card page and read the section called: “What are we going to do about it?”" + - + id: "T01820" + text: "Create user stories, specifications and test cases as required for your development methodology." + - + id: "T01900" + text: "Alternative game rules" + - + id: "T01910" + text: "If you are new to the game, remove the Aces and two Joker cards to begin with." + - + id: "T01920" + text: "Add the Joker cards back in once people become more familiar with the process." + - + id: "T01930" + text: "Apart from the “trumps card game” rules described above which are very similar to the EoP, the deck can also be played as the “twenty-one card game” (also known as “pontoon” or “blackjack”) which normally reduces the number of cards played in each round." + - + id: "T01940" + text: "Practice on an imaginary application, or even a future planned application, rather than trying to find fault with existing applications until the participants are happy with the usefulness of the game." + - + id: "T01950" + text: "Consider just playing with one suit to make a shorter session - but try to cover all the suits for every project. " + - + id: "T01960" + text: "Or even better just play one hand with some pre-selected cards, and score only on the ability to identify security requirements. " + - + id: "T01970" + text: "Perhaps have one game of each suit each day for a week or so, if the participants cannot spare long enough for a full deck." + - + id: "T01980" + text: "Some teams have preferred to play a full hand of cards, and then discuss what is on the cards after each round (instead of after each person plays a card)." + - + id: "T01990" + text: "Another suggestion is that if a player fails to identify the card as relevant, allow other players to suggest ideas, and potentially let them gain the point for the card. " + - + id: "T02000" + text: "Consider allowing extra points for especially good contributions." + - + id: "T02010" + text: "You can even play by yourself. " + - + id: "T02020" + text: "Just use the cards to act as thought-provokers. " + - + id: "T02030" + text: "Involving more people will be beneficial though." + - + id: "T02040" + text: "In Microsoft's EoP guidance, they recommend cheating as a good game strategy." + - + id: "T02100" + text: "Development framework-specific modified card decks" + - + id: "T02110" + text: "There can be built in security controls in some commonly used languages and frameworks for web and mobile application development." + - + id: "T02120" + text: "With certain provisos it is useful to consider how using these controls can simplify the identification of additional requirements – provided of course the controls are included, enabled and configured correctly." + - + id: "T02130" + text: "Consider removing cards from the decks if you are confident they are addressed by the way you are using the language/framework." + - + id: "T02140" + text: "Items in parentheses are “maybes”." + - + id: "T02200" + text: "Internal coding standards and libraries" + - + id: "T02210" + text: "Add your own list of excluded cards based on your organisation's coding standards (provided they are confirmed by appropriate verification steps in the development lifecycle)." + - + id: "T02220" + text: "Your coding standards and libraries" + - + id: "T02230" + text: "Data Validation and Encoding" + - + id: "T02240" + text: "[your list]" + - + id: "T02250" + text: "Authentication" + - + id: "T02260" + text: "[your list]" + - + id: "T02270" + text: "Session Management" + - + id: "T02280" + text: "[your list]" + - + id: "T02290" + text: "Authorization" + - + id: "T02300" + text: "[your list]" + - + id: "T02310" + text: "Cryptography" + - + id: "T02320" + text: "[your list]" + - + id: "T02330" + text: "Cornucopia" + - + id: "T02340" + text: "[your list]" + - + id: "T02400" + text: "Compliance requirement decks" + - + id: "T02410" + text: "Create a smaller deck by only including cards for a particular compliance requirement." + - + id: "T02420" + text: "Compliance requirement" + - + id: "T02430" + text: "Data validation and Encoding" + - + id: "T02440" + text: "[compliance list]" + - + id: "T02450" + text: "Authentication" + - + id: "T02460" + text: "[compliance list]" + - + id: "T02470" + text: "Session Management" + - + id: "T02480" + text: "[compliance list]" + - + id: "T02490" + text: "Authorization" + - + id: "T02500" + text: "[compliance list]" + - + id: "T02510" + text: "Cryptography" + - + id: "T02520" + text: "[compliance list]" + - + id: "T02530" + text: "Cornucopia" + - + id: "T02540" + text: "[compliance list]" + - + id: "T02600" + text: "Frequently asked questions" + - + id: "T02610" + text: "1. Can I copy or edit the game?" + - + id: "T02620" + text: "Yes of course." + - + id: "T02630" + text: "All OWASP materials are free to do with as you like provided you comply with the Creative Commons Attribution-ShareAlike 3.0 license. " + - + id: "T02640" + text: "Perhaps if you create a new version, you might donate it to the OWASP® Cornucopia Project?" + - + id: "T02650" + text: "2. How can I get involved?" + - + id: "T02660" + text: "Please send ideas or offers of help to the project's mailing list." + - + id: "T02670" + text: "3. How were the attackers' names chosen?" + - + id: "T02680" + text: "EoP begins every description with words like 'An attacker can...'. " + - + id: "T02690" + text: "These have to be phrased as an attack but I was not keen on the anonymous terminology, wanting something more engaging, and therefore used personal names. " + - + id: "T02700" + text: "These can be thought of as external or internal people or aliases for computer systems. But instead of just random names, I thought how they might reflect the OWASP community aspect. " + - + id: "T02710" + text: "Therefore, apart from 'Alice and Bob' I use the given (first) names of current and recent OWASP employees and Board members (assigned in no order), and then randomly selected the remaining 50 or so names from the current list of paying individual OWASP members. " + - + id: "T02720" + text: "No name was used more than once, and where people had provided two personal names, I dropped one part to try to ensure no-one can be easily identified. " + - + id: "T02730" + text: "Names were not deliberately allocated to any particular attack, defence or requirement. The cultural and gender mix simply reflects theses sources of names, and is not meant to be world-representative." + - + id: "T02740" + text: "In v1.20, the name on VE-10 changed to reflect the project's new co-leader - this card is also the only one with two names in the attack." + - + id: "T02750" + text: "4. Why aren't there any images on the card faces?" + - + id: "T02760" + text: "There is quite a lot of text on the cards, and the cross-referencing takes up space too." + - + id: "T02770" + text: "But it would be great to have additional design elements included." + - + id: "T02790" + text: "5. Are the attacks ranked by the number on the card?" + - + id: "T02800" + text: "Only approximately." + - + id: "T02810" + text: "The risk will be application and organisation dependent, due to varying security and compliance requirements, so your own severity rating may place the cards in some other order than the numbers on the cards." + - + id: "T02820" + text: "6. How long does it take to play a round of cards using the full deck?" + - + id: "T02830" + text: "This depends upon the scope of the application, amount of discussion and how familiar the players are with application security concepts." + - + id: "T02840" + text: "But perhaps allow 1.5 to 2.0 hours for 4-6 people." + - + id: "T02850" + text: "7. What sort of people should play the game?" + - + id: "T02860" + text: "Always try to have a mix of roles who can contribute alternative perspectives." + - + id: "T02870" + text: "But include someone who has a reasonable knowledge of application vulnerability terminology. " + - + id: "T02880" + text: "Otherwise try to include a mix of architects, developers, testers and a relevant project manager or business owner." + - + id: "T02890" + text: "8. Who should take notes and record scores?" + - + id: "T02900" + text: "It is better if that someone else, not playing the game, takes notes about the requirements identified and issues discussed." + - + id: "T02910" + text: "This could be used as training for a more junior developer, or performed by the project manager." + - + id: "T02920" + text: "Some organisations have made a recording to review afterwards when the requirements are written up more formally." + - + id: "T02930" + text: "9. Should we always use the full deck of cards?" + - + id: "T02940" + text: "No. " + - + id: "T02950" + text: "A smaller deck is quicker to play. " + - + id: "T02960" + text: "Start your first game with only enough cards for two or three rounds. " + - + id: "T02970" + text: "Always consider removing cards that are not appropriate at all of the target application or function being reviewed. " + - + id: "T02980" + text: "For the first few times people play the game it is also usually better to remove the Aces and the two Jokers." + - + id: "T02990" + text: "It is also usual to play the game without any trumps suit until people are more familiar with the idea." + - + id: "T03000" + text: "10. What should players do when they have an Ace card that says “invented a new X attack”?" + - + id: "T03010" + text: "The player can make up any attack they think is valid, but must match the suit of the card (e.g. Data Validation and Encoding)." + - + id: "T03020" + text: "With players new to the game, it can be better to remove these to begin with (see also FAQ 9)." + - + id: "T03060" + text: "11. My company wants to print its own version of OWASP® Cornucopia - what license do we need to refer to?" + - + id: "T03070" + text: "Please refer to the full answer to this question on the project's web pages at" + - + id: "T03100" + text: "Change Log" + - + id: "T03110" + text: "Version / Date" + - + id: "T03120" + text: "Comments" + - + id: "T03130" + text: "0.1" + - + id: "T03140" + text: "Original Draft" + - + id: "T03150" + text: "0.2" + - + id: "T03160" + text: "Draft reviewed and updated" + - + id: "T03170" + text: "0.3" + - + id: "T03180" + text: "Draft announced OWASP® SCP mailing list for comment." + - + id: "T03190" + text: "0.4" + - + id: "T03200" + text: "Play rules updated based on feedback during workshops. " + - + id: "T03210" + text: "Added reference to PCI SSC Information Supplement: PCI DSS E-commerce Guidelines. " + - + id: "T03220" + text: "Descriptive text extended and updated." + - + id: "T03230" + text: "Added contributors section, page numbering, FAQs and change log." + - + id: "T03240" + text: "1" + - + id: "T03250" + text: "Release." + - + id: "T03260" + text: "1.01" + - + id: "T03270" + text: "Framework-specific card deck discussion added" + - + id: "T03280" + text: "Additional FAQs created. " + - + id: "T03290" + text: "Descriptive text updated. " + - + id: "T03300" + text: "New cover image, and previous cover image moved to back. " + - + id: "T03310" + text: "Cut lines added." + - + id: "T03320" + text: "FAQs 5 and 6 added." + - + id: "T03330" + text: "Attack descriptions on cards with tinted backgrounds changed to black (from dark grey). " + - + id: "T03340" + text: "Project contributors added." + - + id: "T03350" + text: "1.02" + - + id: "T03360" + text: "Warning about time to print added. " + - + id: "T03370" + text: "Additional alternative game rules added (twenty-one, play a deck over a week, play full hand and then discuss). " + - + id: "T03380" + text: "Compliance deck concept added. " + - + id: "T03390" + text: "FAQs 5 and 6 added." + - + id: "T03400" + text: "Attack descriptions on cards with tinted backgrounds changed to black (from dark grey). " + - + id: "T03410" + text: "Project contributors added." + - + id: "T03420" + text: "1.03" + - + id: "T03430" + text: "Minor attack wording changes on two cards. " + - + id: "T03440" + text: "OWASP® SCP and ASVS cross-references checked and updated. " + - + id: "T03450" + text: "Code letters added for suits. " + - + id: "T03460" + text: "All remaining attack descriptions on cards changed to black (from dark grey) and background colours amended to provide more contrast and increase readability." + - + id: "T03470" + text: "1.04" + - + id: "T03480" + text: "Text “password change, password change,” corrected to “password change, password recovery,” on Queen of Authentication card. " + - + id: "T03490" + text: "1.05" + - + id: "T03500" + text: "Updates to alternative game rules. " + - + id: "T03510" + text: "Additional FAQs created. " + - + id: "T03520" + text: "Contributors updated. " + - + id: "T03530" + text: "Podcast and video links added." + - + id: "T03540" + text: "1.1" + - + id: "T03550" + text: "Change log date corrected for v1.05. Cross-references updated for 2014 version of ASVS. " + - + id: "T03560" + text: "Contributors updated." + - + id: "T03570" + text: "Minor text changes to cards to improve readability." + - + id: "T03580" + text: "1.2" + - + id: "T03590" + text: "Video mentioned/linked" + - + id: "T03600" + text: "Separate score sheet mentioned/linked. " + - + id: "T03610" + text: "Previous embedded score sheet pages deleted" + - + id: "T03620" + text: "Correction (identified by Tom Brennan) and addition to " + - + id: "T03630" + text: "text on card 8 Authentication. " + - + id: "T03640" + text: "Oana Cornea and other participants at the AppSec EU 2015 project summit added to list of contributors. " + - + id: "T03650" + text: "Darío De Filippis added as project co-leader. " + - + id: "T03660" + text: "Wiki Deck link added" + - + id: "T03670" + text: "Cross-references updated for ASVS v3.0.1 and CAPEC™ v3.9. Minor text changes to a small number of cards. " + - + id: "T03680" + text: "Added “-EN” to version number in preparation for “-ES” version." + - + id: "T03690" + text: "Susana Romaniz added as a contributor to the Spanish translation." + - + id: "T03700" + text: "Minor text changes to instructions and FAQs." + - + id: "T03710" + text: "2.0" + - + id: "T03720" + text: "Cross-references updated from ASVS v3.0.1 to ASVS v4.0 by Johan Sydseter. " + - + id: "T03730" + text: "2.1" + - + id: "T03740" + text: "Adding italian translation done by Ruggero DallAglio" + - + id: "T03750" + text: "2.1" + - + id: "T03760" + text: "Adding portugeese translation done by André Ferreira" + - + id: "T03770" + text: "2.2" + - + id: "T03771" + text: "Migrated the cross-references from SCP to the DevGuide Web Checklist v4.1.9." + - + id: "T03772" + text: "3.0" + - + id: "T03773" + text: "ASVS has been migrated from v4.0.3 to v5.0. The text on the cards has been updated to include MFA and passkeys as an option for authentication. Cards within the session management suit have been updated toe align with modern session management Practices." + - + id: "T03774" + text: "3.0" + - + id: "T03775" + text: "STRIDE categories have been added to each cards" + - + id: "T03800" + text: "Project contributors" + - + id: "T03810" + text: "All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. " + - + id: "T03820" + text: "They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, trial the game, and promote the concept. " + - + id: "T03830" + text: "Without all their efforts, the project would not have progressed to this point. " + - + id: "T03840" + text: "Please contact the mailing list or project leaders directly, if anyone is missing from the below lists." + - + id: "T03850" + text: "OWASP's hard-working employees." + - + id: "T03860" + text: "Attendees at OWASP® London, OWASP® Manchester, OWASP® Netherlands and OWASP® Scotland chapter meetings, and the London Gamification meetup, who made helpful suggestions and asked challenging questions" + - + id: "T03870" + text: "Blackfoot UK Limited for gifting print-ready design files and hundreds of professionally printed card decks for distribution by post and at OWASP chapter meetings" + - + id: "T03880" + text: 'OWASP® NYC for creating an OWASP box design and distributing packs at AppSec USA 2014.' + - + id: "T03900" + text: "Podcasts and videos" + - + id: "T03910" + text: 'The following supporting OWASP® Cornucopia resources are available online:' + - + id: "T03920" + text: "Video - Using the cards, created during AppSec EU 2015 project summit, 20th May 2015" + - + id: "T03930" + text: "Podcast interview, OWASP® 24/7 Podcast channel, 21st March 2014" + - + id: "T03940" + text: " Video of presentation, OWASP® EU Tour 2013 London, 3rd June 2013" + - + id: "T03950" + text: "See the project website for further information and presentation materials." From a5e57d93054c656d0401cfb922cf0cdd2f7968c1 Mon Sep 17 00:00:00 2001 From: Andrii Kurdiumov Date: Wed, 4 Mar 2026 10:15:30 +0100 Subject: [PATCH 4/4] =?UTF-8?q?=D0=9F=D0=B5=D1=80=D0=B5=D0=BA=D0=BB=D0=B0?= =?UTF-8?q?=D0=B4=20=D0=BD=D0=B0=20=D1=83=D0=BA=D1=80=D0=B0=D1=97=D0=BD?= =?UTF-8?q?=D1=81=D1=8C=D0=BA=D1=83?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- source/mobileapp-cards-1.1-uk.yaml | 524 +++++++++---------- source/webapp-cards-3.0-uk.yaml | 800 ++++++++++++++--------------- 2 files changed, 662 insertions(+), 662 deletions(-) diff --git a/source/mobileapp-cards-1.1-uk.yaml b/source/mobileapp-cards-1.1-uk.yaml index 474bda974..b625ccc08 100644 --- a/source/mobileapp-cards-1.1-uk.yaml +++ b/source/mobileapp-cards-1.1-uk.yaml @@ -2,447 +2,447 @@ meta: edition: "mobileapp" component: "cards" - language: "EN" + language: "UK" version: "1.1" suits: - id: "PC" - name: "Platform & Code" + name: "Платформа та код" cards: - id: "PC2" value: "2" url: "https://cornucopia.owasp.org/cards/PC2" - desc: "Andrew can expose sensitive data through the app's auto-generated screenshots when the app moves to the background" + desc: "Ендрю може розкрити конфіденційні дані через автоматично створені знімки екрана застосунку, коли застосунок переходить у фоновий режим" - id: "PC3" value: "3" url: "https://cornucopia.owasp.org/cards/PC3" - desc: "Harold can spy sensitive data being entered through the user interface because the data is excessive, not properly masked or cleaned up after use" + desc: "Гарольд може підглядати конфіденційні дані, що вводяться через інтерфейс користувача, оскільки дані є надлишковими, не замасковані належним чином або не очищені після використання" - id: "PC4" value: "4" url: "https://cornucopia.owasp.org/cards/PC4" - desc: "Kelly can expose sensitive data by taking advantage of the app's excessive permissions connected to the app's use of location, camera, microphone, storage, etc" + desc: "Келлі може розкрити конфіденційні дані, скориставшись надмірними дозволами застосунку, пов'язаними з використанням геолокації, камери, мікрофона, сховища тощо" - id: "PC5" value: "5" url: "https://cornucopia.owasp.org/cards/PC5" - desc: "Jason can provoke memory leak or corruption because the app has cyclic dependencies, manages pointers inadequately, keeps an incorrect reference count, does not release shared resources or apply stack protection" + desc: "Джейсон може спровокувати витік або пошкодження пам'яті, оскільки застосунок має циклічні залежності, неналежно керує покажчиками, підтримує неправильний лічильник посилань, не звільняє спільні ресурси або не застосовує захист стека" - id: "PC6" value: "6" url: "https://cornucopia.owasp.org/cards/PC6" - desc: "Dawn can expose and intercept sensitive functionality through interprocess communication because permissions for broadcast and sharing are not set, not narrow enough or because sensitive functionality isn't appropriately excluded when sharing" + desc: "Дон може розкрити та перехопити конфіденційні функції через міжпроцесну комунікацію, оскільки дозволи на трансляцію та спільний доступ не встановлені, недостатньо обмежені, або тому що конфіденційні функції не виключені належним чином під час спільного використання" - id: "PC7" value: "7" url: "https://cornucopia.owasp.org/cards/PC7" - desc: "Lauren can traverse or modify otherwise protected files through access to the underlying file system by exploiting weaknesses in file system-based content providers, resolvers or its configuration" + desc: "Лорен може переміщатися або модифікувати захищені файли через доступ до базової файлової системи, використовуючи слабкі місця у постачальниках контенту на базі файлової системи, резолверах або їхній конфігурації" - id: "PC8" value: "8" url: "https://cornucopia.owasp.org/cards/PC8" - desc: "Colin can expose sensitive data through the app's interprocess communication because the content provider's query methods are not properly parameterized and arguments sanitized" + desc: "Колін може розкрити конфіденційні дані через міжпроцесну комунікацію застосунку, оскільки методи запитів постачальника контенту не параметризовані належним чином, а аргументи не валідуються або не очищаються належним чином" - id: "PC9" value: "9" url: "https://cornucopia.owasp.org/cards/PC9" - desc: "Toby can modify or expose data by injection because the response from implicit intents is not properly validated" + desc: "Тобі може змінити або розкрити дані шляхом ін'єкції, оскільки відповідь на неявні інтенти не перевіряється належним чином" - id: "PCX" value: "10" url: "https://cornucopia.owasp.org/cards/PCX" - desc: "Max can modify or expose data because input validation and sanitation are not properly applied to interprocess communication or because extensions are not properly restricted" + desc: "Макс може змінити або розкрити дані, оскільки перевірка та очищення вхідних даних не застосовуються належним чином до міжпроцесної комунікації, або розширення не обмежені належним чином" - id: "PCJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/PCJ" - desc: "Johan can modify or expose sensitive data by exploiting weaknesses in the SDK or third party libraries because updates to the app and platform are not enforced or do not patch known software vulnerabilities" + desc: "Юхан може змінити або розкрити конфіденційні дані, використовуючи слабкі місця в SDK або сторонніх бібліотеках, оскільки оновлення застосунку та платформи не є обов'язковими або не виправляють відомі вразливості програмного забезпечення" - id: "PCQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/PCQ" - desc: "Xavier can inject scripts into the web view because it allows embedding content using deep linking without proper authorization and validation of the host, schema and path of the target as these can be changed by the user or because safe browsing is disabled" + desc: "Ксав'є може впровадити скрипти у веб-перегляд, оскільки він дозволяє вбудовування контенту через глибокі посилання без належної авторизації та перевірки хоста, схеми та шляху цільового ресурсу, оскільки вони можуть бути змінені користувачем, або тому що безпечний перегляд вимкнено" - id: "PCK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/PCK" - desc: "Grant can modify or expose data by influencing or altering JavaScript bridges, extensions or interprocess communication (e.g. shared memory, message passing, pipes, sockets)" + desc: "Грант може змінити або розкрити дані, впливаючи на JavaScript-містки, розширення або міжпроцесну комунікацію (наприклад, спільна пам'ять, передача повідомлень, пайпи, сокети) або маніпулюючи нею" - id: "PCA" value: "A" url: "https://cornucopia.owasp.org/cards/PCA" - desc: "You have invented a new attack against “Platform and Code”" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Code Quality” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" + desc: "Ви вигадали нову атаку проти «Платформи та коду»" + misc: "Дізнайтеся більше про цю тему у безкоштовних шпаргалках OWASP з безпеки мобільних застосунків, а також у розділі «Якість коду мобільного застосунку» у «Посібнику з тестування безпеки мобільних застосунків» на сайті OWASP MAS" - id: "AA" - name: "Authentication & Authorization" + name: "Автентифікація та авторизація" cards: - id: "AA2" value: "2" url: "https://cornucopia.owasp.org/cards/AA2" - desc: "Jie can use the app to do sensitive operations because the “unlocked key” is not used during the application flow" + desc: "Цзе може використовувати застосунок для виконання конфіденційних операцій, оскільки «розблокований ключ» не використовується під час робочого процесу застосунку" - id: "AA3" value: "3" url: "https://cornucopia.owasp.org/cards/AA3" - desc: "Choi can access capabilities, objects, resources, or properties they should not be authorized to access because entitlements or permissions are too wide, not properly set or not enforced" + desc: "Чой може отримати доступ до можливостей, об'єктів, ресурсів або властивостей, до яких він не повинен мати авторизованого доступу, оскільки права або дозволи є надто широкими, не встановлені належним чином або не застосовуються" - id: "AA4" value: "4" url: "https://cornucopia.owasp.org/cards/AA4" - desc: "Vandana can bypass biometric authentication because the authentication is misconfigured or not implemented correctly" + desc: "Вандана може обійти біометричну автентифікацію, оскільки вона налаштована неправильно або реалізована некоректно" - id: "AA5" value: "5" url: "https://cornucopia.owasp.org/cards/AA5" - desc: "Eiman can bypass the local authentication through patching and/or by instrumentation because the authentication can be patched out or overloaded" + desc: "Ейман може обійти локальну автентифікацію шляхом патчингу та/або інструментування, оскільки автентифікацію можна усунути патчем або перевантажити" - id: "AA6" value: "6" url: "https://cornucopia.owasp.org/cards/AA6" - desc: "Anant can perform sensitive operations without additional authentication because authentication requirements are too weak or missing" + desc: "Ананта може виконувати конфіденційні операції без додаткової автентифікації, оскільки вимоги до автентифікації є надто слабкими або відсутніми" - id: "AA7" value: "7" url: "https://cornucopia.owasp.org/cards/AA7" - desc: "Abdullah can bypass authentication by altering the usual process sequence or flow, or by undertaking the process in incorrect order, or by manipulating date and time values used by the app, or by using valid features for unintended purposes" + desc: "Абдулла може обійти автентифікацію, змінивши звичайну послідовність або порядок процесу, виконавши процес у неправильному порядку, маніпулюючи значеннями дати та часу, що використовуються застосунком, або використовуючи дійсні функції в непередбачених цілях" - id: "AA8" value: "8" url: "https://cornucopia.owasp.org/cards/AA8" - desc: "Pramod can intercept credentials through misdirection because the app is vulnerable to attacks like Tapjacking, StrandHogg and/or URL scheme hijacking" + desc: "Прамод може перехопити облікові дані шляхом введення в оману, оскільки застосунок є вразливим до атак, таких як Tapjacking, StrandHogg та/або перехоплення схеми URL" - id: "AA9" value: "9" url: "https://cornucopia.owasp.org/cards/AA9" - desc: "Wong can bypass the authentication because it does not fail securely. (i.e. it defaults to allowing unauthenticated access)" + desc: "Вонг може обійти автентифікацію, оскільки вона не завершується безпечно (тобто за замовчуванням дозволяє неавтентифікований доступ)" - id: "AAX" value: "10" url: "https://cornucopia.owasp.org/cards/AAX" - desc: "Prasad can bypass the centralized authentication and authorization controls since they are not being used comprehensively on all interactions" + desc: "Прасад може обійти централізовані засоби контролю автентифікації та авторизації, оскільки вони не застосовуються комплексно до всіх взаємодій" - id: "AAJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/AAJ" - desc: "Ade can bypass authentication because it is not enforced using a remote endpoint, or it is not based on a cryptographic primitive protected by keystore/keychain access control flags" + desc: "Аде може обійти автентифікацію, оскільки вона не забезпечується за допомогою віддаленої кінцевої точки, або не базується на криптографічному примітиві, захищеному прапорцями контролю доступу до сховища ключів" - id: "AAQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/AAQ" - desc: "Riotaro can inject and run a command that the application will run at a higher privilege level without being authenticated or authorized to do so" + desc: "Ріотаро може впровадити та виконати команду, яку застосунок виконає з вищим рівнем привілеїв, без автентифікації або авторизації" - id: "AAK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/AAK" - desc: "Aatif can influence or alter authentication controls and can therefore bypass them" + desc: "Аатіф може впливати на засоби контролю автентифікації або змінювати їх і тому може обходити їх" - id: "AAA" value: "A" url: "https://cornucopia.owasp.org/cards/AAA" - desc: "You have invented a new attack against “Authentication & Authorization”" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Authentication Architectures” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" + desc: "Ви вигадали нову атаку проти «Автентифікації та авторизації»" + misc: "Дізнайтеся більше про цю тему у безкоштовних шпаргалках OWASP з безпеки мобільних застосунків, а також у розділі «Архітектури автентифікації мобільних застосунків» у «Посібнику з тестування безпеки мобільних застосунків» на сайті OWASP MAS" - id: "NS" - name: "Network & Storage" + name: "Мережа та сховище" cards: - id: "NS2" value: "2" url: "https://cornucopia.owasp.org/cards/NS2" - desc: "Matt can inspect sensitive application log data because logging statements have not been removed or reviewed as safe before the production release" + desc: "Метт може переглядати конфіденційні дані журналів застосунку, оскільки оператори журналювання не були видалені або перевірені на безпечність перед випуском у виробниче середовище" - id: "NS3" value: "3" url: "https://cornucopia.owasp.org/cards/NS3" - desc: "Bil can access sensitive data for sensitive fields from the pasteboard/clipboard or keyboard cache because the pasteboard/clipboard is not timely cleared, disabled or restricted for sensitive fields, or the keyboard cache is not disabled" + desc: "Біл може отримати доступ до конфіденційних даних конфіденційних полів із буфера обміну або кешу клавіатури, оскільки буфер обміну не очищується своєчасно, не вимкнено або не обмежено для конфіденційних полів, або кеш клавіатури не вимкнено" - id: "NS4" value: "4" url: "https://cornucopia.owasp.org/cards/NS4" - desc: "Ricardo can extract data stored by the app on a stolen or decommissioned device because it does not enforce device access security policies (e.g. PIN protected locking, app-/os-version, USB debug deactivation, device encryption and rooting)" + desc: "Рікардо може витягти дані, збережені застосунком на вкраденому або виведеному з експлуатації пристрої, оскільки він не забезпечує дотримання політик безпеки доступу до пристрою (наприклад, блокування з PIN-кодом, версія застосунку/ОС, деактивація USB-налагодження, шифрування пристрою та рутинг)" - id: "NS5" value: "5" url: "https://cornucopia.owasp.org/cards/NS5" - desc: "Kevin can read sensitive data mapped to user accounts or sessions by extracting data sent through third-party libraries and/or notifications sent between the app and embedded services (e.g. logs, notifications, backups, cache, local db)" + desc: "Кевін може читати конфіденційні дані, прив'язані до облікових записів користувачів або сесій, шляхом витягування даних, переданих через сторонні бібліотеки та/або сповіщення між застосунком і вбудованими сервісами (наприклад, журнали, сповіщення, резервні копії, кеш, локальна база даних)" - id: "NS6" value: "6" url: "https://cornucopia.owasp.org/cards/NS6" - desc: "Sam can dump sensitive data from memory because the data is not stored as primitive data types and overwritten with random data after use or because the app's input fields use insecure SDKs to store the data in RAM" + desc: "Сем може дампити конфіденційні дані з пам'яті, оскільки дані не зберігаються як примітивні типи даних і не перезаписуються випадковими даними після використання, або тому що поля введення застосунку використовують небезпечні SDK для зберігання даних у RAM" - id: "NS7" value: "7" url: "https://cornucopia.owasp.org/cards/NS7" - desc: "Steve can access sensitive data by reading backups and/or local, internal/external storage" + desc: "Стів може отримати доступ до конфіденційних даних, читаючи резервні копії та/або локальне, внутрішнє/зовнішнє сховище" - id: "NS8" value: "8" url: "https://cornucopia.owasp.org/cards/NS8" - desc: "Martin can modify or expose sensitive data through unsafe reflection when reading data from public data storage (e.g. shared preferences) because the data is not validated before being read by the app" + desc: "Мартін може змінити або розкрити конфіденційні дані через небезпечну рефлексію під час читання даних із публічного сховища даних (наприклад, спільних налаштувань), оскільки дані не перевіряються перед читанням застосунком" - id: "NS9" value: "9" url: "https://cornucopia.owasp.org/cards/NS9" - desc: "Adrian can compromise the app communication through a proxy because the app does not make use of certificate pinning or implements it incorrectly" + desc: "Адріан може скомпрометувати комунікацію застосунку через проксі, оскільки застосунок не використовує закріплення сертифікатів або реалізує його некоректно" - id: "NSX" value: "10" url: "https://cornucopia.owasp.org/cards/NSX" - desc: "Maarten can compromise the communication between the app and the external services because the app does not verify TLS certificates and -chains, trust insecure sources, lack hostname verification or ignore TLS verification issues" + desc: "Маартен може скомпрометувати комунікацію між застосунком та зовнішніми сервісами, оскільки застосунок не перевіряє сертифікати та ланцюжки TLS, довіряє небезпечним джерелам, не виконує перевірку імені хоста або ігнорує проблеми верифікації TLS" - id: "NSJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/NSJ" - desc: "Nihel can compromise the communication as it may fall back to an insecure or unencrypted channel, because encryption is optional, or because of client-server protocol or security provider weaknesses" + desc: "Ніель може скомпрометувати комунікацію, оскільки вона може перейти на незахищений або незашифрований канал, тому що шифрування є необов'язковим, або через слабкі місця у протоколі клієнт-сервер або постачальнику засобів безпеки" - id: "NSQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/NSQ" - desc: "Ahmed can read and modify data in transit because the communication is transmitted over an unencrypted channel" + desc: "Ахмед може читати та змінювати дані в транзиті, оскільки комунікація передається незашифрованим каналом" - id: "NSK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/NSK" - desc: "Taher can intercept, extract or modify sensitive data at rest or in transit by influencing or altering methods for transferring or storing data at rest or in transit" + desc: "Тахер може перехоплювати, витягувати або змінювати конфіденційні дані в стані спокою або в транзиті, впливаючи на методи передачі або зберігання даних або маніпулюючи ними" - id: "NSA" value: "A" url: "https://cornucopia.owasp.org/cards/NSA" - desc: "You have invented a new attack against “Network & Storage”" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Network Communication” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" + desc: "Ви вигадали нову атаку проти «Мереж та сховищ»" + misc: "Дізнайтеся більше про цю тему у безкоштовних шпаргалках OWASP з безпеки мобільних застосунків, а також у розділі «Мережева комунікація мобільних застосунків» у «Посібнику з тестування безпеки мобільних застосунків» на сайті OWASP MAS" - id: "RS" - name: "Resilience" + name: "Стійкість" cards: - id: "RS2" value: "2" url: "https://cornucopia.owasp.org/cards/RS2" - desc: "Sebastien can disclose sensitive data because the application is set up to log debug information at runtime" + desc: "Себастьєн може розкрити конфіденційні дані, оскільки застосунок налаштований на журналювання відладочної інформації під час виконання" - id: "RS3" value: "3" url: "https://cornucopia.owasp.org/cards/RS3" - desc: "Tobias can disclose sensitive data by dumping debug symbols while the application is running" + desc: "Тобіас може розкрити конфіденційні дані шляхом дампингу відладочних символів під час виконання застосунку" - id: "RS4" value: "4" url: "https://cornucopia.owasp.org/cards/RS4" - desc: "Timur can change the code of the production release because the code of the application has not been properly signed using a valid production certificate" + desc: "Тімур може змінити код виробничого випуску, оскільки код застосунку не підписаний належним чином дійсним виробничим сертифікатом" - id: "RS5" value: "5" url: "https://cornucopia.owasp.org/cards/RS5" - desc: "Matteo can bypass access controls and trigger functionality because debugging is left enabled in the production build" + desc: "Маттео може обійти засоби контролю доступу та викликати функціональність, оскільки відладка залишається увімкненою у виробничій збірці" - id: "RS6" value: "6" url: "https://cornucopia.owasp.org/cards/RS6" - desc: "Joren can bypass access controls because the anti-debugging controls aren't strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Йорен може обійти засоби контролю доступу, оскільки засоби захисту від відладки недостатньо надійні відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "RS7" value: "7" url: "https://cornucopia.owasp.org/cards/RS7" - desc: "Erlend can compromise the app by running it in an emulator because the prevention against emulators are not strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Ерленд може скомпрометувати застосунок, запускаючи його в емуляторі, оскільки захист від емуляторів недостатньо надійний відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "RS8" value: "8" url: "https://cornucopia.owasp.org/cards/RS8" - desc: "Carlos can reverse engineer the app because the anti-reverse engineering controls aren't strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Карлос може виконати зворотний інжиніринг застосунку, оскільки засоби захисту від зворотного інжинірингу недостатньо надійні відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "RS9" value: "9" url: "https://cornucopia.owasp.org/cards/RS9" - desc: "Sean can reverse engineer the app because the code obfuscation isn't strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Шон може виконати зворотний інжиніринг застосунку, оскільки обфускація коду недостатньо надійна відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "RSX" value: "10" url: "https://cornucopia.owasp.org/cards/RSX" - desc: "Juan can bypass jailbreak and root detection and execute administrative functions to bypass integrity checks and access controls and trigger app functionality" + desc: "Хуан може обійти виявлення джейлбрейку та рут-прав і виконати адміністративні функції для обходу перевірок цілісності та засобів контролю доступу й активації функціональності застосунку" - id: "RSJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/RSJ" - desc: "Pekka can compromise the integrity of the storage because the file integrity checks aren't strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Пекка може скомпрометувати цілісність сховища, оскільки перевірки цілісності файлів недостатньо надійні відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "RSQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/RSQ" - desc: "Titus can patch out critical functionality because the runtime integrity checks are not strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Тітус може усунути патчем критичну функціональність, оскільки перевірки цілісності під час виконання недостатньо надійні відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "RSK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/RSK" - desc: "Sherif can influence or alter controls against reverse engineering and runtime protection and can therefore bypass them" + desc: "Шеріф може впливати на засоби захисту від зворотного інжинірингу та захист під час виконання або змінювати їх і тому може обходити їх" - id: "RSA" value: "A" url: "https://cornucopia.owasp.org/cards/RSA" - desc: "You have invented a new attack against “Resilience”" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Tampering and Reverse Engineering” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" + desc: "Ви вигадали нову атаку проти «Стійкості»" + misc: "Дізнайтеся більше про цю тему у безкоштовних шпаргалках OWASP з безпеки мобільних застосунків, а також у розділі «Модифікація мобільних застосунків та зворотний інжиніринг» у «Посібнику з тестування безпеки мобільних застосунків» на сайті OWASP MAS" - id: "CRM" - name: "Cryptography" + name: "Криптографія" cards: - id: "CRM2" value: "2" url: "https://cornucopia.owasp.org/cards/CRM2" - desc: "Lesego can compromise cryptographic operations and resources because keys are reused for multiple purposes, or not used according to the purpose for which they were created" + desc: "Лесего може скомпрометувати криптографічні операції та ресурси, оскільки ключі використовуються повторно для кількох цілей або не використовуються відповідно до цілі, для якої вони були створені" - id: "CRM3" value: "3" url: "https://cornucopia.owasp.org/cards/CRM3" - desc: "Emery can access data because it has been obfuscated rather than using an approved cryptographic function" + desc: "Емері може отримати доступ до даних, оскільки вони були обфусковані, а не зашифровані за допомогою затвердженої криптографічної функції" - id: "CRM4" value: "4" url: "https://cornucopia.owasp.org/cards/CRM4" - desc: "Enselme can modify sensitive data (stored or in transit) because it is not subject to integrity checking" + desc: "Енселм може змінити конфіденційні дані (збережені або в транзиті), оскільки вони не підлягають перевірці цілісності" - id: "CRM5" value: "5" url: "https://cornucopia.owasp.org/cards/CRM5" - desc: "Orace can predict the seed value used for generating cryptographic keys thereby compromising the cryptographic key" + desc: "Ораче може передбачити значення початкового числа, що використовується для генерації криптографічних ключів, і тим самим скомпрометувати криптографічний ключ" - id: "CRM6" value: "6" url: "https://cornucopia.owasp.org/cards/CRM6" - desc: "Kouti can extract sensitive data because the cryptographic key, used, is hard-coded or stored insecurely such as in local, internal/external storage" + desc: "Коуті може витягти конфіденційні дані, оскільки використовуваний криптографічний ключ є жорстко закодованим або зберігається небезпечно, наприклад у локальному, внутрішньому/зовнішньому сховищі" - id: "CRM7" value: "7" url: "https://cornucopia.owasp.org/cards/CRM7" - desc: "Ramsey can access stored sensitive data because it is not securely encrypted" + desc: "Рамзі може отримати доступ до збережених конфіденційних даних, оскільки вони не зашифровані належним чином" - id: "CRM8" value: "8" url: "https://cornucopia.owasp.org/cards/CRM8" - desc: "Adel can predict and use the app's cryptographic keys because they are insufficiently long and random, can be enumerated, or derived from known values" + desc: "Адель може передбачити та використати криптографічні ключі застосунку, оскільки вони є недостатньо довгими та випадковими, можуть бути перебрані або отримані з відомих значень" - id: "CRM9" value: "9" url: "https://cornucopia.owasp.org/cards/CRM9" - desc: "Fady can bypass cryptographic controls because they do not fail securely (i.e. they default to unprotected)" + desc: "Фаді може обійти криптографічні засоби контролю, оскільки вони не завершуються безпечно (тобто за замовчуванням залишаються незахищеними)" - id: "CRMX" value: "10" url: "https://cornucopia.owasp.org/cards/CRMX" - desc: "Ash can break the cryptography because it is not strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Еш може зламати криптографію, оскільки вона недостатньо надійна відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "CRMJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/CRMJ" - desc: "Hassan can extract or modify sensitive data because functions for storage and/or encryption are weak, deprecated or used incorrectly" + desc: "Гасан може витягти або змінити конфіденційні дані, оскільки функції зберігання та/або шифрування є слабкими, застарілими або використовуються некоректно" - id: "CRMQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/CRMQ" - desc: "Simon can bypass hashing and encryption functions because they are custom and/or inadequately implemented" + desc: "Саймон може обійти функції хешування та шифрування, оскільки вони є власними та/або реалізовані неналежним чином" - id: "CRMK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/CRMK" - desc: "Tarik can influence or alter cryptographic operations and can therefore bypass them" + desc: "Тарік може впливати на криптографічні операції або змінювати їх і тому може обходити їх" - id: "CRMA" value: "A" url: "https://cornucopia.owasp.org/cards/CRMA" - desc: "You have invented a new attack against “Cryptography”" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App Cryptography” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" + desc: "Ви вигадали нову атаку проти «Криптографії»" + misc: "Дізнайтеся більше про цю тему у безкоштовних шпаргалках OWASP з безпеки мобільних застосунків, а також у розділі «Криптографія мобільних застосунків» у «Посібнику з тестування безпеки мобільних застосунків» на сайті OWASP MAS" - id: "CM" - name: "Cornucopia" + name: "Корнукопія" cards: - id: "CM2" value: "2" url: "https://cornucopia.owasp.org/cards/CM2" - desc: "Garth can reduce app users' privacy because the app is not transparent about the app's data collection and usage in a concise, easily accessible and understandable way" + desc: "Гарт може зменшити конфіденційність користувачів застосунку, оскільки застосунок не є прозорим щодо збору та використання даних застосунку в стислому, легкодоступному та зрозумілому вигляді" - id: "CM3" value: "3" url: "https://cornucopia.owasp.org/cards/CM3" - desc: "Elsa can reduce app users' privacy because the app does not allow for the user to easily manage, delete and modify their data, change privacy settings and re-prompt for consent when more data is required" + desc: "Ельза може зменшити конфіденційність користувачів застосунку, оскільки застосунок не дозволяє користувачу легко керувати, видаляти та змінювати свої дані, змінювати налаштування конфіденційності та повторно запитувати згоду, коли потрібно більше даних" - id: "CM4" value: "4" url: "https://cornucopia.owasp.org/cards/CM4" - desc: "Elizabeth can reduce app users' privacy because the app sends too much personal data without the user's consent to downstream services that are outside the user's control" + desc: "Єлизавета може зменшити конфіденційність користувачів застосунку, оскільки застосунок надсилає надто багато персональних даних без згоди користувача до нижчестоящих сервісів, що перебувають поза контролем користувача" - id: "CM5" value: "5" url: "https://cornucopia.owasp.org/cards/CM5" - desc: "Debarghaya can reduce app users' privacy because the app repurpose personal information (e.g. device IDs, IP addresses, behavioral patterns) collected for security concerns in order to cater for commercial interests without consent" + desc: "Дебаргхайя може зменшити конфіденційність користувачів застосунку, оскільки застосунок перевикористовує персональну інформацію (наприклад, ідентифікатори пристроїв, IP-адреси, поведінкові шаблони), зібрану з міркувань безпеки, для обслуговування комерційних інтересів без згоди" - id: "CM6" value: "6" url: "https://cornucopia.owasp.org/cards/CM6" - desc: "Kim can reduce app users' privacy because the app repurpose biometric information (e.g. fingerprints, facial recognition data, etc.) collected for security concerns in order to cater for commercial interests" + desc: "Кім може зменшити конфіденційність користувачів застосунку, оскільки застосунок перевикористовує біометричну інформацію (наприклад, відбитки пальців, дані розпізнавання обличчя тощо), зібрану з міркувань безпеки, для обслуговування комерційних інтересів" - id: "CM7" value: "7" url: "https://cornucopia.owasp.org/cards/CM7" - desc: "Gastón can execute malicious actions through intent redirection because the intent is not properly sanitized and immutable" + desc: "Гастон може виконувати зловмисні дії через перенаправлення інтентів, оскільки інтент не є належним чином очищеним та незмінним" - id: "CM8" value: "8" url: "https://cornucopia.owasp.org/cards/CM8" - desc: "Roxana can do arbitrary file overwrites and potentially execute malicious code through path traversal because the target path and directory is not appropriately validated" + desc: "Роксана може виконати довільне перезаписування файлів і потенційно запустити зловмисний код через обхід шляху, оскільки цільовий шлях і директорія не перевіряються належним чином" - id: "CM9" value: "9" url: "https://cornucopia.owasp.org/cards/CM9" - desc: "Alessandro can exploit the app by taking advantage of buffer overflows and memory leaks to write foreign code within the mobile code's address space" + desc: "Алессандро може використати застосунок, скориставшись переповненням буфера та витоком пам'яті для запису стороннього коду в адресний простір мобільного коду" - id: "CMX" value: "10" url: "https://cornucopia.owasp.org/cards/CMX" - desc: "Carlos can use the application's notification services to launch phishing campaigns because notifications are not sanitized and validated according to best practices" + desc: "Карлос може використовувати сервіси сповіщень застосунку для запуску фішингових кампаній, оскільки сповіщення не очищуються та не перевіряються відповідно до найкращих практик" - id: "CMJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/CMJ" - desc: "Luis can influence or alter cryptographic methods to corrupt other users' data because the integrity of the encrypted data is not verified before being shared with external services" + desc: "Луїс може впливати на криптографічні методи або змінювати їх, щоб пошкодити дані інших користувачів, оскільки цілісність зашифрованих даних не перевіряється перед тим, як вони передаються зовнішнім сервісам" - id: "CMQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/CMQ" - desc: "Victor can patch the app and use it to distribute malicious code because the runtime integrity checks are not strong enough according to what is recommended or the perceived effort of a potential attacker" + desc: "Віктор може модифікувати застосунок і використовувати його для розповсюдження зловмисного коду, оскільки перевірки цілісності під час виконання недостатньо надійні відповідно до рекомендацій або передбачуваних зусиль потенційного зловмисника" - id: "CMK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/CMK" - desc: "Ruben can use the app, without modifications, to spread malicious code because methods for transfer and storage do not perform proper data sanitization and validation" + desc: "Рубен може використовувати застосунок без модифікацій для розповсюдження зловмисного коду, оскільки методи передачі та зберігання не виконують належного очищення та перевірки даних" - id: "CMA" value: "A" url: "https://cornucopia.owasp.org/cards/CMA" - desc: "You have invented a new attack of any type" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Mobile Application Security, and “Mobile App User Privacy Protection” in the “Mobile Application Security Testing Guide” on the OWASP MAS website" + desc: "Ви вигадали нову атаку будь-якого типу" + misc: "Дізнайтеся більше про цю тему у безкоштовних шпаргалках OWASP з безпеки мобільних застосунків, а також у розділі «Захист конфіденційності користувачів мобільних застосунків» у «Посібнику з тестування безпеки мобільних застосунків» на сайті OWASP MAS" - id: "WC" - name: "Wild Card" + name: "Джокер" cards: - id: "JOAM" value: "A" url: "https://cornucopia.owasp.org/cards/JOAM" card: "Joker" - desc: "Starr can influence, alter or affect the app so that it no longer complies with legal, regulatory, contractual or other mandates" - misc: "Have you thought about becoming an individual OWASP member? All tools, guidance and local meetings are free for everyone, but individual membership helps support OWASP's work" + desc: "Старр може вплинути, змінити або вплинути на застосунок таким чином, що він більше не відповідає правовим, регуляторним, договірним або іншим вимогам" + misc: "Чи думали ви про те, щоб стати індивідуальним членом OWASP? Всі інструменти, посібники та місцеві зустрічі є безкоштовними для всіх, але індивідуальне членство допомагає підтримувати роботу OWASP" - id: "JOBM" value: "B" url: "https://cornucopia.owasp.org/cards/JOBM" card: "Joker" - desc: "Mallory can use the app installed on Bob's device maliciously to surveil, spy on, eavesdrop, control remotely, track or otherwise monitor Bob, without consent and/or notification" - misc: "Examine vulnerabilities and discover how they can be fixed using free MASTG reference applications on the OWASP MAS website" + desc: "Меллорі може зловмисно використовувати застосунок, встановлений на пристрої Боба, для стеження, шпигунства, підслуховування, дистанційного керування, відстеження або іншого моніторингу Боба без його згоди та/або повідомлення" + misc: "Досліджуйте вразливості та дізнайтеся, як їх можна виправити, використовуючи безкоштовні еталонні застосунки MASTG на сайті OWASP MAS" paragraphs: - id: "Common" @@ -450,445 +450,445 @@ paragraphs: sentences: - id: "NoCard" - text: "No Card" + text: "Немає карти" - id: "Title" - text: "Mobile App Edition v1.1-EN" + text: "Mobile App Edition v1.1-UK" - id: "Title_full" - text: "OWASP® Cornucopia Mobile App Edition v1.1-EN" + text: "OWASP® Cornucopia Mobile App Edition v1.1-UK" - id: "T00010" - text: "OWASP® Cornucopia is a mechanism to assist software development teams identify security requirements in Agile, conventional and formal development processes." + text: "OWASP® Cornucopia є механізмом, який допомагає командам розробки програмного забезпечення ідентифікувати вимоги безпеки в Agile, традиційних та формальних процесах розробки." - id: "T00020" - text: "Authors" + text: "Автори" - id: "T00100" - text: "Acknowledgements" + text: "Подяки" - id: "T00110" - text: "Adam Shostack and the Microsoft SDL Team for the “Elevation of Privilege Threat Modelling Game”, published under a Creative Commons Attribution license, as the inspiration for Cornucopia and from which many ideas, especially the game theory, were copied." + text: "Адаму Шостаку та команді SDL Microsoft Team за \"Гра з моделювання загрози підвищення привілеїв\", опубліковану під ліцензією Creative Commons Attribution, як натхнення для Корнукопії із з якої багато ідей, особливо із теорії ігор, було скопійовано." - id: "T00120" - text: "Colin Watson for coming up with Cornucopia which OWASP Cornucopia Mobile App Edition is based on." + text: "Коліну Ватсон за те, що він придумав Корнукопію, на основі якої створено OWASP Cornucopia Mobile App Edition." - id: "T00130" - text: "Contributors, supporters, sponsors and volunteers to the OWASP MASVS/MASTG, Mitre's Common Attack Pattern Enumeration and Classification (CAPEC™), and SAFECode's “Practical Security Stories and Security Tasks for Agile Development Environments” which are all used in the cross-references provided." + text: "Контрібьюторам, прихильникам, спонсорам та волонтерам за OWASP MASVS/MASTG, Перелік та класіфікація загальних шаблонів атак Mitre (CAPEC™), та SAFECode \"Практичні історії безпеки та завдання безпеки для оточень із гнучкою розробкою\" які були використовані у наданих перехрестних посиланнях." - id: "T00145" - text: "Current and past OWASP® Cornucopia project contributors and leaders, especially those involved most recently updating the cross-references, creating online versions, and writing scripts to dynamically generate Cornucopia's output files." + text: "Поточним та попереднім контрібьюторам та лідерам OWASP® Корнукопії, особливо тим задіяним у найостаннішому оновленню перехрестних посилань, створенню онлайн версій, і написанні сценаріїв для динамічного генеруємих вихідних файлів Корнукопії." - id: "T00150" - text: "Blackfoot (UK) Limited for creating and donating print-ready design files, Tom Brennan and the OWASP® Foundation for instigating the creation of an OWASP-branded box and leaflet, and Secure Delivery Ltd for developing and donating Copi, the platform to play Cornucopia and EoP online." + text: "Blackfoot (UK) Limited за створення та надання файлів дизайну, підготовлених до друку, Тому Бреннану та фонду OWASP® за ініціювання створення коробки та листівки з брендом OWASP, а також Secure Delivery Ltd за розробку та надання Copi, платформи для гри в Cornucopia та EoP онлайн.." - id: "T00161" - text: "(continued on page 20)" + text: "(продовження на стор. 20)" - id: "T00162" - text: "(continued from page 10)" + text: "(продовження зі стор. 10)" - id: "T00200" - text: "Introduction" + text: "Вступ" - id: "T00210" - text: "The idea behind Cornucopia is to help development teams, especially those using Agile methodologies, to identify application security requirements and develop security-based user stories." + text: "Ідея Cornucopia полягає в тому, щоб допомогти командам розробки, особливо тим, які використовують методології Agile, визначати вимоги до безпеки застосунків та розробляти користувацькі сценарії на основі безпеки." - id: "T00220" - text: "Cornucopia Mobile App Edition uses the same concepts and game strategy as the Cornucopia Website App Edition, but are made for development team doing mobile development. Cornucopia is inspired by “Elevation of Privilege: The Threat Modeling Game (EoP)”." + text: "OWASP Cornucopia Mobile App Edition використовує ті самі концепції та стратегію гри, що й OWASP Cornucopia Website App Edition, але створено для команд розробки мобільних додатків. OWASP Cornucopia вдохновлена грою \"Підвищення привілеїв: Гра з моделювання загроз (EoP)\"." - id: "T00240" - text: "Cornucopia attempts to introduce threat-modelling ideas into mobile development teams that use Agile methodologies, or are more focused on mobile application weaknesses than other types of software vulnerabilities." + text: "OWASP Cornucopia намагається ввести ідеї моделювання загроз у команди розробки мобільних додатків, які використовують методології Agile або зосереджуються на слабких мобільних додатках, ніж інші типи програмних вразливостей." - id: "T00300" - text: "The card deck (pack)" + text: "Колода карт (набір)" - id: "T00310" - text: "The card scenarios are meant to cover all the MASVS 2.0 requirements, all the tests from the MASTG and any additional guidelines from the Android and IOS secure coding guides. This was done in order to allow the game to be as aligned as possible with the latest guidelines for secure mobile development. Still, it's important to keep in mind that security guidelines and requirements are always in motion and that the game first of all should be used as a support when doing mobile application threat modeling and not as a complete guide into security requirements and guidelines." + text: "Сценарії карток мають охоплювати всі вимоги MASVS 2.0, всі тести MASTG та будь-які додаткові рекомендації з посібників з безпечного кодування для Android та IOS. Це було зроблено для того, щоб гра максимально відповідала останнім рекомендаціям щодо безпечної розробки мобільних пристроїв. Однак важливо пам'ятати, що рекомендації та вимоги безпеки завжди змінюються, і що гру, перш за все, слід використовувати як допоміжний засіб під час моделювання загроз для мобільних додатків, а не як повний посібник з вимог та рекомендацій безпеки." - id: "T00311" - text: "Cornucopia Mobile App Edition suits are based on the sections in the Mobile Application Security Verification Standard." + text: "Масті Cornucopia Mobile App Edition базуються на розділах Стандарту перевірки безпеки мобільних додатків." - id: "T00320" - text: "These provided five suits, and a sixth called “Cornucopia” was created as a trump suite: " + text: "Вони забезпечили п'ять мастей, а шоста під назвою «Корнукопія» була створена як козирна масть:" - id: "T00330" - text: "Platform & Code (PC)" + text: "Платформа та код (ПК)" - id: "T00340" - text: "Authentication & Authorization (AA)" + text: "Автентифікація та авторизація (АА)" - id: "T00350" - text: "Network & Storage (NS)" + text: "Мережа та сховище (МС)" - id: "T00360" - text: "Resilience (RS)" + text: "Стійкість (СТ)" - id: "T00370" - text: "Cryptography (CRM)" + text: "Криптографія (КР)" - id: "T00380" - text: "Cornucopia (CM)" + text: "Корнукопія (C)" - id: "T00390" - text: "Similar to poker-playing cards, each suit contains 13 cards (Ace, 2-10, Jack, Queen and King)." + text: "Подібно до покерних карт, кожна масть містить 13 карт (Туз, 2-10, Валет, Дама та Король)." - id: "T00400" - text: "There are also two Joker cards similar to the Cornucopia Website App Edition." + text: "Також є дві карти Джокера, як і у виданні Cornucopia Website App Edition." - id: "T00500" - text: "Mappings" + text: "Відповідності" - id: "T00510" - text: "The other driver for Mobile Cornucopia is to link the attacks with requirements and verification techniques." + text: "Іншою метою Mobile Cornucopia є зв'язок атак із вимогами та методами верифікації." - id: "T00520" - text: "In addition to having the MASVS 2.0 requirement codes and MASTG test codes printed on them, the cards also links to CAPEC™ software attack pattern IDs which themselves are mapped to CWEs." + text: "Крім кодів вимог MASVS 2.0 та кодів тестів MASTG, карти також містять посилання на ідентифікатори шаблонів атак CAPEC™, які своєю чергою відповідають CWE." - id: "T00530" - text: "Each card is also mapped to the 36 primary security stories in the SAFECode document to help teams create their own security-related stories for use in Agile processes." + text: "Кожна карта також відповідає 36 основним захисним сценаріям у документі SAFECode, що допомагає командам створювати власні сценарії безпеки для використання в Agile-процесах." - id: "T00600" - text: "Game strategy" + text: "Стратегія гри" - id: "T00610" - text: "Apart from the content differences, the game rules are virtually identical to those for the Cornucopia Website App Edition." + text: "Окрім відмінностей у змісті, правила гри практично ідентичні правилам видання Cornucopia Website App Edition." - id: "T01000" - text: "Provide feedback" + text: "Залишити відгук" - id: "T01010" - text: "If you have ideas or feedback on the use of OWASP® Mobile Cornucopia, please share them." + text: "Якщо у вас є ідеї або відгуки щодо використання OWASP® Mobile Cornucopia, будь ласка, поділіться ними." - id: "T01020" - text: "Even better if you create alternative versions of the cards, or produce professional print-ready versions, please share that with the volunteers who created this edition and with the wider application development and application security community." + text: "Ще краще, якщо ви створите альтернативні версії карт або виготовите професійні версії, готові до друку, — поділіться ними з волонтерами, які створили це видання, та з широкою спільнотою розробників і фахівців з безпеки застосунків." - id: "T01030" - text: "The best place to use to discuss or contribute is the list/group for the OWASP project:" + text: "Найкраще місце для обговорення або участі — це список/група проєкту OWASP:" - id: "T01040" - text: "List/Group" + text: "Список/Група" - id: "T01050" - text: "Project home page" + text: "Домашня сторінка проєкту" - id: "T01060" - text: "All OWASP documents and tools are free to download and use." + text: "Усі документи та інструменти OWASP безкоштовні для завантаження та використання." - id: "T01070" - text: "OWASP® Mobile Cornucopia is licensed under the Creative Commons Attribution-ShareAlike 3.0 license." + text: "OWASP® Mobile Cornucopia ліцензовано за ліцензією Creative Commons Attribution-ShareAlike 3.0." - id: "T01100" - text: "Instructions" + text: "Інструкції" - id: "T01110" - text: "The text on each card describes an attack, but the attacker is given a name, which are unique across all the cards." + text: "Текст на кожній карті описує атаку, а зловмиснику присвоюється ім'я, унікальне для всіх карт." - id: "T01120" - text: "The name can represent a computer system (e.g. the database, the file system, another application, a related service, a botnet), an individual person (e.g. a citizen, a customer, a client, an employee, a criminal, a spy), or even a group of people (e.g. a competitive organization, activists with a common cause)." + text: "Ім'я може представляти комп'ютерну систему (наприклад, базу даних, файлову систему, інший застосунок, пов'язаний сервіс, ботнет), окрему особу (наприклад, громадянина, клієнта, покупця, працівника, злочинця, шпигуна) або навіть групу людей (наприклад, конкуруючу організацію, активістів зі спільною метою)." - id: "T01130" - text: "The attacker might be remote in some other device/location, or local/internal with access to the same device, host or network as the application is running on." + text: "Зловмисник може бути віддаленим на іншому пристрої/місці або локальним/внутрішнім з доступом до того самого пристрою, хоста або мережі, на якій працює застосунок." - id: "T01140" - text: "The attacker is always named at the start of each description" + text: "Зловмисник завжди названий на початку кожного опису" - id: "T01150" - text: "An example is:" + text: "Наприклад:" - id: "T01160" - text: "Wong can bypass the authentication because it does not fail securely." + text: "Вонг може обійти автентифікацію, оскільки вона не відмовляє безпечно." - id: "T01170" - text: "This means the attacker, Wong, can log into the app without providing credentials because the login mechanism allows access when it fails." + text: "Це означає, що зловмисник Вонг може увійти до застосунку без надання облікових даних, оскільки механізм входу дозволяє доступ у разі збою." - id: "T01180" - text: "The attacks were primarily drawn from the MASVS 2.0 Mobile Application Testing guide and the Android and IOS secure coding guides" + text: "Атаки були переважно взяті з посібника тестування мобільних застосунків MASVS 2.0 та посібників із безпечного кодування для Android та iOS" - id: "T01200" - text: "Lookups between the attacks and the guides are provided on most cards:" + text: "Відповідності між атаками та посібниками наведені на більшості карт:" - id: "T01210" - text: "Test codes from the MASVS Mobile application Test Guide:" + text: "Тестові коди з Посібника тестування мобільних застосунків MASVS:" - id: "T01220" - text: "Verification IDs in “Mobile Application Security Verification Standard (MASVS) 2.0 for Mobile Applications”" + text: “Ідентифікатори верифікації у «Стандарті перевірки безпеки мобільних застосунків (MASVS) 2.0 для мобільних застосунків»” - id: "T01240" - text: "IDs in “Common Attack Pattern Enumeration and Classification (CAPEC™)”, v3.9, Mitre Corporation, November 2015" + text: “Ідентифікатори у «Переліку та класифікації загальних шаблонів атак (CAPEC™)», v3.9, Mitre Corporation, листопад 2015” - id: "T01250" - text: "Security-focused stories in 'Practical Security Stories and Security Tasks for Agile Development Environments', SAFECode, July 2012" + text: "Сценарії, орієнтовані на безпеку, у «Практичних захисних сценаріях та завданнях з безпеки для Agile-середовищ розробки», SAFECode, липень 2012" - id: "T01260" - text: "A look-up means the attack is included within the referenced item, but does not necessarily encompass the whole of its intent. " + text: "Відповідність означає, що атака включена до зазначеного елемента, але не обов'язково охоплює весь його зміст. " - id: "T01270" - text: "For structured data like CAPEC, the most specific reference is provided but sometimes a cross-reference is provided that also has more specific (child) examples." + text: "Для структурованих даних, як-от CAPEC, надається найбільш конкретне посилання, але іноді наводиться перехресне посилання з більш конкретними (дочірніми) прикладами." - id: "T01280" - text: "There are no lookups on the six Aces and two Jokers. " + text: "На шести Тузах та двох Джокерах відповідностей немає. " - id: "T01290" - text: "Instead these cards have some general tips in italicized text." + text: "Натомість ці карти містять загальні поради, виділені курсивом." - id: "T01300" - text: "It is possible to play Cornucopia in many different ways. " + text: "У Cornucopia можна грати різними способами. " - id: "T01301" - text: "For how to play, continue on pages: 11-19." + text: "Щодо правил гри, продовжте читання на сторінках: 11-19." - id: "T01400" - text: "Preparations" + text: "Підготовка" - id: "T01410" - text: "Obtain a deck, or print your own deck of Cornucopia cards (see page 2 of this document) and separate/cut out the cards" + text: "Отримайте колоду або роздрукуйте власну колоду карток Cornucopia (див. сторінку 2 цього документа) та розділіть/виріжте картки" - id: "T01411" - text: "Use the cards in this pack" + text: "Використовуйте картки з цього набору" - id: "T01420" - text: "Identify an application or application process to review; this might be a concept, design or an actual implementation" + text: "Визначте застосунок або процес застосунку для перевірки; це може бути концепція, дизайн або фактична реалізація" - id: "T01430" - text: "Create a data flow diagram, user stories, or other artefacts to help the review" + text: "Створіть діаграму потоків даних, користувацькі сценарії або інші артефакти для допомоги у перевірці" - id: "T01440" - text: "Identify and invite a group of 3-6 architects, developers, testers and other business stakeholders together and sit around a table (try to include someone fairly familiar with application security)" + text: "Визначте та запросіть групу з 3-6 архітекторів, розробників, тестувальників та інших зацікавлених сторін бізнесу та сядьте навколо столу (спробуйте включити когось, хто достатньо знайомий з безпекою застосунків)" - id: "T01450" - text: "Have some prizes to hand (gold stars, chocolate, pizza, beer or flowers depending upon your office culture)" + text: "Підготуйте призи (золоті зірки, шоколад, піцу, пиво або квіти залежно від культури вашого офісу)" - id: "T01500" - text: "Play" + text: "Гра" - id: "T01510" - text: "One suit - Cornucopia - acts as trumps." + text: "Одна масть — Корнукопія — є козирною." - id: "T01520" - text: "Aces are high (i.e. they beat Kings)." + text: "Туз старший (тобто він перемагає Королів)." - id: "T01530" - text: "It helps if there is a non-player to document the issues and scores." + text: "Буде корисно, якщо є спостерігач без ходу, який документує питання та рахунки." - id: "T01540" - text: "Remove the Jokers and a few low-score (2, 3, 4) cards from Cornucopia suit to ensure each player will have the same number of cards" + text: "Вилучіть Джокерів та кілька карток з низьким балом (2, 3, 4) з масті Корнукопія, щоб у кожного гравця було однакова кількість карток" - id: "T01550" - text: "Shuffle the deck and deal all the cards" + text: "Перемішайте колоду та роздайте всі картки" - id: "T01560" - text: "To begin, choose a player randomly who will play the first card - they can play any card from their hand except from the trump suit - Cornucopia" + text: "Для початку випадковим чином оберіть гравця, який зіграє першу картку — він може зіграти будь-яку картку зі своїх рук, крім козирної масті — Корнукопія" - id: "T01570" - text: "To play a card, each player must read it out aloud, and explain (see the online Wiki Deck for tips) how the threat could apply (the player gets a point for attacks that might work which the group thinks is an actionable bug) - do not try to think of mitigations at this stage, and do not exclude a threat just because of a belief that it is already mitigated - someone note the card and record the issues raised" + text: "Щоб зіграти картку, кожен гравець повинен зачитати її вголос та пояснити (дивіться онлайн Wiki Deck для підказок), як загроза може застосовуватися (гравець отримує очко за атаки, які можуть спрацювати і які група вважає реальними помилками) — не намагайтеся думати про засоби захисту на цьому етапі, і не виключайте загрозу лише через переконання, що вона вже зменшена — хтось нотує картку та записує виявлені проблеми" - id: "T01580" - text: "Play clockwise, each person must play a card in the same way; if you have any card of the matching lead suit you must play one of those, otherwise they can play a card from any other suit. " + text: "Грайте за годинниковою стрілкою, кожна особа повинна зіграти картку таким самим чином; якщо у вас є будь-яка картка відповідної провідної масті, ви повинні зіграти одну з них, інакше можна зіграти картку будь-якої іншої масті. " - id: "T01590" - text: "Only a higher card of the same suit, or the highest card in the trump suit Cornucopia, wins the hand." + text: "Лише вища картка тієї самої масті або найвища картка козирної масті Корнукопія виграє раунд." - id: "T01600" - text: "The person who wins the round, leads the next round (i.e. they play first), and thus defines the next lead suit" + text: "Особа, яка виграє раунд, веде наступний раунд (тобто вона грає першою), і таким чином визначає наступну провідну масть" - id: "T01610" - text: "Repeat until all the cards are played" + text: "Повторюйте, доки всі картки не будуть зіграні" - id: "T01700" - text: "Scoring" + text: "Підрахунок очок" - id: "T01710" - text: "The objective is to identify applicable threats, and win hands (rounds):" + text: "Мета — виявляти застосовні загрози та виграти раунди:" - id: "T01720" - text: "Score +1 for each card you can identify as a valid threat to the application under consideration" + text: "Нарахуйте +1 за кожну картку, яку ви можете визначити як реальну загрозу для розглянутого застосунку" - id: "T01730" - text: "Score +1 if you win a round" + text: "Нарахуйте +1, якщо ви виграли раунд" - id: "T01740" - text: "Once all cards have been played, whoever has the most points wins" + text: "Після того, як усі картки зіграні, перемагає той, хто набрав найбільше очок" - id: "T01800" - text: "Closure" + text: "Завершення" - id: "T01810" - text: "Review all the applicable threats and the matching security requirements" + text: "Перегляньте всі застосовні загрози та відповідні вимоги безпеки" - id: "T01820" - text: "Create user stories, specifications and test cases as required for your development methodology." + text: "Створіть користувацькі сценарії, специфікації та тестові кейси відповідно до вашої методології розробки." - id: "T01900" - text: "Alternative game rules" + text: "Альтернативні правила гри" - id: "T01910" - text: "If you are new to the game, remove the Aces and two Joker cards to begin with." + text: "Якщо ви новачок у цій грі, спочатку вилучіть Тузів та дві картки Джокера." - id: "T01920" - text: "Add the Joker cards back in once people become more familiar with the process." + text: "Поверніть картки Джокера, коли люди більше ознайомляться з процесом." - id: "T01930" - text: "Apart from the “trumps card game” rules described above which are very similar to the EoP, the deck can also be played as the “twenty-one card game” (also known as “pontoon” or “blackjack”) which normally reduces the number of cards played in each round." + text: “Крім правил гри «козирні карти», описаних вище, які дуже схожі на EoP, колода також може використовуватися як гра «двадцять одне» (також відома як «понтон» або «блекджек»), яка зазвичай зменшує кількість карток у кожному раунді.” - id: "T01940" - text: "Practice on an imaginary application, or even a future planned application, rather than trying to find fault with existing applications until the participants are happy with the usefulness of the game." + text: "Потренуйтеся на уявному застосунку або навіть майбутньому запланованому застосунку, а не намагайтеся знайти вади існуючих застосунків, поки учасники не будуть задоволені корисністю гри." - id: "T01950" - text: "Consider just playing with one suit to make a shorter session - but try to cover all the suits for every project. " + text: "Розгляньте можливість грати лише з однією мастю для коротшої сесії — але спробуйте охопити всі масті для кожного проєкту. " - id: "T01960" - text: "Or even better just play one hand with some pre-selected cards, and score only on the ability to identify security requirements. " + text: "Або ще краще зіграйте лише один раунд з деякими заздалегідь відібраними картками та рахуйте лише за здатність визначати вимоги безпеки. " - id: "T01970" - text: "Perhaps have one game of each suit each day for a week or so, if the participants cannot spare long enough for a full deck." + text: "Можливо, проводьте по одній грі кожної масті щодня протягом тижня або близько того, якщо учасники не можуть виділити достатньо часу для повної колоди." - id: "T01980" - text: "Some teams have preferred to play a full hand of cards, and then discuss what is on the cards after each round (instead of after each person plays a card)." + text: "Деякі команди надали перевагу зіграти повний раунд карток, а потім обговорити написане на картках після кожного раунду (замість після кожного ходу гравця)." - id: "T01990" - text: "Another suggestion is that if a player fails to identify the card is relevant, allow other players to suggest ideas, and potentially let them gain the point for the card. " + text: "Ще одна пропозиція: якщо гравець не може визначити актуальність картки, дозвольте іншим гравцям пропонувати ідеї, і потенційно дозвольте їм отримати очко за картку. " - id: "T02000" - text: "Consider allowing extra points for especially good contributions." + text: "Розгляньте можливість нарахування додаткових очок за особливо гарні внески." - id: "T02010" - text: "You can even play by yourself. " + text: "Ви навіть можете грати самостійно. " - id: "T02020" - text: "Just use the cards to act as thought-provokers. " + text: "Просто використовуйте картки як генератори ідей. " - id: "T02030" - text: "Involving more people will be beneficial though." + text: "Однак залучення більшої кількості людей буде корисним." - id: "T02040" - text: "In Microsoft's EoP guidance, they recommend cheating as a good game strategy." + text: "У керівництві Microsoft з EoP рекомендується шахрайство як хороша ігрова стратегія." - id: "T02600" - text: "Frequently asked questions" + text: "Поширені запитання" - id: "T02610" - text: "1. Can I copy or edit the game?" + text: "1. Чи можу я скопіювати або відредагувати гру?" - id: "T02620" - text: "Yes of course." + text: "Так, звичайно." - id: "T02630" - text: "All OWASP materials are free to do with as you like provided you comply with the Creative Commons Attribution-ShareAlike 3.0 license. " + text: "Усі матеріали OWASP безкоштовні для використання за умови дотримання ліцензії Creative Commons Attribution-ShareAlike 3.0. " - id: "T02640" - text: "Perhaps if you create a new version, you might donate it to the OWASP® Cornucopia Project?" + text: "Можливо, якщо ви створите нову версію, ви могли б подарувати її проєкту OWASP® Cornucopia?" - id: "T02650" - text: "2. How can I get involved?" + text: "2. Як я можу долучитися?" - id: "T02660" - text: "Please send ideas or offers of help to the project's mailing list." + text: "Будь ласка, надсилайте ідеї або пропозиції допомоги на поштовий список проєкту." - id: "T02670" - text: "3. How were the attackers' names chosen?" + text: "3. Як були обрані імена зловмисників?" - id: "T02680" - text: "EoP begins every description with words like 'An attacker can...'," + text: "EoP починає кожен опис зі слів на кшталт «Зловмисник може...»," - id: "T02690" - text: "but Colin Watson used personal names in Cornucopia which can be thought of as external or internal people or aliases for computer systems." + text: "але Колін Вотсон використав особисті імена в Cornucopia, які можна розглядати як зовнішніх або внутрішніх людей або псевдоніми комп'ютерних систем." - id: "T02700" - text: "Likewise, the Mobile App Edition names reflect the OWASP community aspect." + text: "Аналогічно, імена у виданні Mobile App Edition відображають аспект спільноти OWASP." - id: "T02710" - text: "Therefore, apart from 'Bob and Mallory', the attacker names are drawn from the 2024 OWASP Global and EU board members, OWASP Staff, OWASP Cornucopia Mobile App Edition authors and contributors, and OWASP Chapter leaders around the world." + text: "Тому, крім «Боба та Меллорі», імена зловмисників взяті з членів глобальної ради та ради ЄС OWASP 2024 року, співробітників OWASP, авторів та учасників OWASP Cornucopia Mobile App Edition та лідерів розділів OWASP по всьому світу." - id: "T02720" - text: "The cultural and gender mix simply reflects these sources of names, and" + text: "Культурне та гендерне різноманіття просто відображає ці джерела імен, та" - id: "T02730" - text: "is not meant to be world-representative." + text: "не є репрезентативним для всього світу." - id: "T02750" - text: "4. Why aren't there any images on the card faces?" + text: "4. Чому на лицьовому боці карток немає зображень?" - id: "T02760" - text: "There is quite a lot of text on the cards, and the cross-referencing takes up space too." + text: "На картках є досить багато тексту, і перехресні посилання також займають місце." - id: "T02770" - text: "But it would be great to have additional design elements included." + text: "Але було б чудово мати додаткові елементи дизайну." - id: "T02780" - text: "Any volunteers" + text: "Є добровольці?" - id: "T02790" - text: "5. Are the attacks ranked by the number on the card?" + text: "5. Чи ранжуються атаки за номером на картці?" - id: "T02800" - text: "Only approximately." + text: "Лише приблизно." - id: "T02810" - text: "The risk will be application and organisation dependent, due to varying security and compliance requirements, so your own severity rating may place the cards in some other order than the numbers on the cards." + text: "Ризик залежить від застосунку та організації через різні вимоги до безпеки та відповідності, тому ваша власна оцінка серйозності може розмістити картки в іншому порядку, ніж номери на них." - id: "T02820" - text: "6. How long does it take to play a round of cards using the full deck?" + text: "6. Скільки часу потрібно для проведення раунду з повною колодою?" - id: "T02830" - text: "This depends upon the scope of the application, amount of discussion and how familiar the players are with application security concepts." + text: "Це залежить від обсягу застосунку, обсягу обговорення та наскільки гравці знайомі з концепціями безпеки застосунків." - id: "T02840" - text: "But perhaps allow 1.5 to 2.0 hours for 4-6 people." + text: "Але, можливо, відведіть 1,5–2,0 години для 4–6 осіб." - id: "T02850" - text: "7. What sort of people should play the game?" + text: "7. Які люди повинні грати в гру?" - id: "T02860" - text: "Always try to have a mix of roles who can contribute alternative perspectives." + text: "Завжди намагайтеся мати суміш ролей, які можуть вносити альтернативні точки зору." - id: "T02870" - text: "But include someone who has a reasonable knowledge of application vulnerability terminology. " + text: "Але включіть когось, хто має достатні знання термінології вразливостей застосунків. " - id: "T02880" - text: "Otherwise try to include a mix of architects, developers, testers and a relevant project manager or business owner." + text: "Інакше намагайтеся включити суміш архітекторів, розробників, тестувальників та відповідного менеджера проєкту або власника бізнесу." - id: "T02890" - text: "8. Who should take notes and record scores?" + text: "8. Хто повинен робити нотатки та записувати рахунки?" - id: "T02900" - text: "It is better if that someone else, not playing the game, takes notes about the requirements identified and issues discussed." + text: "Краще, якщо хтось інший, хто не грає в гру, робить нотатки про визначені вимоги та обговорювані питання." - id: "T02910" - text: "This could be used as training for a more junior developer, or performed by the project manager." + text: "Це може бути використано як навчання для молодшого розробника або виконано менеджером проєкту." - id: "T02920" - text: "Some organisations have made a recording to review afterwards when the requirements are written up more formally." + text: "Деякі організації зробили запис для подальшого перегляду, коли вимоги записуються більш формально." - id: "T02930" - text: "9. Should we always use the full deck of cards?" + text: "9. Чи завжди потрібно використовувати повну колоду карток?" - id: "T02940" - text: "No. " + text: "Ні. " - id: "T02950" - text: "A smaller deck is quicker to play. " + text: "Менша колода грається швидше. " - id: "T02960" - text: "Start your first game with only enough cards for two or three rounds. " + text: "Почніть свою першу гру лише з достатньою кількістю карток для двох або трьох раундів. " - id: "T02970" - text: "Always consider removing cards that are not appropriate at all of the target application or function being reviewed. " + text: "Завжди розглядайте можливість видалення карток, які зовсім не підходять для цільового застосунку або функції, що перевіряється. " - id: "T02980" - text: "For the first few times people play the game it is also usually better to remove the Aces and the two Jokers." + text: "Під час перших кількох ігор зазвичай краще видалити Тузів та два Джокери." - id: "T02990" - text: "It is also usual to play the game without any trumps suit until people are more familiar with the idea." + text: "Також зазвичай грають без козирної масті, поки люди більше не ознайомляться з ідеєю." - id: "T03000" - text: "10. What should players do when they have an Ace card that says “invented a new X attack”?" + text: “10. Що мають робити гравці, коли у них є картка Туза з написом «вигадав нову атаку X»?” - id: "T03010" - text: "The player can make up any attack they think is valid, but must match the suit of the card (e.g. Platform & Code)." + text: "Гравець може вигадати будь-яку атаку, яку вважає дійсною, але вона має відповідати масті картки (наприклад, Платформа та код)." - id: "T03020" - text: "With players new to the game, it can be better to remove these to begin with (see also FAQ 9)." + text: "Для гравців, які вперше грають у цю гру, краще спочатку видалити їх (дивіться також FAQ 9)." - id: "T03850" - text: "OWASP's hard-working employees." + text: "Наполегливі співробітники OWASP." diff --git a/source/webapp-cards-3.0-uk.yaml b/source/webapp-cards-3.0-uk.yaml index f8f0d621f..b0da97341 100644 --- a/source/webapp-cards-3.0-uk.yaml +++ b/source/webapp-cards-3.0-uk.yaml @@ -2,359 +2,359 @@ meta: edition: "webapp" component: "cards" - language: "EN" + language: "UK" version: "3.0" suits: - id: "VE" - name: "DATA VALIDATION & ENCODING" + name: "ПЕРЕВІРКА ТА КОДУВАННЯ ДАНИХ" cards: - id: "VE2" value: "2" url: "https://cornucopia.owasp.org/cards/VE2" - desc: "Brian can gather information about the underlying configurations, schemas, logic, code, software, services and infrastructure due to the content of error messages, or poor configuration, or the presence of default installation files or old, test, backup or copies of resources, or exposure of source code" + desc: "Брайан може зібрати інформацію про базові конфігурації, схеми, логіку, код, програмне забезпечення, послуги та інфраструктуру через вміст повідомлень про помилки, погану конфігурацію або наявність файлів інсталяції за замовчуванням, або старих, тестових, резервних копій ресурсів, або розкриття вихідного коду" - id: "VE3" value: "3" url: "https://cornucopia.owasp.org/cards/VE3" - desc: "Robert can input malicious data because the allowed protocol format is not being checked, or duplicates are accepted, or the structure is not being verified, or the individual data elements are not being sanitized, or preferably validated for format, type, range, size, length and a whitelist of allowed characters or formats" + desc: "Роберт може вводити шкідливі дані, оскільки не перевіряється допустимий формат протоколу, або приймаються дублікати, або не перевіряється структура, або для окремих елементів даних не виконується знезараження, або, що переважно, не перевіряється формат, тип, діапазон, розмір, довжина або присутність у списку дозволених символів чи форматів" - id: "VE4" value: "4" url: "https://cornucopia.owasp.org/cards/VE4" - desc: "Dave can input malicious field names or data because it is not being checked within the context of the current user and process" + desc: "Дейв може ввести шкідливі імена полів або дані, оскільки вони не перевіряються в контексті поточного користувача та процесу" - id: "VE5" value: "5" url: "https://cornucopia.owasp.org/cards/VE5" - desc: "Jee can bypass the centralized encoding routines since they are not being used everywhere, or the wrong encodings are being used" + desc: "Джі може обійти централізовані процедури кодування, оскільки вони не використовуються всюди, або застосовуються неправильні кодування" - id: "VE6" value: "6" url: "https://cornucopia.owasp.org/cards/VE6" - desc: "Jason can bypass the centralized validation routines since they are not being used on all inputs" + desc: "Джейсон може обійти централізовані процедури перевірки, оскільки вони не застосовуються до всіх вхідних даних" - id: "VE7" value: "7" url: "https://cornucopia.owasp.org/cards/VE7" - desc: "Jan can craft special payloads to foil input validation because the character set is not specified/enforced, or the data is encoded multiple times, or the data is not fully converted into the same format the application uses (e.g. canonicalization) before being validated, or variables are not strongly typed" + desc: "Ян може створити спеціальні корисні навантаження для обходу перевірки введення, оскільки набір символів не вказано або не застосовується, або дані кодуються кілька разів, або дані не повністю перетворюються у той самий формат, який використовує застосунок (канонікалізація) перед перевіркою, або змінні не є строго типізованими" - id: "VE8" value: "8" url: "https://cornucopia.owasp.org/cards/VE8" - desc: "Oana can bypass the centralized sanitization routines since they are not being used comprehensively" + desc: "Оана може обійти централізовані процедури очищеня даних, оскільки вони не використовуються вичерпно" - id: "VE9" value: "9" url: "https://cornucopia.owasp.org/cards/VE9" - desc: "Shamun can bypass input validation or output validation checks because validation failures are not rejected and/or sanitized" + desc: "Шамун може обійти перевірку введення або виведення, оскільки збої перевірки не відхиляються та/або не знезаражуються" - id: "VEX" value: "10" url: "https://cornucopia.owasp.org/cards/VEX" - desc: "Darío can exploit the trust the application places in a source of data (e.g. user-definable data, manipulation of locally stored data, alteration to state data on a client device, lacking and/or improper enforcement of client-side controls, lack of verification of identity during data validation such as Darío can pretend to be Colin)" + desc: "Даріо може використати довіру застосунку до джерел даних (наприклад, дані, що визначаються користувачем, маніпулювання локально збереженими даними, зміна даних стану на клієнтському пристрої, відсутність та/або неналежне застосування механізмів захисту на стороні клієнта, відсутність перевірки ідентифікації під час перевірки даних, через що Даріо може прикидатися Коліном)" - id: "VEJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/VEJ" - desc: "Toby has control over input validation, output validation, sanitization or output encoding code or routines so they can be bypassed" + desc: "Тобі контролює код або процедури перевірки вхідних/вихідних даних, знезараження або кодування виведення, внаслідок чого може обійти ці перевірки" - id: "VEQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/VEQ" - desc: "Xavier can inject data into a client or device side interpreter because a parameterised interface is not being used, or has not been implemented correctly, or the data has not been encoded, sanitized or escaped correctly for the context, or there is no restrictive policy on code or data includes" + desc: "Хав'єр може впровадити дані в інтерпретатор на стороні клієнта або пристрою, оскільки параметризований інтерфейс не використовується або реалізований неправильно, або дані не були правильно закодовані, знезаражені чи екрановані для контексту, або немає обмежень щодо включень коду чи даних" - id: "VEK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/VEK" - desc: "Gabe can inject data into an server-side interpreter (e.g. SQL, OS commands, Xpath, Server JavaScript, SMTP) because a strongly typed parameterised interface is not being used, not implemented correctly, or properly configured" + desc: "Ґейб може впровадити дані в інтерпретатор на стороні сервера (наприклад, SQL, команди ОС, XPath, серверний JavaScript, SMTP), оскільки строго типізований параметризований інтерфейс не використовується, реалізований неправильно або неправильно налаштований" - id: "VEA" value: "A" url: "https://cornucopia.owasp.org/cards/VEA" - desc: "You have invented a new attack against Data Validation and Encoding" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Input Validation, XSS Prevention, DOM-based XSS Prevention, SQL Injection Prevention, and Query Parameterization" + desc: "Ви винайшли нову атаку проти Перевірки та Кодування Даних" + misc: "Дізнайтеся більше про цю тему в безкоштовних шпаргалках OWASP з перевірки введення, запобігання XSS, запобігання XSS на основі DOM, запобігання ін'єкціям SQL та параметризації запитів" - id: "AT" - name: "AUTHENTICATION" + name: "АВТЕНТИФІКАЦІЯ" cards: - id: "AT2" value: "2" url: "https://cornucopia.owasp.org/cards/AT2" - desc: "James can undertake authentication functions without the real user ever being aware this has occurred (e.g. attempt to log in, log in with stolen credentials, reset the password) " + desc: "Джеймс може виконувати функції автентифікації, при цьому справжній користувач ніколи не дізнається, що це відбулося (наприклад, спроба входу, вхід зі вкраденими обліковими даними, скидання пароля) " - id: "AT3" value: "3" url: "https://cornucopia.owasp.org/cards/AT3" - desc: "Muhammad can obtain a user's password or other secrets such as MFA codes or biometrics, by observation during entry, or from a local cache, or from memory, or in transit, or by reading it from some unprotected location, or because it is widely known or leaked" + desc: "Мухаммад може отримати пароль користувача або інші секрети, такі як коди MFA або біометрія, спостереженням під час введення, з локального кешу, з пам'яті, під час передачі, читаючи їх із незахищеного місця, або тому що вони широко відомі чи витекли" - id: "AT4" value: "4" url: "https://cornucopia.owasp.org/cards/AT4" - desc: "Sebastien can easily identify user names or can enumerate them" + desc: "Себастьян може легко ідентифікувати імена користувачів або їх перебирати" - id: "AT5" value: "5" url: "https://cornucopia.owasp.org/cards/AT5" - desc: "Javier can use default, test or easily guessable credentials to authenticate, or can use an old account, or an account not necessary for the application" + desc: "Хав'єр може використовувати для автентифікації стандартні, тестові або легко вгадувані облікові дані, або використовувати стару обліковий запис, або обліковий запис, що не є необхідним для застосунку" - id: "AT6" value: "6" url: "https://cornucopia.owasp.org/cards/AT6" - desc: "Sven can reuse a temporary password, a recovery-, activation-, auth-, or MFA code because it's not changed after use, or it can not be reset by the user or admin, or it has an insufficiently implemented, too long or no expiry, or is still valid after being used, reset or revoked, or it does not use a secure out-of-band delivery method (e.g. post, mobile app, SMS)" + desc: "Свен може повторно використати тимчасовий пароль, код відновлення, активації, автентифікації або MFA-код, оскільки вони не змінюються після використання, або не можуть бути скинуті користувачем чи адміністратором, або мають некоректно реалізований, надто довгий або відсутній термін дії, або залишаються дійсними після використання, скидання або відкликання, або не використовується безпечний зовнішній метод доставки (наприклад, пошта, мобільний застосунок, SMS)" - id: "AT7" value: "7" url: "https://cornucopia.owasp.org/cards/AT7" - desc: "Cecilia can use brute force and dictionary attacks against one or many accounts without limit, or these attacks are simplified due to insufficient complexity, length, expiration and requirements for the use of passwords, recovery-, activation-, or MFA codes" + desc: "Сесілія може використовувати грубу силу та атаки за словником проти одного або багатьох облікових записів без обмежень, або ці атаки спрощені через недостатню складність, довжину, термін дії або вимоги до використання паролів, кодів відновлення, активації або MFA-кодів" - id: "AT8" value: "8" url: "https://cornucopia.owasp.org/cards/AT8" - desc: "Kate can bypass authentication because it does not fail secure (i.e. it defaults to allowing unauthenticated access)" + desc: "Кейт може обійти автентифікацію, оскільки вона не дає збій у безпечний спосіб (тобто за замовчуванням дозволяє неавтентифікований доступ)" - id: "AT9" value: "9" url: "https://cornucopia.owasp.org/cards/AT9" - desc: "Claudia can undertake more critical functions because authentication requirements are inconsistent, too weak (e.g. do not use passkeys or other strong authentication such as a recomended MFA method), or there is no requirement to re-authenticate for these" + desc: "Клаудія може виконувати більш критичні функції, оскільки вимоги до автентифікації непослідовні, надто слабкі (наприклад, не використовуються ключі доступу або інша надійна автентифікація, як-от рекомендований метод MFA), або відсутня вимога повторної автентифікації для них" - id: "ATX" value: "10" url: "https://cornucopia.owasp.org/cards/ATX" - desc: "Pravin can bypass authentication controls because a centralized standard, tested, proven, recommended and approved authentication module/framework/service, separate to the resource being requested, is not being used, has been misconfigured, or has been improperly implemented" + desc: "Правін може обійти автентифікацію, оскільки централізований стандартний, перевірений, протестований, рекомендований та затверджений модуль/фреймворк/сервіс автентифікації, окремий від запитуваного ресурсу, не використовується, неправильно налаштований або некоректно реалізований" - id: "ATJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/ATJ" - desc: "Mark can access resources or services because there is no authentication requirement, or because authentication is missing due to misconfiguration, improper design or implementation, or it was mistakenly assumed authentication would be undertaken by some other system or performed in some previous action" + desc: "Марк може отримати доступ до ресурсів або послуг, оскільки вимога автентифікації відсутня, або автентифікація не застосовується через неправильну конфігурацію, неналежне проектування або реалізацію, або помилково передбачається, що автентифікація виконується якоюсь іншою системою або виконана на якомусь попередньому кроці" - id: "ATQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/ATQ" - desc: "Johan can bypass authentication because it is not enforced with equal rigor for all types of authentication functionality (e.g. register, password change, password recovery, log out, administration) or across all versions/channels (e.g. mobile website, mobile app, full website, API, call centre)" + desc: "Йохан може обійти автентифікацію, оскільки вона не вимагається з однаковою суворістю для всіх типів функціональності автентифікації (наприклад, реєстрація, зміна пароля, відновлення пароля, вихід, адміністрування) або в усіх версіях/каналах (наприклад, мобільний веб-сайт, мобільний застосунок, повний веб-сайт, API, кол-центр)" - id: "ATK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/ATK" - desc: "Olga can influence or alter authentication code/routines so they can be bypassed" + desc: "Ольга може впливати на код/процедури автентифікації або змінювати їх, щоб їх можна було обійти" - id: "ATA" value: "A" url: "https://cornucopia.owasp.org/cards/ATA" - desc: "You have invented a new attack against Authentication" - misc: "Read more about this topic in OWASP's free Authentication Cheat Sheet" + desc: "Ви винайшли нову атаку проти Автентифікації" + misc: "Дізнайтеся більше про цю тему в безкоштовній шпаргалці OWASP з автентифікації" - id: "SM" - name: "SESSION MANAGEMENT" + name: "КЕРУВАННЯ СЕСІЯМИ" cards: - id: "SM2" value: "2" url: "https://cornucopia.owasp.org/cards/SM2" - desc: "William has control over the generation of session identifiers or authorization tokens" + desc: "Вільям контролює генерацію ідентифікаторів сесій або токенів авторизації" - id: "SM3" value: "3" url: "https://cornucopia.owasp.org/cards/SM3" - desc: "Ryan can continue to use a stolen session for its maximum duration because the user can not check whether the session might be stolen, or terminate the session or ask the administrator to do so, or because the application does not mitigate against authorization code interception" + desc: "Райан може продовжувати використовувати вкрадену сесію протягом її максимальної тривалості, оскільки користувач не може перевірити, чи може сесія бути вкрадена, або завершити сесію самостійно чи через адміністратора, або тому що застосунок не захищає від перехоплення кодів авторизації" - id: "SM4" value: "4" url: "https://cornucopia.owasp.org/cards/SM4" - desc: "Alison can set session identification cookies or use tokens for another web application because the domain, path, (or in the case of tokens) audience are not restricted sufficiently" + desc: "Елісон може встановити ідентифікаційні cookie або використовувати токени для іншого веб-застосунку, оскільки домен, шлях або (у разі токенів) аудиторія недостатньо обмежені" - id: "SM5" value: "5" url: "https://cornucopia.owasp.org/cards/SM5" - desc: "John can predict or guess session identifiers because they are not changed when the user's role alters (e.g. pre and post authentication), or are not verified using a trusted backend service, or are not sufficiently long and random, or are not changed periodically" + desc: "Джон може передбачити або вгадати ідентифікатори сесій, оскільки вони не змінюються при зміні ролі користувача (наприклад, до та після автентифікації), або не перевіряються за допомогою довіреного бекенд-сервісу, або недостатньо довгі та випадкові, або не змінюються періодично" - id: "SM6" value: "6" url: "https://cornucopia.owasp.org/cards/SM6" - desc: "Gary can take over a user's session because there is a long or no inactivity timeout, or a long or no overall session time limit, or the same session can be used from more than one device/location" + desc: "Ґері може захопити сесію користувача, оскільки тайм-аут бездіяльності довгий або відсутній, або час існування сесії тривалий або без обмеження, або одна й та сама сесія може використовуватися з більш ніж одного пристрою/місця" - id: "SM7" value: "7" url: "https://cornucopia.owasp.org/cards/SM7" - desc: "Graham can utilize Adam's session after he has finished, because there is no log out function, or he cannot easily log out, or because the log out and other mechanisms for changing authentication settings do not permit the user to terminate the session or sessions" + desc: "Ґрем може використовувати сесію Адама після того, як той її завершив, оскільки відсутня функція виходу, або вихід важкодоступний, або функція виходу та інші механізми зміни налаштувань автентифікації не дозволяють користувачу завершити одну або кілька сесій" - id: "SM8" value: "8" url: "https://cornucopia.owasp.org/cards/SM8" - desc: "Matt can abuse sessions because the application does not require re-authentication after a session time limit has been reached, account terminated, or when privileges have changed, or after any abrupt and risky change to the user's authentication settings or environmental and contextual attributes (e.g. IP address, device, location, time of day, browser, etc.)" + desc: "Метт може зловживати сесіями, оскільки застосунок не вимагає повторної автентифікації після закінчення терміну сесії, видалення облікового запису або зміни привілеїв, або після будь-яких раптових та ризикованих змін у налаштуваннях автентифікації користувача або атрибутах середовища та контексту (наприклад, IP-адреса, пристрій, місцезнаходження, час доби, браузер тощо)" - id: "SM9" value: "9" url: "https://cornucopia.owasp.org/cards/SM9" - desc: "Ivan can steal session identifiers or authorization tokens because they are sent over insecure channels, or are logged, or are revealed in error messages, or are included in URLs, or are accessible un-necessarily by code, cache or load balancers which the attacker can influence or alter" + desc: "Іван може вкрасти ідентифікатори сесій або токени авторизації, оскільки вони надсилаються незахищеними каналами, або записуються в журнали, або розкриваються в повідомленнях про помилки, або включені до URL-адрес, або доступні без потреби з боку коду, кешу або балансувальників навантаження, на які зловмисник може впливати або які може змінювати" - id: "SMX" value: "10" url: "https://cornucopia.owasp.org/cards/SMX" - desc: "Marce can forge requests because per-session, or per-request for more critical actions, strong random tokens (i.e. anti-CSRF tokens) or similar are not being used for actions that change state" + desc: "Марсе може підробляти запити, оскільки для критичних операцій, що змінюють стан, на рівні сесії або запиту не використовуються надійні випадкові токени (анти-CSRF токени) або аналоги" - id: "SMJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/SMJ" - desc: "Jeff can reuse stolen session identifiers and/or tokens because they are not handled confidentially or because there is no strong proof of possession (e.g. binding to certificate, device, IP address, user-agent, etc.)" + desc: "Джефф може повторно використовувати вкрадені ідентифікатори сесій та/або токени, оскільки вони обробляються без дотримання конфіденційності, або відсутній суворий доказ володіння (наприклад, прив'язка до сертифіката, пристрою, IP-адреси, user-agent тощо)" - id: "SMQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/SMQ" - desc: "Salim can bypass session management because it is not applied comprehensively and consistently across the application" + desc: "Салім може обійти керування сесіями, оскільки воно не застосовується вичерпно та послідовно в усьому застосунку" - id: "SMK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/SMK" - desc: "Peter can bypass the session management controls because they have been self-built and/or are weak, instead of using a standard framework or approved tested module" + desc: "Петро може обійти засоби керування сесіями, оскільки замість використання стандартних фреймворків або перевірених протестованих модулів було реалізовано власний ненадійний" - id: "SMA" value: "A" url: "https://cornucopia.owasp.org/cards/SMA" - desc: "You have invented a new attack against Session Management" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Session Management, and Cross Site Request Forgery (CSRF) Prevention" + desc: "Ви винайшли нову атаку проти Керування Сесіями" + misc: "Дізнайтеся більше про цю тему в безкоштовних шпаргалках OWASP з керування сесіями та запобігання міжсайтовій підробці запитів (CSRF)" - id: "AZ" - name: "AUTHORIZATION" + name: "АВТОРИЗАЦІЯ" cards: - id: "AZ2" value: "2" url: "https://cornucopia.owasp.org/cards/AZ2" - desc: "Tim can influence where data is sent or forwarded to" + desc: "Тім може впливати на те, куди дані надсилаються або пересилаються" - id: "AZ3" value: "3" url: "https://cornucopia.owasp.org/cards/AZ3" - desc: "Christian can access information, which he should not have permission to, through another mechanism that does have permission (e.g. search indexer, logger, reporting), or because it is cached, or kept for longer than necessary, or through other information leakage" + desc: "Крістіан може отримати доступ до інформації, на яку він не повинен мати дозволу, через інший механізм, що має дозвіл (наприклад, пошуковий індексатор, логер, звітність), або тому що вона кешується, або зберігається довше, ніж необхідно, або через іншу витік інформації" - id: "AZ4" value: "4" url: "https://cornucopia.owasp.org/cards/AZ4" - desc: "Kelly can bypass authorization controls because they do not fail securely (i.e. they default to allowing access)" + desc: "Келлі може обійти засоби контролю авторизації, оскільки вони не дають збій у безпечний спосіб (тобто за замовчуванням дозволяють доступ)" - id: "AZ5" value: "5" url: "https://cornucopia.owasp.org/cards/AZ5" - desc: "Chad can access resources (including services, processes, AJAX, video, images, documents, temporary files, session data, system properties, configuration data, registry settings, logs) he should not be able to due to missing authorization, or due to excessive privileges (e.g. not using the principle of least privilege)" + desc: "Чед може отримати доступ до ресурсів (включаючи сервіси, процеси, AJAX, відео, зображення, документи, тимчасові файли, дані сесій, властивості системи, дані конфігурації, налаштування реєстру, журнали), на які не має дозволу, через відсутність авторизації або надмірні привілеї (не застосовується принцип найменших привілеїв)" - id: "AZ6" value: "6" url: "https://cornucopia.owasp.org/cards/AZ6" - desc: "Eduardo can access data he does not have permission to, even though he has permission to the form/page/URL/entry point" + desc: "Едуардо може отримати доступ до даних, на які не має дозволу, навіть якщо він має права на доступ до форми/сторінки/URL/точки входу" - id: "AZ7" value: "7" url: "https://cornucopia.owasp.org/cards/AZ7" - desc: "Yuanjing can access application functions, objects, or properties he is not authorized to access" + desc: "Юаньцзін може отримати доступ до функцій, об'єктів або властивостей застосунку, на які у нього немає прав" - id: "AZ8" value: "8" url: "https://cornucopia.owasp.org/cards/AZ8" - desc: "Tom can bypass business rules by altering the usual process sequence or flow, or by undertaking the process in the incorrect order, or by manipulating date and time values used by the application, or by using valid features for unintended purposes, or by otherwise manipulating control data" + desc: "Том може обійти бізнес-правила, змінюючи звичайний хід процесу або виконуючи процес у неправильному порядку, або маніпулюючи значеннями дати та часу, що використовуються застосунком, або використовуючи доступні функції для непередбачених цілей, або іншим чином маніпулюючи керуючими даними" - id: "AZ9" value: "9" url: "https://cornucopia.owasp.org/cards/AZ9" - desc: "Michael can bypass the application to gain access to data because administrative tools or administrative interfaces are not secured adequately" + desc: "Майкл може обійти застосунок для отримання доступу до даних, оскільки адміністративні інструменти або адміністративні інтерфейси не захищені належним чином" - id: "AZX" value: "10" url: "https://cornucopia.owasp.org/cards/AZX" - desc: "Richard can bypass the centralized authorization controls since they are not being used comprehensively on all interactions, or because they have been misconfigured, or because the application does not use a centralized standard, tested, proven, recommended and approved authorization module/framework/service" + desc: "Річард може обійти централізовані засоби контролю авторизації, оскільки вони не використовуються вичерпно при всіх взаємодіях, або через неправильне налаштування, або тому що застосунок не використовує централізований стандартний, протестований, перевірений, рекомендований та затверджений модуль/фреймворк/сервіс авторизації" - id: "AZJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/AZJ" - desc: "Dinis can access security configuration information, or access control lists" + desc: "Дініс може отримати доступ до інформації про конфігурацію безпеки або списків керування доступом" - id: "AZQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/AZQ" - desc: "Christopher can inject a command that the application will run at a higher privilege level" + desc: "Крістофер може встромити команду, яку застосунок виконає з підвищеними привілеями" - id: "AZK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/AZK" - desc: "Adrian can influence or alter authorization controls and permissions, and can therefore bypass them" + desc: "Адріан може впливати на засоби контролю та дозволи авторизації або змінювати їх, і тому може обійти їх" - id: "AZA" value: "A" url: "https://cornucopia.owasp.org/cards/AZA" - desc: "You have invented a new attack against Authorization" - misc: "Read more about this topic in OWASP's Development and Testing Guides" + desc: "Ви винайшли нову атаку проти Авторизації" + misc: "Дізнайтеся більше про цю тему в настановах OWASP з розробки та тестування" - id: "CR" - name: "CRYPTOGRAPHY" + name: "КРИПТОГРАФІЯ" cards: - id: "CR2" value: "2" url: "https://cornucopia.owasp.org/cards/CR2" - desc: "Kyun can access data because it has been obfuscated rather than using an approved cryptographic function" + desc: "К'юн може отримати доступ до даних, оскільки вони були обфускованіі, а не зашифровані затвердженою криптографічною функцією" - id: "CR3" value: "3" url: "https://cornucopia.owasp.org/cards/CR3" - desc: "Axel can modify transient or permanent data (stored or in transit), or source code, or updates/patches, or configuration data, because it is not subject to integrity checking" + desc: "Аксель може змінити тимчасові або постійні дані (збережені або під час передачі), або вихідний код, або оновлення/патчі, або дані конфігурації, оскільки вони не підлягають перевірці цілісності" - id: "CR4" value: "4" url: "https://cornucopia.owasp.org/cards/CR4" - desc: "Paulo can access data in transit that is not encrypted, even though the channel is encrypted" + desc: "Пауло може отримати доступ до даних у транзиті, які не зашифровані, навіть якщо канал зашифрований" - id: "CR5" value: "5" url: "https://cornucopia.owasp.org/cards/CR5" - desc: "Kyle can bypass cryptographic controls because they do not fail securely (i.e. they default to unprotected)" + desc: "Кайл може обійти криптографічні засоби захисту, оскільки вони не дають збій у безпечний спосіб (тобто за замовчуванням немає захисту)" - id: "CR6" value: "6" url: "https://cornucopia.owasp.org/cards/CR6" - desc: "Romain can read and modify unencrypted data in memory or in transit (e.g. cryptographic secrets, credentials, session identifiers, personal and commercially-sensitive data), in use or in communications within the application, or between the application and users, or between the application and external systems" + desc: "Ромен може читати та змінювати незашифровані дані в пам'яті або під час передачі (наприклад, криптографічні секрети, облікові дані, ідентифікатори сесій, особисті та комерційно чутливі дані), що використовуються або передаються у застосунку, або між застосунком та користувачами, або між застосунком та зовнішніми системами" - id: "CR7" value: "7" url: "https://cornucopia.owasp.org/cards/CR7" - desc: "Gunter can intercept or modify encrypted and/or hashed data in transit because the protocol is poorly deployed, or weakly configured, or certificates are invalid, or certificates are not trusted, or the connection can be degraded to a weaker or un-encrypted communication" + desc: "Ґюнтер може перехоплювати або змінювати зашифровані та/або захешовані дані під час передачі, оскільки протокол погано розгорнуто або слабко налаштовано, або сертифікати недійсні, або сертифікати не є довіреними, або з'єднання може бути деградовано до слабшого або незашифрованого" - id: "CR8" value: "8" url: "https://cornucopia.owasp.org/cards/CR8" - desc: "Eoin can access stored business data (e.g. passwords, session identifiers, PII, cardholder data) because it is not securely encrypted or securely hashed" + desc: "Еойн може отримати доступ до збережених бізнес-даних (наприклад, паролів, ідентифікаторів сесій, персональних даних, даних платіжних карток), оскільки вони ненадійно зашифровані або захешовані" - id: "CR9" value: "9" url: "https://cornucopia.owasp.org/cards/CR9" - desc: "Andy can bypass cryptographic controls because random-number, GUID, or hashing functions are self-built, risky or weak" + desc: "Енді може обійти криптографічні засоби захисту, оскільки функції генерації випадкових чисел, GUID або хешування реалізовані самостійно, є ризикованими або слабкими" - id: "CRX" value: "10" url: "https://cornucopia.owasp.org/cards/CRX" - desc: "Susanna can break the cryptography in use because it is not strong enough for the degree of protection required, or it is not strong enough for the amount of effort the attacker is willing to make" + desc: "Сюзанна може зламати криптографію, що використовується, оскільки вона недостатньо надійна для необхідного ступеня захисту, або недостатньо надійна для обсягу зусиль, які зловмисник готовий докласти" - id: "CRJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/CRJ" - desc: "Justin can read credentials for accessing internal or external resources, services and others systems because they are stored in an unencrypted format, or saved in the source code" + desc: "Джастін може прочитати облікові дані для доступу до внутрішніх або зовнішніх ресурсів, сервісів та інших систем, оскільки вони зберігаються у незашифрованому форматі або збережені у вихідному коді" - id: "CRQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/CRQ" - desc: "Artim can access or predict the master cryptographic secrets" + desc: "Артім може отримати доступ або передбачити головні криптографічні секрети" - id: "CRK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/CRK" - desc: "Dan can influence or alter cryptography code/routines (encryption, hashing, digital signatures, random number and GUID generation) and can therefore bypass them" + desc: "Ден може впливати або змінювати код/компоненти криптографії (шифрування, хешування, цифрові підписи, генерація випадкових чисел та GUID) і тому може обійти їх" - id: "CRA" value: "A" url: "https://cornucopia.owasp.org/cards/CRA" - desc: "You have invented a new attack against Cryptography" - misc: "Read more about this topic in OWASP's free Cheat Sheets on Cryptographic Storage, and Transport Layer Protection" + desc: "Ви винайшли нову атаку проти Криптографії" + misc: "Дізнайтеся більше про цю тему в безкоштовних шпаргалках OWASP з криптографічного зберігання та захисту транспортного рівня" - id: "C" name: "CORNUCOPIA" @@ -363,86 +363,86 @@ suits: id: "C2" value: "2" url: "https://cornucopia.owasp.org/cards/C2" - desc: "Lee can bypass application controls because dangerous/risky programming language functions have been used instead of safer alternatives, or there are type conversion errors, or because the application is unreliable when an external resource is unavailable, or there are race conditions, or there are resource initialization, leak or allocation issues, or overflows can occur" + desc: "Лі може обійти засоби контролю застосунку, оскільки замість безпечніших функцій використовуються небезпечні/ризиковані аналоги, або існують помилки перетворення типів, або тому що застосунок ненадійний при недоступності зовнішнього ресурсу, або виникають стани гонки, або є проблеми з ініціалізацією, витоком або розподілом ресурсів, або може виникнути переповнення" - id: "C3" value: "3" url: "https://cornucopia.owasp.org/cards/C3" - desc: "Andrew can access source code, or decompile, or debug, or otherwise access business logic to understand how the application works and any secrets contained" + desc: "Ендрю може отримати доступ до вихідного коду, або декомпілювати, або налагодити, або іншим чином отримати доступ до бізнес-логіки, щоб зрозуміти, як працює застосунок та які секрети він містить" - id: "C4" value: "4" url: "https://cornucopia.owasp.org/cards/C4" - desc: "Keith can perform an action and it is not possible to attribute it to him" + desc: "Кіт може виконати дію, яку неможливо йому приписати" - id: "C5" value: "5" url: "https://cornucopia.owasp.org/cards/C5" - desc: "Larry can influence the trust other parties including users have in the application, or abuse that trust elsewhere (e.g. in another application)" + desc: "Ларрі може вплинути на довіру інших сторін, включаючи користувачів, до застосунку, або зловживати цією довірою деінде (наприклад, в іншому застосунку)" - id: "C6" value: "6" url: "https://cornucopia.owasp.org/cards/C6" - desc: "Aaron can bypass controls because error/exception handling is missing, or is implemented inconsistently or partially, or does not deny access by default (i.e. errors should terminate access/execution), or relies on handling by some other service or system" + desc: "Аарон може обійти засоби контролю, оскільки обробка помилок/виключень відсутня або реалізується непослідовно чи частково, або не закриває доступ за замовчуванням (тобто помилки мають припиняти доступ/виконання), або покладається на обробку якоюсь іншою службою або системою" - id: "C7" value: "7" url: "https://cornucopia.owasp.org/cards/C7" - desc: "Mwengu's actions cannot be investigated because there is not an adequate accurately time-stamped record of security events, or there is not a full audit trail, or these can be altered or deleted by Mwengu, or there is no centralized logging service" + desc: "Дії Мвенгу не можуть бути досліджені, оскільки події безпеки не записуються з достатньою точністю часової мітки, або не записується повний журнал аудиту, або Мвенгу може змінити чи видалити їх, або відсутня централізована служба журналювання" - id: "C8" value: "8" url: "https://cornucopia.owasp.org/cards/C8" - desc: "David can bypass the application to gain access to data because the network and host infrastructure, and supporting services/applications, have not been securely configured, the configuration rechecked periodically and security patches applied, or the data is stored locally, or the data is not physically protected" + desc: "Девід може обійти застосунок для отримання доступу до даних, оскільки мережева та хостова інфраструктура та підтримуючі сервіси/застосунки не були безпечно налаштовані, конфігурація не перевіряється періодично та патчі безпеки не застосовуються, або дані зберігаються локально, або дані не захищені фізично" - id: "C9" value: "9" url: "https://cornucopia.owasp.org/cards/C9" - desc: "Mike can misuse an application by using a valid feature too fast, or too frequently, or other way that is not intended, or consumes the application's resources, or causes race conditions, or over-utilizes a feature" + desc: "Майк може зловживати застосунком, використовуючи допустиму функцію надто швидко, або надто часто, або іншим чином, що не передбачається, або споживаючи ресурси застосунку, або спричиняючи стани гонки, або надмірно використовуючи функціонал" - id: "CX" value: "10" url: "https://cornucopia.owasp.org/cards/CX" - desc: "Spyros can circumvent the application's controls because code frameworks, libraries and components contain malicious code or vulnerabilities (e.g. in-house, commercial off the shelf, outsourced, open source, externally-located)" + desc: "Спірос може обійти засоби контролю застосунку, оскільки фреймворки, бібліотеки та компоненти (власні, куплені, аутсорсингові, відкриті, зовнішні) містять шкідливий код або вразливості" - id: "CJ" - value: "J" + value: "В" url: "https://cornucopia.owasp.org/cards/CJ" - desc: "Roman can exploit the application because it was insecurely compiled or deployed, or its configuration is not secure by default, or because security information was not documented, or passed on to operational teams, or the user is not warned and access blocked when the expected security features are unsupported or disabled" + desc: "Роман може експлуатувати застосунок, оскільки він був небезпечно скомпільований або розгорнутий, або його конфігурація не є безпечною за замовчуванням, або тому що інформація про безпеку не була задокументована або передана обслуговуючим командам, або користувач не отримує попереджень і доступ не блокується, коли очікувані функції безпеки не підтримуються або вимкнені" - id: "CQ" - value: "Q" + value: "Д" url: "https://cornucopia.owasp.org/cards/CQ" - desc: "Jim can undertake malicious, non-normal, actions without real-time detection and response by the application" + desc: "Джим може вчиняти шкідливі, аномальні дії без виявлення та реагування з боку застосунку в режимі реального часу" - id: "CK" - value: "K" + value: "К" url: "https://cornucopia.owasp.org/cards/CK" - desc: "Grant can utilize the application to deny service to some or all of its users" + desc: "Ґрант може використовувати застосунок, щоб відмовити в обслуговуванні деяким або всім його користувачам" - id: "CA" value: "A" url: "https://cornucopia.owasp.org/cards/CA" - desc: "You have invented a new attack of any type" - misc: "Read more about application security in OWASP's free Guides on Requirements, Development, Code Review and Testing, the Cheat Sheet series, and the Open Software Assurance Maturity Model" + desc: "Ви винайшли нову атаку будь-якого типу" + misc: "Дізнайтеся більше про безпеку застосунків у безкоштовних настановах OWASP з вимог, розробки, рецензування коду та тестування, серії шпаргалок та Open Software Assurance Maturity Model" - id: "WC" - name: "WILD CARD" + name: "ДЖОКЕР" cards: - id: "JOA" value: "A" url: "https://cornucopia.owasp.org/cards/JOA" card: "Joker" - desc: "Alice can utilize the application to attack users' systems and data" - misc: "Have you thought about becoming an individual OWASP member? All tools, guidance and local meetings are free for everyone, but individual membership helps support OWASP's work" + desc: "Аліса може використовувати застосунок для атаки на системи та дані користувачів" + misc: "Чи думали ви про те, щоб стати індивідуальним членом OWASP? Усі інструменти, настанови та місцеві зустрічі безкоштовні для всіх, але індивідуальне членство допомагає підтримати роботу OWASP" - id: "JOB" value: "B" url: "https://cornucopia.owasp.org/cards/JOB" card: "Joker" - desc: "Bob can influence, alter or affect the application so that it no longer complies with legal, regulatory, contractual or other organizational mandates" - misc: "Examine vulnerabilities and discover how they can be fixed using the free OWASP® Juice Shop, Security Shepherd, or using the online challenges in the free OWASP® Hacking-lab" + desc: "Боб може вплинути на застосунок, змінити або зачепити його так, що він більше не відповідатиме юридичним, регуляторним, договірним або іншим організаційним вимогам" + misc: "Вивчайте вразливості та дізнайтеся, як їх можна виправити, використовуючи безкоштовний OWASP® Juice Shop, Security Shepherd або онлайн-завдання безкоштовного OWASP® Hacking-lab" paragraphs: - id: "Common" @@ -450,922 +450,922 @@ paragraphs: sentences: - id: "NoCard" - text: "No Card" + text: "Немає Карти" - id: "Title" - text: "Website App Edition v3.0-EN" + text: "Website App Edition v3.0-UK" - id: "Title_full" - text: "OWASP® Cornucopia Website App Edition v3.0-EN" + text: "OWASP® Cornucopia Website App Edition v3.0-UK" - id: "T00005" - text: "Index" + text: "Зміст" - id: "T00005" - text: "Index" + text: "Зміст" - id: "T00010" - text: "OWASP® Cornucopia is a mechanism to assist software development teams identify security requirements in Agile, conventional and formal development processes." + text: "OWASP® Cornucopia — це механізм, що допомагає командам розробки програмного забезпечення визначати вимоги безпеки в Agile, звичайних та формальних процесах розробки." - id: "T00020" - text: "Author" + text: "Автор" - id: "T00030" - text: "Project Leaders" + text: "Керівники проекту" - id: "T00100" - text: "Acknowledgements" + text: "Подяки" - id: "T00110" - text: "Adam Shostack and the Microsoft SDL Team for the “Elevation of Privilege Threat Modelling Game”, published under a Creative Commons Attribution license, as the inspiration for Cornucopia and from which many ideas, especially the game theory, were copied." + text: "Адаму Шостаку та команді Microsoft SDL за «Elevation of Privilege Threat Modelling Game», опубліковану під ліцензією Creative Commons Attribution, як натхнення для Cornucopia, з якої було скопійовано багато ідей, особливо ігрову механіку." - id: "T00120" - text: "Keith Turpin and contributors to the OWASP® “Secure Coding Practices - Quick Reference Guide”, originally donated to OWASP by Boeing, which is used as the primary source of security requirements information to formulate the content of the cards." + text: "Кіту Терпіну та учасникам OWASP® «Secure Coding Practices - Quick Reference Guide», спочатку пожертвуваного OWASP компанією Boeing, який використовується як основне джерело інформації про вимоги безпеки для формулювання змісту карт." - id: "T00130" - text: "Contributors, supporters, sponsors and volunteers to the OWASP® ASVS, AppSensor, Developer Guide and Web Framework Security Matrix projects, Mitre's Common Attack Pattern Enumeration and Classification (CAPEC™), and SAFECode's “Practical Security Stories and Security Tasks for Agile Development Environments” which are all used in the cross-references provided." + text: "Учасникам, прихильникам, спонсорам та волонтерам проектів OWASP® ASVS, AppSensor, Developer Guide та Web Framework Security Matrix, Mitre Common Attack Pattern Enumeration and Classification (CAPEC™) та SAFECode «Practical Security Stories and Security Tasks for Agile Development Environments», які використовуються в перехресних посиланнях." - id: "T00140" - text: "Playgen for providing an illuminating afternoon seminar on task gamification, and tartanmaker.com for the online tool to help create the card back pattern." + text: "Playgen за надання змістовного семінару з гейміфікації завдань, та tartanmaker.com за онлайн-інструмент для створення малюнка на звороті карт." - id: "T00145" - text: "Current and past OWASP® Cornucopia project contributors and leaders, especially those involved most recently updating the cross-references, creating online versions, and writing scripts to dynamically generate Cornucopia's output files." + text: "Поточним та колишнім учасникам і лідерам проекту OWASP® Cornucopia, особливо тим, хто нещодавно оновлював перехресні посилання, створював онлайн-версії та писав скрипти для динамічного генерування вихідних файлів Cornucopia." - id: "T00150" - text: "Blackfoot (UK) Limited for creating and donating print-ready design files, Tom Brennan and the OWASP® Foundation for instigating the creation of an OWASP-branded box and leaflet, and Secure Delivery Ltd for developing and donating Copi, the platform to play Cornucopia and EoP online." + text: "Blackfoot (UK) Limited за створення та пожертву готових до друку файлів дизайну, Тому Бреннану та OWASP® Foundation за ініціювання створення коробки та листівки під брендом OWASP, а також Secure Delivery Ltd за розробку та пожертву Copi, платформи для гри в Cornucopia та EoP онлайн." - id: "T00161" - text: "(continued on page 20)" + text: "(продовження на стор. 20)" - id: "T00162" - text: "(continued from page 10)" + text: "(продовження зі стор. 10)" - id: "T00170" - text: "Colin Watson as author and co-project leader with Grant Ongers along with other OWASP volunteers who have helped in many ways." + text: "Колін Вотсон як автор і співкерівник проекту разом із Ґрантом Онгерсом та іншими волонтерами OWASP, які допомогли в багатьох відношеннях." - id: "T00180" - text: "OWASP® does not endorse or recommend commercial products or services © 2012-2025 OWASP® Foundation This document is licensed under the Creative Commons Attribution-ShareAlike 3.0 license" + text: "OWASP® не підтримує та не рекомендує комерційні продукти або послуги © 2012-2025 OWASP® Foundation Цей документ ліцензовано відповідно до ліцензії Creative Commons Attribution-ShareAlike 3.0" - id: "T00200" - text: "Introduction" + text: "Вступ" - id: "T00210" - text: "The idea behind Cornucopia is to help development teams, especially those using Agile methodologies, to identify application security requirements and develop security-based user stories." + text: "Ідея Cornucopia полягає в тому, щоб допомогти командам розробників, особливо тим, хто використовує методології Agile, визначати вимоги безпеки застосунків та розробляти засновані на безпеці користувацькі історії." - id: "T00220" - text: "Although the idea had been waiting for enough time to progress it, the final motivation came when SAFECode published its Practical Security Stories and Security Tasks for Agile Development Environments in July 2012." + text: "Хоча ідея достатньо довго чекала на реалізацію, остаточна мотивація з'явилася, коли SAFECode опублікувала Practical Security Stories and Security Tasks for Agile Development Environments у липні 2012 року." - id: "T00230" - text: "The Microsoft SDL team had already published its super Elevation of Privilege: The Threat Modeling Game (EoP) but that did not seem to address the most appropriate kind of issues that web application development teams mostly have to address." + text: "Команда Microsoft SDL вже опублікувала чудову гру Elevation of Privilege: The Threat Modeling Game (EoP), але вона, здавалося, не охоплює найактуальніших проблем, з якими переважно стикаються команди розробки веб-застосунків." - id: "T00240" - text: "EoP is a great concept and game strategy, and was published under a Creative Commons Attribution License." + text: "EoP — чудова концепція та ігрова стратегія, опублікована під ліцензією Creative Commons Attribution License." - id: "T00250" - text: "Cornucopia Website App Edition is based the concepts and game ideas in EoP, but those have been modified to be more relevant to the types of issues webapp website developers encounter." + text: "Cornucopia Website App Edition заснована на концепціях та ігрових ідеях EoP, але вони були змінені, щоб бути більш релевантними для типів проблем, з якими стикаються розробники веб-застосунків." - id: "T00260" - text: "It attempts to introduce threat-modelling ideas into development teams that use Agile methodologies, or are more focused on web application weaknesses than other types of software vulnerabilities, or are not familiar with STRIDE and DREAD." + text: "Вона намагається впровадити ідеї моделювання загроз у команди розробників, що використовують методологію Agile, або більше зосереджені на слабких місцях веб-застосунків, ніж на інших типах вразливостей програмного забезпечення, або не знайомі зі STRIDE та DREAD." - id: "T00270" - text: "Cornucopia Website App Edition is referenced as an information resource in the PCI Security Standard Council's Information Supplement PCI DSS E-commerce Guidelines, v2, January 2013." + text: "Cornucopia Website App Edition згадується як інформаційний ресурс у Додатку до Стандарту безпеки PCI PCI DSS E-commerce Guidelines, v2, січень 2013 року." - id: "T00300" - text: "The card deck (pack)" + text: "Колода карт (набір)" - id: "T00310" - text: "Instead of EoP's STRIDE suits (sets of cards with matching designs), Cornucopia suits are based on the structure of the OWASP® Secure Coding Practices - Quick Reference Guide (SCP), but with additional consideration of sections from the OWASP® Application Security Verification Standard, the Web Security Testing Guide (WSTG) and David Rook's Principles of Secure Development. " + text: "На відміну від мастей STRIDE в EoP (набори карт зі схожим дизайном), масті в Cornucopia засновані на структурі OWASP® Secure Coding Practices - Quick Reference Guide (SCP), але з додатковим урахуванням розділів з OWASP® Application Security Verification Standard, Web Security Testing Guide (WSTG) та Principles of Secure Development Девіда Рука. " - id: "T00320" - text: "These provided five suits, and a sixth called “Cornucopia” was created for everything else: " + text: "Це дало п'ять мастей, а шоста під назвою «Cornucopia» була створена для всього іншого: " - id: "T00330" - text: "Data Validation and Encoding (VE)" + text: "Перевірка та Кодування Даних (ПД)" - id: "T00340" - text: "Authentication (AT)" + text: "Автентифікація (АТ)" - id: "T00350" - text: "Session Management (SM)" + text: "Керування Сесіями (КС)" - id: "T00360" - text: "Authorization (AZ)" + text: "Авторизація (АЗ)" - id: "T00370" - text: "Cryptography (CR)" + text: "Криптографія (КР)" - id: "T00380" - text: "Cornucopia (C)" + text: "Корнукопія (C)" - id: "T00390" - text: "Similar to poker-playing cards, each suit contains 13 cards (Ace, 2-10, Jack, Queen and King) but, unlike EoP, there are also two Joker cards." + text: "Подібно до покерних карт, кожна масть містить 13 карт (Туз, 2-10, Валет, Дама та Король), але, на відміну від EoP, є також дві карти Джокер." - id: "T00400" - text: "The content was mainly drawn from the SCP." + text: "Зміст в основному взятий з SCP." - id: "T00500" - text: "Mappings" + text: "Відповідності" - id: "T00510" - text: "The other driver for Cornucopia is to link the attacks with requirements and verification techniques." + text: "Інша мета Cornucopia — пов'язати атаки з вимогами та техніками перевірки." - id: "T00520" - text: "An initial aim had been to reference CWE™ weakness IDs, but these proved too numerous, and instead it was decided to map each card to CAPEC™ software attack pattern IDs which themselves are mapped to CWEs, so the desired result is achieved." + text: "Початковою метою було посилання на ідентифікатори слабкостей CWE, але їх виявилося надто багато, і натомість було вирішено зіставити кожну карту з ідентифікаторами шаблонів атак CAPEC, які самі по собі зіставляються з CWE, що дозволяє досягти бажаного результату." - id: "T00530" - text: "Each card is also mapped to the 36 primary security stories in the SAFECode document, as well as to the OWASP® Developer Guide Web Application Checklist v4.1.9, ASVS v5.0 and AppSensor (application attack detection and response) to help teams create their own security-related stories for use in Agile processes." + text: "Кожна картка також зіставлена з 36 основними історіями безпеки в документі SAFECode, а також з переліком вимог OWASP® Developer Guide Web Application Checklist v4.1.9, ASVS v5.0 та AppSensor (виявлення атак на застосунки та реагування на них), щоб допомогти командам створювати власні пов'язані з безпекою історії для використання в гнучких процесах." - id: "T00600" - text: "Game strategy" + text: "Ігрова стратегія" - id: "T00610" - text: "Apart from the content differences, the game rules are virtually identical to those for EoP." + text: "Крім відмінностей у змісті, правила гри практично ідентичні правилам EoP." - id: "T00700" - text: "Printing the cards" + text: "Друк карт" - id: "T00710" - text: "Check the Cornucopia project page for how to obtain pre-printed decks on glossy card." + text: "Перевірте сторінку проекту Cornucopia, щоб дізнатися, як отримати попередньо надруковані колоди на глянцевому картоні." - id: "T00720" - text: "The cards can be printed from this document in black & white but are more effective in color." + text: "Карти можна роздрукувати з цього документа в чорно-білому, але краще в кольоровому варіанті." - id: "T00730" - text: "The cards in the later pages of this document have been laid out to fit on one type of pre-scored business A4 card sheets. " + text: "Карти на наступних сторінках цього документа розміщені так, щоб вміщатися на одному типі попередньо насіченого аркуша A4 для візитних карток. " - id: "T00740" - text: "This appeared to be the quickest way to initially provide to create playing cards quickly. " + text: "Це, мабуть, найшвидший спосіб виготовлення ігрових карт. " - id: "T00750" - text: "Avery product codes C32015 and C32030 have been tested successfully, but any 10 up 85mm x 54 mm cards on A4 paper should work with a little adjustment." + text: "Успішно протестовано продукти Avery з кодами C32015 та C32030, але будь-які 10 карток 85 мм × 54 мм на аркуші A4 повинні підійти з невеликим коригуванням." - id: "T00760" - text: "Other stationery suppliers like Ryman and Sigel produce similar sheets" + text: "Інші постачальники канцелярії, такі як Ryman та Sigel, виробляють подібні аркуші" - id: "T00770" - text: "These card sheets are not inexpensive, so care should be taken in deciding what to print and using what media and printer type." + text: "Такі аркуші для карток недешеві, тому слід ретельно підходити до вибору того, що друкувати, на якому носії та яким принтером." - id: "T00780" - text: "The cards can of course just be printed on any size of paper or card and then cut-up manually, or a commercial printer would be able to print larger volumes and cut the cards to size. " + text: "Звичайно, карти можна просто роздрукувати на будь-якому розмірі паперу або картону і потім вирізати вручну, або комерційний друкар може надрукувати більший обсяг та нарізати карти по розміру. " - id: "T00790" - text: "The cut lines are shown on the penultimate page of this document, but Avery also produce a landscape A4 template (A-0017-01_L.doc) that can be used as a guide." + text: "Лінії розрізу показані на передостанній сторінці цього документа, але Avery також виробляє горизонтальний шаблон A4 (A-0017-01_L.doc), який можна використовувати як орієнтир." - id: "T00800" - text: "Printing and cutting up can take an hour or so, and using a faster printer helps." + text: "Друк та нарізання можуть зайняти близько години, а використання швидшого принтера допоможе." - id: "T00810" - text: "Try to print add higher quality to increase legibility." + text: "Намагайтеся друкувати у більш високій якості для кращої читабельності." - id: "T00820" - text: "An optional card back design (in OWASP® tartan) has been provided as the last page of this document." + text: "Необов'язковий дизайн звороту карт (у тартані OWASP®) наведено на останній сторінці цього документа." - id: "T00830" - text: "There is no special alignment needed. " + text: "Особливого вирівнювання не потрібно. " - id: "T00840" - text: "Dual-sided printing needs special care taken. " + text: "Двосторонній друк потребує особливої обережності. " - id: "T00850" - text: "You could customize the card faces or the backs for your own organization's preferences." + text: "Ви можете налаштувати лицьову сторону карт або їх звороти відповідно до уподобань вашої організації." - id: "T00900" - text: "Customization" + text: "Налаштування" - id: "T00910" - text: "After you have used Cornucopia a few times, you may feel that some cards are less relevant to your applications, or the threats are different for your organization." + text: "Після кількох ігор у Cornucopia ви можете відчути, що деякі карти менш релевантні для ваших застосунків, або загрози різні для вашої організації." - id: "T00920" - text: "Edit this document yourself to make the cards more suitable for your teams, or create new decks completely." + text: "Відредагуйте цей документ самостійно, щоб зробити карти більш відповідними для ваших команд, або створіть нові колоди повністю." - id: "T01000" - text: "Provide feedback" + text: "Залиште відгук" - id: "T01010" - text: "If you have ideas or feedback on the use of OWASP® Cornucopia, please share them." + text: "Якщо у вас є ідеї або відгуки щодо використання OWASP® Cornucopia, будь ласка, поділіться ними." - id: "T01020" - text: "Even better if you create alternative versions of the cards, or produce professional print-ready versions, please share that with the volunteers who created this edition and with the wider application development and application security community." + text: "Ще краще, якщо ви створите альтернативні версії карт або виготовите професійні готові до друку версії, будь ласка, поділіться ними з волонтерами, які створили це видання, та з ширшою спільнотою розробки застосунків та безпеки застосунків." - id: "T01030" - text: "The best place to use to discuss or contribute is the list/group for the OWASP project:" + text: "Найкраще місце для обговорення або участі — це список/група проекту OWASP:" - id: "T01040" - text: "List/Group" + text: "Список/Група" - id: "T01050" - text: "Project home page" + text: "Домашня сторінка проекту" - id: "T01060" - text: "All OWASP documents and tools are free to download and use." + text: "Усі документи та інструменти OWASP безкоштовні для завантаження та використання." - id: "T01070" - text: "OWASP® Cornucopia is licensed under the Creative Commons Attribution-ShareAlike 3.0 license." + text: "OWASP® Cornucopia ліцензовано за ліцензією Creative Commons Attribution-ShareAlike 3.0." - id: "T01100" - text: "Instructions" + text: "Інструкції" - id: "T01110" - text: "The text on each card describes an attack, but the attacker is given a name, which are unique across all the cards." + text: "Текст на кожній карті описує атаку, але зловмиснику дається ім'я, унікальне для всіх карт." - id: "T01120" - text: "The name can represent a computer system (e.g. the database, the file system, another application, a related service, a botnet), an individual person (e.g. a citizen, a customer, a client, an employee, a criminal, a spy), or even a group of people (e.g. a competitive organization, activists with a common cause)." + text: "Ім'я може представляти комп'ютерну систему (наприклад, базу даних, файлову систему, інший застосунок, пов'язаний сервіс, ботнет), окрему особу (наприклад, громадянина, клієнта, замовника, співробітника, злочинця, шпигуна) або навіть групу людей (наприклад, конкуруючу організацію, активістів зі спільною метою)." - id: "T01130" - text: "The attacker might be remote in some other device/location, or local/internal with access to the same device, host or network as the application is running on." + text: "Зловмисник може бути віддаленим на іншому пристрої/місці, або локальним/внутрішнім з доступом до того самого пристрою, хосту або мережі, на якій працює застосунок." - id: "T01140" - text: "The attacker is always named at the start of each description" + text: "Зловмисник завжди названий на початку кожного опису" - id: "T01150" - text: "An example is:" + text: "Наприклад:" - id: "T01160" - text: "William has control over the generation of session identifiers." + text: "Вільям контролює генерацію ідентифікаторів сесій." - id: "T01170" - text: "This means the attacker (William) can create new session identifiers that the application accepts." + text: "Це означає, що зловмисник (Вільям) може створювати нові ідентифікатори сесій, які застосунок приймає." - id: "T01180" - text: "The attacks were primarily drawn from the security requirements listed in the SCP, v2 but then supplemented with verification objectives from the OWASP® “Application Security Verification Standard”, the security focused stories in SAFECode's “Practical Security Stories and Security Tasks for Agile Development Environments”, and finally a review of the cards in EOP. in OWASP Cornucopia Website Edition v3.0 the SCP mapping was replaced by the OWASP Developer Guide Web Application Checklist" + text: "Атаки були в першу чергу взяті з вимог безпеки, перелічених у SCP v2, але потім доповнені цілями перевірки з «Стандарту перевірки безпеки застосунків» OWASP®, зосередженими на безпеці історіями з «Практичних историй безпеки та завдань безпеки для середовищ гнучкої розробки» SAFECode, і, нарешті, оглядом карт в EoP. У OWASP Cornucopia Website Edition v3.0 зіставлення SCP було замінено переліком вимог з Настанови розробника OWASP" - id: "T01190" - text: "Further guidance about each card is available on the OWASP Website at " + text: "Детальніша інформація про кожну карту доступна на веб-сайті OWASP за адресою " - id: "T01200" - text: "Lookups between the attacks and five resources are provided on most cards:" + text: "Посилання між атаками та п'ятьма ресурсами наведені на більшості карт:" - id: "T01210" - text: "Requirements in “OWASP DevGuide - Web Checklist”, v4.1.9, OWASP®, July 2025 " + text: "Вимоги «OWASP DevGuide - Web Checklist», v4.1.9, OWASP®, липень 2025 " - id: "T01220" - text: "Verification IDs in OWASP® “Application Security Verification Standard”" + text: "Ідентифікатори перевірки в OWASP® «Application Security Verification Standard»" - id: "T01230" - text: "Attack detection points IDs in “AppSensor”, OWASP®, August 2010-2015" + text: "Ідентифікатори точок виявлення атак в «AppSensor», OWASP®, серпень 2010-2015" - id: "T01240" - text: "IDs in “Common Attack Pattern Enumeration and Classification (CAPEC™)”, v3.9, Mitre Corporation, November 2015" + text: "Ідентифікатори в «Common Attack Pattern Enumeration and Classification (CAPEC™)», v3.9, Mitre Corporation, листопад 2015" - id: "T01250" - text: "Security-focused stories in 'Practical Security Stories and Security Tasks for Agile Development Environments', SAFECode, July 2012" + text: "Зосереджені на безпеці історії з 'Practical Security Stories and Security Tasks for Agile Development Environments', SAFECode, липень 2012" - id: "T01260" - text: "A look-up means the attack is included within the referenced item, but does not necessarily encompass the whole of its intent. " + text: "Посилання означає, що атака включена в зазначений матеріал, але не обов'язково охоплює весь його зміст. " - id: "T01270" - text: "For structured data like CAPEC, the most specific reference is provided but sometimes a cross-reference is provided that also has more specific (child) examples." + text: "Для структурованих даних, таких як CAPEC, наводиться найбільш конкретне посилання, але іноді надається перехресне посилання, яке також має більш конкретні (дочірні) приклади." - id: "T01280" - text: "There are no lookups on the six Aces and two Jokers. " + text: "На шести Тузах та двох Джокерах посилань немає. " - id: "T01290" - text: "Instead these cards have some general tips in italicized text." + text: "Натомість на цих картах є загальні поради, написані курсивом." - id: "T01300" - text: "It is possible to play Cornucopia in many different ways. " + text: "У Cornucopia можна грати багатьма різними способами. " - id: "T01301" - text: "For how to play, read pages: 11-19." + text: "Як грати, читайте на сторінках: 11-19." - id: "T01310" - text: "Here is one way, demonstrated online in a video at " + text: "Ось один із способів, продемонстрований онлайн у відео за адресою " - id: "T01311" - text: " which uses the new (May 2015) score/record sheet at " + text: " в якому використовується новий (травень 2015) бланк рахунку за адресою " - id: "T01400" - text: "Preparations" + text: "Підготовка" - id: "T01410" - text: "Obtain a deck, or print your own deck of Cornucopia cards (see page 2 of this document) and separate/cut out the cards" + text: "Отримайте колоду або роздрукуйте та розріжте власну колоду карт Cornucopia (дивіться сторінку 2 цього документа)" - id: "T01411" - text: "Use the cards in this pack" + text: "Використовуйте карти з цього набору" - id: "T01420" - text: "Identify an application or application process to review; this might be a concept, design or an actual implementation" + text: "Визначте застосунок або процес застосунку для огляду; це може бути концепція, проект або реальна реалізація" - id: "T01430" - text: "Create a data flow diagram, user stories, or other artefacts to help the review" + text: "Створіть діаграму потоків даних, користувацькі історії або інші артефакти для допомоги в огляді" - id: "T01431" - text: "This will help answer the question: “What are we working on?”" + text: "Це допоможе відповісти на питання: «Над чим ми працюємо?»" - id: "T01440" - text: "Identify and invite a group of 3-6 architects, developers, testers and other business stakeholders together and sit around a table (try to include someone fairly familiar with application security)" + text: "Визначте та запросіть групу з 3-6 архітекторів, розробників, тестувальників та інших зацікавлених сторін бізнесу та сядьте за стіл (намагайтеся включити когось, хто досить добре знайомий з безпекою застосунків)" - id: "T01450" - text: "Have some prizes to hand (gold stars, chocolate, pizza, beer or flowers depending upon your office culture)" + text: "Підготуйте якісь призи (золоті зірки, шоколад, піцу, пиво або квіти залежно від культури вашого офісу)" - id: "T01500" - text: "Play" + text: "Гра" - id: "T01510" - text: "One suit - Cornucopia - acts as trumps." + text: "Одна масть — Cornucopia — є козирем." - id: "T01520" - text: "Aces are high (i.e. they beat Kings)." + text: "Тузи старші (тобто перевершують Королів)." - id: "T01530" - text: "It helps if there is a non-player to document the issues and scores." + text: "Корисно, якщо є незалежний спостерігач для документування проблем та рахунку." - id: "T01540" - text: "Remove the Jokers and a few low-score (2, 3, 4) cards from Cornucopia suit to ensure each player will have the same number of cards" + text: "Приберіть Джокерів та кілька карт з низьким рахунком (2, 3, 4) з масті Cornucopia, щоб кожен гравець мав однакову кількість карт" - id: "T01550" - text: "Shuffle the deck and deal all the cards" + text: "Перемішайте колоду та роздайте всі карти" - id: "T01560" - text: "To begin, choose a player randomly who will play the first card - they can play any card from their hand except from the trump suit - Cornucopia" + text: "Для початку оберіть гравця випадковим чином, який зіграє першу карту — він може зіграти будь-яку карту зі своєї руки, крім козирної масті — Cornucopia" - id: "T01570" - text: "To play a card, each player must read it out aloud, and explain (see the online Wiki Deck for tips) how the threat could apply (the player gets a point for attacks that might work which the group thinks is an actionable bug) - do not try to think of mitigations at this stage, and do not exclude a threat just because of a belief that it is already mitigated - someone note the card and record the issues raised" + text: "Щоб зіграти карту, кожен гравець повинен прочитати її вголос та пояснити (дивіться онлайн Wiki Deck для підказок), як загроза може застосовуватися (гравець отримує бал за атаки, які, на думку групи, можуть спрацювати та є дієвою помилкою) — не намагайтеся думати про пом'якшення на цьому етапі, і не виключайте загрозу лише через переконання, що вона вже пом'якшена — хтось нотує карту та фіксує порушені проблеми" - id: "T01571" - text: "If a player gets stuck, ask them to scan the QR code on the card to access the online card page and read the section called: “What can go wrong?”" + text: "Якщо гравець застряг, попросіть його відсканувати QR-код на карті, щоб отримати доступ до онлайн-сторінки карти та прочитати розділ під назвою: «Що може піти не так?»" - id: "T01580" - text: "Play clockwise, each person must play a card in the same way; if you have any card of the matching lead suit you must play one of those, otherwise they can play a card from any other suit. " + text: "Грайте за годинниковою стрілкою, кожна особа повинна зіграти карту таким самим чином; якщо у вас є будь-яка карта відповідної провідної масті, ви повинні зіграти одну з них, інакше можна зіграти карту будь-якої іншої масті. " - id: "T01590" - text: "Only a higher card of the same suit, or the highest card in the trump suit Cornucopia, wins the hand." + text: "Тільки вища карта тієї самої масті або найвища карта козирної масті Cornucopia виграє руку." - id: "T01600" - text: "The person who wins the round, leads the next round (i.e. they play first), and thus defines the next lead suit" + text: "Той, хто виграє раунд, починає наступний (тобто грає першим), і таким чином визначає наступну провідну масть" - id: "T01610" - text: "Repeat until all the cards are played" + text: "Повторюйте, поки не закінчаться всі карти" - id: "T01700" - text: "Scoring" + text: "Підрахунок очок" - id: "T01710" - text: "The objective is to identify applicable threats, and win hands (rounds):" + text: "Мета — визначити застосовні загрози та виграти руки (раунди):" - id: "T01720" - text: "Score +1 for each card you can identify as a valid threat to the application under consideration" + text: "Додайте +1 за кожну карту, яку можна визначити як реальну загрозу для розглянутого застосунку" - id: "T01730" - text: "Score +1 if you win a round" + text: "Додайте +1 за виграний раунд" - id: "T01740" - text: "Once all cards have been played, whoever has the most points wins" + text: "Після того, як всі карти зіграні, перемагає той, хто набрав найбільше очок" - id: "T01800" - text: "Closure" + text: "Завершення гри" - id: "T01810" - text: "Review all the applicable threats and the matching security requirements" + text: "Перегляньте всі застосовні загрози та відповідні вимоги безпеки" - id: "T01811" - text: "Use the QR codes on the cards to access the online card page and read the section called: “What are we going to do about it?”" + text: "Використовуйте QR-коди на картах, щоб отримати доступ до онлайн-сторінки карти та прочитати розділ під назвою: «Що ми збираємося з цим зробити?»" - id: "T01820" - text: "Create user stories, specifications and test cases as required for your development methodology." + text: "Створіть користувацькі історії, специфікації та тестові кейси відповідно до вашої методології розробки." - id: "T01900" - text: "Alternative game rules" + text: "Альтернативні правила гри" - id: "T01910" - text: "If you are new to the game, remove the Aces and two Joker cards to begin with." + text: "Якщо ви нові в грі, спочатку приберіть Тузів та дві карти Джокер." - id: "T01920" - text: "Add the Joker cards back in once people become more familiar with the process." + text: "Поверніть карти Джокер, коли люди краще ознайомляться з процесом." - id: "T01930" - text: "Apart from the “trumps card game” rules described above which are very similar to the EoP, the deck can also be played as the “twenty-one card game” (also known as “pontoon” or “blackjack”) which normally reduces the number of cards played in each round." + text: "Крім правил «гри з козирями», описаних вище, які дуже схожі на EoP, у колоду також можна грати за правилами «гри двадцять одне» (також відомої як «понтун» або «блекджек»), які зазвичай зменшують кількість карт, зіграних у кожному раунді." - id: "T01940" - text: "Practice on an imaginary application, or even a future planned application, rather than trying to find fault with existing applications until the participants are happy with the usefulness of the game." + text: "Практикуйтеся на уявному застосунку або навіть на майбутньому запланованому застосунку, а не намагайтеся знайти вади в існуючих застосунках, поки учасники не будуть задоволені корисністю гри." - id: "T01950" - text: "Consider just playing with one suit to make a shorter session - but try to cover all the suits for every project. " + text: "Розгляньте гру лише однією мастю, щоб зробити сесію коротшою — але намагайтеся охопити всі масті для кожного проекту. " - id: "T01960" - text: "Or even better just play one hand with some pre-selected cards, and score only on the ability to identify security requirements. " + text: "Або ще краще просто зіграйте одну руку з попередньо відібраними картами та рахуйте лише здатність визначати вимоги безпеки. " - id: "T01970" - text: "Perhaps have one game of each suit each day for a week or so, if the participants cannot spare long enough for a full deck." + text: "Можливо, зіграйте по одній грі кожної масті щодня протягом тижня або близько того, якщо учасники не можуть виділити достатньо часу для повної колоди." - id: "T01980" - text: "Some teams have preferred to play a full hand of cards, and then discuss what is on the cards after each round (instead of after each person plays a card)." + text: "Деякі команди воліють зіграти повну руку карт, а потім обговорити те, що на картах, після кожного раунду (замість після того, як кожна особа зіграє карту)." - id: "T01990" - text: "Another suggestion is that if a player fails to identify the card as relevant, allow other players to suggest ideas, and potentially let them gain the point for the card. " + text: "Ще одна пропозиція: якщо гравець не може визначити карту як релевантну, дозвольте іншим гравцям пропонувати ідеї та потенційно дозвольте їм отримати бал за цю карту. " - id: "T02000" - text: "Consider allowing extra points for especially good contributions." + text: "Розгляньте можливість нарахування додаткових балів за особливо хороший внесок." - id: "T02010" - text: "You can even play by yourself. " + text: "Ви навіть можете грати самостійно. " - id: "T02020" - text: "Just use the cards to act as thought-provokers. " + text: "Просто використовуйте карти як генератори ідей. " - id: "T02030" - text: "Involving more people will be beneficial though." + text: "Хоча залучення більшої кількості людей буде більш корисним." - id: "T02040" - text: "In Microsoft's EoP guidance, they recommend cheating as a good game strategy." + text: "У настановах Microsoft EoP вони рекомендують шахрайство як хорошу ігрову стратегію." - id: "T02100" - text: "Development framework-specific modified card decks" + text: "Модифіковані колоди карт для конкретних фреймворків розробки" - id: "T02110" - text: "There can be built in security controls in some commonly used languages and frameworks for web and mobile application development." + text: "У деяких широко використовуваних мовах та фреймворках для розробки веб та мобільних застосунків можуть бути вбудовані засоби безпеки." - id: "T02120" - text: "With certain provisos it is useful to consider how using these controls can simplify the identification of additional requirements – provided of course the controls are included, enabled and configured correctly." + text: "За певних умов корисно розглянути, як використання цих засобів може спростити визначення додаткових вимог — за умови, звичайно, що засоби включені, увімкнені та правильно налаштовані." - id: "T02130" - text: "Consider removing cards from the decks if you are confident they are addressed by the way you are using the language/framework." + text: "Розгляньте можливість вилучення карт з колоди, якщо ви впевнені, що вони охоплені способом використання мови/фреймворку." - id: "T02140" - text: "Items in parentheses are “maybes”." + text: "Елементи в дужках є «можливими»." - id: "T02200" - text: "Internal coding standards and libraries" + text: "Внутрішні стандарти кодування та бібліотеки" - id: "T02210" - text: "Add your own list of excluded cards based on your organisation's coding standards (provided they are confirmed by appropriate verification steps in the development lifecycle)." + text: "Додайте власний список виключених карт на основі стандартів кодування вашої організації (за умови, що вони підтверджені відповідними кроками перевірки в циклі розробки)." - id: "T02220" - text: "Your coding standards and libraries" + text: "Ваші стандарти кодування та бібліотеки" - id: "T02230" - text: "Data Validation and Encoding" + text: "Перевірка та Кодування Даних" - id: "T02240" - text: "[your list]" + text: "[ваш список]" - id: "T02250" - text: "Authentication" + text: "Автентифікація" - id: "T02260" - text: "[your list]" + text: "[ваш список]" - id: "T02270" - text: "Session Management" + text: "Керування Сесіями" - id: "T02280" - text: "[your list]" + text: "[ваш список]" - id: "T02290" - text: "Authorization" + text: "Авторизація" - id: "T02300" - text: "[your list]" + text: "[ваш список]" - id: "T02310" - text: "Cryptography" + text: "Криптографія" - id: "T02320" - text: "[your list]" + text: "[ваш список]" - id: "T02330" text: "Cornucopia" - id: "T02340" - text: "[your list]" + text: "[ваш список]" - id: "T02400" - text: "Compliance requirement decks" + text: "Колоди відповідності вимогам" - id: "T02410" - text: "Create a smaller deck by only including cards for a particular compliance requirement." + text: "Створіть меншу колоду, включивши лише карти для конкретної вимоги відповідності." - id: "T02420" - text: "Compliance requirement" + text: "Вимога відповідності" - id: "T02430" - text: "Data validation and Encoding" + text: "Перевірка та Кодування Даних" - id: "T02440" - text: "[compliance list]" + text: "[список відповідності]" - id: "T02450" - text: "Authentication" + text: "Автентифікація" - id: "T02460" - text: "[compliance list]" + text: "[список відповідності]" - id: "T02470" - text: "Session Management" + text: "Керування Сесіями" - id: "T02480" - text: "[compliance list]" + text: "[список відповідності]" - id: "T02490" - text: "Authorization" + text: "Авторизація" - id: "T02500" - text: "[compliance list]" + text: "[список відповідності]" - id: "T02510" - text: "Cryptography" + text: "Криптографія" - id: "T02520" - text: "[compliance list]" + text: "[список відповідності]" - id: "T02530" text: "Cornucopia" - id: "T02540" - text: "[compliance list]" + text: "[список відповідності]" - id: "T02600" - text: "Frequently asked questions" + text: "Поширені запитання" - id: "T02610" - text: "1. Can I copy or edit the game?" + text: "1. Чи можна копіювати або редагувати гру?" - id: "T02620" - text: "Yes of course." + text: "Так, звичайно." - id: "T02630" - text: "All OWASP materials are free to do with as you like provided you comply with the Creative Commons Attribution-ShareAlike 3.0 license. " + text: "Усі матеріали OWASP безкоштовні для використання за умови дотримання ліцензії Creative Commons Attribution-ShareAlike 3.0. " - id: "T02640" - text: "Perhaps if you create a new version, you might donate it to the OWASP® Cornucopia Project?" + text: "Можливо, якщо ви створите нову версію, ви могли б пожертвувати її проекту OWASP® Cornucopia?" - id: "T02650" - text: "2. How can I get involved?" + text: "2. Як я можу взяти участь?" - id: "T02660" - text: "Please send ideas or offers of help to the project's mailing list." + text: "Будь ласка, надсилайте ідеї або пропозиції допомоги до списку розсилки проекту." - id: "T02670" - text: "3. How were the attackers' names chosen?" + text: "3. Як були обрані імена зловмисників?" - id: "T02680" - text: "EoP begins every description with words like 'An attacker can...'. " + text: "EoP починає кожен опис зі слів на кшталт «Зловмисник може...». " - id: "T02690" - text: "These have to be phrased as an attack but I was not keen on the anonymous terminology, wanting something more engaging, and therefore used personal names. " + text: "Вони мають бути сформульовані як атака, але мені не подобалася анонімна термінологія — я хотів чогось більш захоплюючого, тому використовував особисті імена. " - id: "T02700" - text: "These can be thought of as external or internal people or aliases for computer systems. But instead of just random names, I thought how they might reflect the OWASP community aspect. " + text: "Їх можна уявляти як зовнішніх або внутрішніх людей або псевдоніми для комп'ютерних систем. Але замість просто випадкових імен я подумав, як вони можуть відображати аспект спільноти OWASP. " - id: "T02710" - text: "Therefore, apart from 'Alice and Bob' I use the given (first) names of current and recent OWASP employees and Board members (assigned in no order), and then randomly selected the remaining 50 or so names from the current list of paying individual OWASP members. " + text: "Тому, крім «Аліси та Боба», я використовую особисті (власні) імена поточних та недавніх співробітників OWASP і членів ради директорів (призначених у довільному порядку), а потім випадковим чином відібрав решту 50 або близько того імен із поточного списку платних індивідуальних членів OWASP. " - id: "T02720" - text: "No name was used more than once, and where people had provided two personal names, I dropped one part to try to ensure no-one can be easily identified. " + text: "Жодне ім'я не використовувалося більше одного разу, а де люди мали два особисті імені, я відкидав одну частину, щоб ніхто не міг бути легко ідентифікований. " - id: "T02730" - text: "Names were not deliberately allocated to any particular attack, defence or requirement. The cultural and gender mix simply reflects theses sources of names, and is not meant to be world-representative." + text: "Імена не були навмисно призначені до будь-якої конкретної атаки, захисту або вимоги. Культурна та гендерна суміш просто відображає ці джерела імен і не призначена бути репрезентацією всього світу." - id: "T02740" - text: "In v1.20, the name on VE-10 changed to reflect the project's new co-leader - this card is also the only one with two names in the attack." + text: "У v1.20 ім'я на VE-10 змінилося, щоб відобразити нового співкерівника проекту — ця карта також є єдиною з двома іменами в описі атаки." - id: "T02750" - text: "4. Why aren't there any images on the card faces?" + text: "4. Чому на лицьових сторонах карт немає зображень?" - id: "T02760" - text: "There is quite a lot of text on the cards, and the cross-referencing takes up space too." + text: "На картах досить багато тексту, і перехресні посилання також займають місце." - id: "T02770" - text: "But it would be great to have additional design elements included." + text: "Але було б чудово мати додаткові елементи дизайну." - id: "T02790" - text: "5. Are the attacks ranked by the number on the card?" + text: "5. Чи ранжуються атаки за номером на карті?" - id: "T02800" - text: "Only approximately." + text: "Лише приблизно." - id: "T02810" - text: "The risk will be application and organisation dependent, due to varying security and compliance requirements, so your own severity rating may place the cards in some other order than the numbers on the cards." + text: "Ризик залежатиме від застосунку та організації через різні вимоги безпеки та відповідності, тому ваша власна оцінка серйозності може розмістити карти в іншому порядку, ніж числа на картах." - id: "T02820" - text: "6. How long does it take to play a round of cards using the full deck?" + text: "6. Скільки часу займає гра в раунд карт з повною колодою?" - id: "T02830" - text: "This depends upon the scope of the application, amount of discussion and how familiar the players are with application security concepts." + text: "Це залежить від обсягу застосунку, кількості обговорень та того, наскільки гравці знайомі з концепціями безпеки застосунків." - id: "T02840" - text: "But perhaps allow 1.5 to 2.0 hours for 4-6 people." + text: "Але, можливо, передбачте від 1,5 до 2,0 годин для 4-6 осіб." - id: "T02850" - text: "7. What sort of people should play the game?" + text: "7. Які люди повинні грати в гру?" - id: "T02860" - text: "Always try to have a mix of roles who can contribute alternative perspectives." + text: "Завжди намагайтеся мати суміш ролей, які можуть вносити альтернативні перспективи." - id: "T02870" - text: "But include someone who has a reasonable knowledge of application vulnerability terminology. " + text: "Але включіть когось, хто має достатні знання термінології вразливостей застосунків. " - id: "T02880" - text: "Otherwise try to include a mix of architects, developers, testers and a relevant project manager or business owner." + text: "В іншому випадку намагайтеся включити суміш архітекторів, розробників, тестувальників та відповідного менеджера проекту або власника бізнесу." - id: "T02890" - text: "8. Who should take notes and record scores?" + text: "8. Хто повинен робити нотатки та записувати рахунок?" - id: "T02900" - text: "It is better if that someone else, not playing the game, takes notes about the requirements identified and issues discussed." + text: "Краще, якщо хтось інший, хто не грає у гру, робить нотатки про виявлені вимоги та обговорені проблеми." - id: "T02910" - text: "This could be used as training for a more junior developer, or performed by the project manager." + text: "Це може бути використано як навчання для молодшого розробника або виконано менеджером проекту." - id: "T02920" - text: "Some organisations have made a recording to review afterwards when the requirements are written up more formally." + text: "Деякі організації робили запис для перегляду пізніше, коли вимоги написані більш формально." - id: "T02930" - text: "9. Should we always use the full deck of cards?" + text: "9. Чи завжди слід використовувати повну колоду карт?" - id: "T02940" - text: "No. " + text: "Ні. " - id: "T02950" - text: "A smaller deck is quicker to play. " + text: "Менша колода грається швидше. " - id: "T02960" - text: "Start your first game with only enough cards for two or three rounds. " + text: "Розпочніть свою першу гру лише з достатньою кількістю карт для двох або трьох раундів. " - id: "T02970" - text: "Always consider removing cards that are not appropriate at all of the target application or function being reviewed. " + text: "Завжди розглядайте можливість вилучення карт, які взагалі не підходять для цільового застосунку або функції, що розглядається. " - id: "T02980" - text: "For the first few times people play the game it is also usually better to remove the Aces and the two Jokers." + text: "Для перших кількох ігор зазвичай краще також вилучити Тузів та двох Джокерів." - id: "T02990" - text: "It is also usual to play the game without any trumps suit until people are more familiar with the idea." + text: "Також зазвичай краще грати без козирної масті, поки люди не ознайомляться більш детально з ідеєю." - id: "T03000" - text: "10. What should players do when they have an Ace card that says “invented a new X attack”?" + text: "10. Що повинні робити гравці, коли у них є карта Туз, на якій написано «винайшов нову атаку X»?" - id: "T03010" - text: "The player can make up any attack they think is valid, but must match the suit of the card (e.g. Data Validation and Encoding)." + text: "Гравець може вигадати будь-яку атаку, яку вважає дійсною, але вона повинна відповідати масті карти (наприклад, Перевірка та Кодування Даних)." - id: "T03020" - text: "With players new to the game, it can be better to remove these to begin with (see also FAQ 9)." + text: "З гравцями, що вперше грають у гру, можливо краще спочатку вилучити їх (дивіться також FAQ 9)." - id: "T03060" - text: "11. My company wants to print its own version of OWASP® Cornucopia - what license do we need to refer to?" + text: "11. Моя компанія хоче надрукувати власну версію OWASP® Cornucopia — на яку ліцензію нам потрібно посилатися?" - id: "T03070" - text: "Please refer to the full answer to this question on the project's web pages at" + text: "Будь ласка, зверніться до повної відповіді на це питання на веб-сторінках проекту за адресою" - id: "T03100" - text: "Change Log" + text: "Журнал змін" - id: "T03110" - text: "Version / Date" + text: "Версія / Дата" - id: "T03120" - text: "Comments" + text: "Коментарі" - id: "T03130" text: "0.1" - id: "T03140" - text: "Original Draft" + text: "Початковий проект" - id: "T03150" text: "0.2" - id: "T03160" - text: "Draft reviewed and updated" + text: "Проект переглянуто та оновлено" - id: "T03170" text: "0.3" - id: "T03180" - text: "Draft announced OWASP® SCP mailing list for comment." + text: "Проект оголошено у списку розсилки OWASP® SCP для коментарів." - id: "T03190" text: "0.4" - id: "T03200" - text: "Play rules updated based on feedback during workshops. " + text: "Правила гри оновлено на основі відгуків під час семінарів. " - id: "T03210" - text: "Added reference to PCI SSC Information Supplement: PCI DSS E-commerce Guidelines. " + text: "Додано посилання на PCI SSC Information Supplement: PCI DSS E-commerce Guidelines. " - id: "T03220" - text: "Descriptive text extended and updated." + text: "Описовий текст розширено та оновлено." - id: "T03230" - text: "Added contributors section, page numbering, FAQs and change log." + text: "Додано розділ учасників, нумерацію сторінок, поширені запитання та журнал змін." - id: "T03240" text: "1" - id: "T03250" - text: "Release." + text: "Випуск." - id: "T03260" text: "1.01" - id: "T03270" - text: "Framework-specific card deck discussion added" + text: "Додано обговорення колоди, специфічної для фреймворків" - id: "T03280" - text: "Additional FAQs created. " + text: "Створено додаткові поширені запитання. " - id: "T03290" - text: "Descriptive text updated. " + text: "Описовий текст оновлено. " - id: "T03300" - text: "New cover image, and previous cover image moved to back. " + text: "Нове зображення обкладинки, попереднє перенесено на задню частину. " - id: "T03310" - text: "Cut lines added." + text: "Додано лінії розрізу." - id: "T03320" - text: "FAQs 5 and 6 added." + text: "Додано поширені запитання 5 та 6." - id: "T03330" - text: "Attack descriptions on cards with tinted backgrounds changed to black (from dark grey). " + text: "Описи атак на картах з тонованим фоном змінено на чорний (з темно-сірого). " - id: "T03340" - text: "Project contributors added." + text: "Додано учасників проекту." - id: "T03350" text: "1.02" - id: "T03360" - text: "Warning about time to print added. " + text: "Додано попередження про час друку. " - id: "T03370" - text: "Additional alternative game rules added (twenty-one, play a deck over a week, play full hand and then discuss). " + text: "Додано додаткові альтернативні правила гри (двадцять одне, гра протягом тижня, грати повну руку та потім обговорювати). " - id: "T03380" - text: "Compliance deck concept added. " + text: "Додано концепцію колоди відповідності вимогам. " - id: "T03390" - text: "FAQs 5 and 6 added." + text: "Додано поширені запитання 5 та 6." - id: "T03400" - text: "Attack descriptions on cards with tinted backgrounds changed to black (from dark grey). " + text: "Описи атак на картах з тонованим фоном змінено на чорний (з темно-сірого). " - id: "T03410" - text: "Project contributors added." + text: "Додано учасників проекту." - id: "T03420" text: "1.03" - id: "T03430" - text: "Minor attack wording changes on two cards. " + text: "Незначні зміни формулювання атак на двох картах. " - id: "T03440" - text: "OWASP® SCP and ASVS cross-references checked and updated. " + text: "Перевірено та оновлено перехресні посилання на OWASP® SCP та ASVS. " - id: "T03450" - text: "Code letters added for suits. " + text: "Додано літерні коди мастей. " - id: "T03460" - text: "All remaining attack descriptions on cards changed to black (from dark grey) and background colours amended to provide more contrast and increase readability." + text: "Всі інші описи атак на картах змінено на чорний (з темно-сірого), а фонові кольори змінено для більшої контрастності та читабельності." - id: "T03470" text: "1.04" - id: "T03480" - text: "Text “password change, password change,” corrected to “password change, password recovery,” on Queen of Authentication card. " + text: "Текст «зміна пароля, зміна пароля,» виправлено на «зміна пароля, відновлення пароля,» на карті Дама Автентифікації. " - id: "T03490" text: "1.05" - id: "T03500" - text: "Updates to alternative game rules. " + text: "Оновлення альтернативних правил гри. " - id: "T03510" - text: "Additional FAQs created. " + text: "Створено додаткові поширені запитання. " - id: "T03520" - text: "Contributors updated. " + text: "Оновлено учасників. " - id: "T03530" - text: "Podcast and video links added." + text: "Додано посилання на подкаст та відео." - id: "T03540" text: "1.1" - id: "T03550" - text: "Change log date corrected for v1.05. Cross-references updated for 2014 version of ASVS. " + text: "Виправлено дату журналу змін для v1.05. Перехресні посилання оновлено для версії ASVS 2014 року. " - id: "T03560" - text: "Contributors updated." + text: "Оновлено учасників." - id: "T03570" - text: "Minor text changes to cards to improve readability." + text: "Незначні зміни тексту на картах для покращення читабельності." - id: "T03580" text: "1.2" - id: "T03590" - text: "Video mentioned/linked" + text: "Відео згадано/додано посилання" - id: "T03600" - text: "Separate score sheet mentioned/linked. " + text: "Окремий бланк рахунку згадано/додано посилання. " - id: "T03610" - text: "Previous embedded score sheet pages deleted" + text: "Попередні вбудовані сторінки бланку рахунку видалено" - id: "T03620" - text: "Correction (identified by Tom Brennan) and addition to " + text: "Виправлення (виявлене Томом Бреннаном) та доповнення до " - id: "T03630" - text: "text on card 8 Authentication. " + text: "тексту на карті 8 Автентифікації. " - id: "T03640" - text: "Oana Cornea and other participants at the AppSec EU 2015 project summit added to list of contributors. " + text: "Оана Корня та інші учасники саміту AppSec EU 2015 додані до списку учасників. " - id: "T03650" - text: "Darío De Filippis added as project co-leader. " + text: "Даріо Де Філіппіс доданий як співкерівник проекту. " - id: "T03660" - text: "Wiki Deck link added" + text: "Додано посилання на Wiki Deck" - id: "T03670" - text: "Cross-references updated for ASVS v3.0.1 and CAPEC™ v3.9. Minor text changes to a small number of cards. " + text: "Перехресні посилання оновлено для ASVS v3.0.1 та CAPEC™ v3.9. Незначні зміни тексту на невеликій кількості карт. " - id: "T03680" - text: "Added “-EN” to version number in preparation for “-ES” version." + text: "Додано «-EN» до номера версії на підготовку до версії «-ES»." - id: "T03690" - text: "Susana Romaniz added as a contributor to the Spanish translation." + text: "Сусана Романіс додана як учасник іспанського перекладу." - id: "T03700" - text: "Minor text changes to instructions and FAQs." + text: "Незначні зміни тексту в інструкціях та поширених запитаннях." - id: "T03710" text: "2.0" - id: "T03720" - text: "Cross-references updated from ASVS v3.0.1 to ASVS v4.0 by Johan Sydseter. " + text: "Перехресні посилання оновлено з ASVS v3.0.1 до ASVS v4.0 Йоханом Сюдсетером. " - id: "T03730" text: "2.1" - id: "T03740" - text: "Adding italian translation done by Ruggero DallAglio" + text: "Додано італійський переклад, виконаний Руджеро Далл'Альо" - id: "T03750" text: "2.1" - id: "T03760" - text: "Adding portugeese translation done by André Ferreira" + text: "Додано португальський переклад, виконаний Андре Феррейрою" - id: "T03770" text: "2.2" - id: "T03771" - text: "Migrated the cross-references from SCP to the DevGuide Web Checklist v4.1.9." + text: "Виконано міграцію перехресних посилань з SCP до DevGuide Web Checklist v4.1.9." - id: "T03772" text: "3.0" - id: "T03773" - text: "ASVS has been migrated from v4.0.3 to v5.0. The text on the cards has been updated to include MFA and passkeys as an option for authentication. Cards within the session management suit have been updated toe align with modern session management Practices." + text: "Стандарт ASVS оновлено з версії 4.0.3 до версії 5.0. Текст на картах оновлено, щоб включити MFA та ключі доступу як варіант автентифікації. Картки в наборі керування сесіями оновлено для відповідності сучасним практикам керування сесіями." - id: "T03774" text: "3.0" - id: "T03775" - text: "STRIDE categories have been added to each cards" + text: "До кожної картки додано категорії STRIDE" - id: "T03800" - text: "Project contributors" + text: "Учасники проекту" - id: "T03810" - text: "All OWASP projects rely on the voluntary efforts of people in the software development and information security sectors. " + text: "Усі проекти OWASP спираються на добровільні зусилля людей у секторах розробки програмного забезпечення та інформаційної безпеки. " - id: "T03820" - text: "They have contributed their time and energy to make suggestions, provide feedback, write, review and edit documentation, give encouragement, trial the game, and promote the concept. " + text: "Вони витратили свій час та енергію, щоб робити пропозиції, надавати відгуки, писати, рецензувати та редагувати документацію, давати підтримку, тестувати гру та просувати концепцію. " - id: "T03830" - text: "Without all their efforts, the project would not have progressed to this point. " + text: "Без усіх їхніх зусиль проект не просунувся б до цього моменту. " - id: "T03840" - text: "Please contact the mailing list or project leaders directly, if anyone is missing from the below lists." + text: "Будь ласка, зверніться до списку розсилки або безпосередньо до керівників проекту, якщо когось немає в наведених нижче списках." - id: "T03850" - text: "OWASP's hard-working employees." + text: "Працьовиті співробітники OWASP." - id: "T03860" - text: "Attendees at OWASP® London, OWASP® Manchester, OWASP® Netherlands and OWASP® Scotland chapter meetings, and the London Gamification meetup, who made helpful suggestions and asked challenging questions" + text: "Відвідувачі зустрічей відділень OWASP® London, OWASP® Manchester, OWASP® Netherlands та OWASP® Scotland, а також London Gamification meetup, які зробили корисні пропозиції та ставили складні запитання" - id: "T03870" - text: "Blackfoot UK Limited for gifting print-ready design files and hundreds of professionally printed card decks for distribution by post and at OWASP chapter meetings" + text: "Blackfoot UK Limited за подарунок готових до друку файлів дизайну та сотень професійно надрукованих карткових колод для розповсюдження поштою та на зустрічах відділень OWASP" - id: "T03880" - text: 'OWASP® NYC for creating an OWASP box design and distributing packs at AppSec USA 2014.' + text: 'OWASP® NYC за створення дизайну коробки OWASP та розповсюдження наборів на AppSec USA 2014.' - id: "T03900" - text: "Podcasts and videos" + text: "Подкасти та відео" - id: "T03910" - text: 'The following supporting OWASP® Cornucopia resources are available online:' + text: 'Наступні допоміжні ресурси OWASP® Cornucopia доступні онлайн:' - id: "T03920" - text: "Video - Using the cards, created during AppSec EU 2015 project summit, 20th May 2015" + text: "Відео — Використання карт, створене під час саміту AppSec EU 2015, 20 травня 2015" - id: "T03930" - text: "Podcast interview, OWASP® 24/7 Podcast channel, 21st March 2014" + text: "Інтерв'ю для подкасту, канал OWASP® 24/7 Podcast, 21 березня 2014" - id: "T03940" - text: " Video of presentation, OWASP® EU Tour 2013 London, 3rd June 2013" + text: " Відео з презентації, OWASP® EU Tour 2013 London, 3 червня 2013" - id: "T03950" - text: "See the project website for further information and presentation materials." + text: "Дивіться веб-сайт проекту для отримання додаткової інформації та матеріалів презентацій."