Skip to content
KitploitKITPLOIT
ИнструментыБлог
Отправить
ИнструментыБлог
Отправить

Инструменты для хакинга, пентеста и кибербезопасности — ваш арсенал защиты!

Kitploit — это каталог инструментов для хакинга, кибербезопасности и пентестинга. Находите последние обновления проектов для поиска уязвимостей, анализа систем, автоматизации тестирования и усиления вашей безопасности.

··Ленты·Контакты·Конфиденциальность·© 2026 Kitploit

Каталог инструментов

Категории

Все категории
Loading categories
cwe-tool — Инструмент командной строки для обнаружения CWE на основе базы данных OWASP / CAPSEC Common Weakness Enumeration. | Kitploit
Инструменты/GitHubGitHub/owasp/cwe-tool
Статический анализАнализ уязвимостейАнализ КодаУтилиты и фреймворкиОбучение и ОбразованиеПодобранные Ресурсы
GitHubowasp/cwe-tool

cwe-tool

Инструмент командной строки для обнаружения CWE на основе базы данных OWASP / CAPSEC Common Weakness Enumeration.

Репозиторий
64223 месяцев назадПроверено Kitploit

Популярное

Смотреть все →

Откройте для себя самые используемые инструменты нашего сообщества.

Изучить все инструменты

Просмотрите нашу коллекцию инструментов

Смотреть все инструменты →
Поделиться

cwe-tool

Инструмент командной строки для поиска CWE на основе базы данных OWASP / CAPSEC Common Weakness Enumeration.
Официальная страница OWASP CWE Toolkit

npm version license downloads build codecov Known Vulnerabilities Responsible Disclosure Policy

Установка

Исполняемый файл с помощью Node.js

Если у вас есть среда Node.js, вы можете вызвать cwe-tool с помощью инструмента npx следующим образом:

root@kitploit:~
npx cwe-tool [...параметры командной строки...]

Docker

Загрузка образа из Docker Hub

root@kitploit:~
docker pull lirantal/cwe-tool
docker run --rm lirantal/cwe-tool --search test

Инструкции по локальной сборке

root@kitploit:~
git clone https://github.com/OWASP/cwe-tool
docker build -t docker.pkg.github.com/owasp/cwe-tool/cwe-tool . 

-t имя образа выше может быть любым выбранным вами именем образа!

Примеры запуска с Docker

root@kitploit:~
docker run --rm docker.pkg.github.com/owasp/cwe-tool/cwe-tool --id 22
docker run --rm docker.pkg.github.com/owasp/cwe-tool/cwe-tool --search test

Не хотите собирать локально? Загрузите образ

Загрузите образ из реестра пакетов Github и выполните поиск

root@kitploit:~
docker pull docker.pkg.github.com/owasp/cwe-tool/cwe-tool:latest
docker run --rm docker.pkg.github.com/owasp/cwe-tool/cwe-tool:latest --search test

Использование

Вывод инструмента CWE — это JSON, что позволяет обрабатывать данные или проводить дальнейшие исследования.

Схема параметров командной строки:

Пример

Получить CWE по ID

root@kitploit:~
npx cwe-tool --id 22

Фильтрация CWE ID по отношению к родительскому элементу

Следующая команда фильтрует все CWE ID на основе того, удовлетворяют ли они прямым или косвенным отношениям в дереве к заданному родительскому ID.

root@kitploit:~
npx cwe-tool --id 22 --parent-id 167 --indirect

Результат в виде следующего JSON:

root@kitploit:~
{
  "attr": {
    "@_ID": "242",
    "@_Name": "Use of Inherently Dangerous Function",
    "@_Abstraction": "Base",
    "@_Structure": "Simple",
    "@_Status": "Draft"
  },
  "Description": "The program calls a function that can never be guaranteed to work safely.",
  "Extended_Description": "Certain functions behave in dangerous ways regardless of how they are used. Functions in this category were often implemented without taking security concerns into account. The gets() function is unsafe because it does not perform bounds checking on the size of its input. An attacker can easily send arbitrarily-sized input to gets() and overflow the destination buffer. Similarly, the >> operator is unsafe to use when reading into a statically-allocated character array because it does not perform bounds checking on the size of its input. An attacker can easily send arbitrarily-sized input to the >> operator and overflow the destination buffer.",
  "Related_Weaknesses": {
    "Related_Weakness": {
      "attr": {
        "@_Nature": "ChildOf",
        "@_CWE_ID": "1177",
        "@_View_ID": "1000",
        "@_Ordinal": "Primary"
      }
    }
  },
  "Weakness_Ordinalities": { "Weakness_Ordinality": { "Ordinality": "Primary" } },
  "Applicable_Platforms": {
    "Language": [
      { "attr": { "@_Name": "C", "@_Prevalence": "Undetermined" } },
      { "attr": { "@_Name": "C++", "@_Prevalence": "Undetermined" } }
    ]
  },
  "Modes_Of_Introduction": { "Introduction": { "Phase": "Implementation" } },
  "Likelihood_Of_Exploit": "High",
  "Common_Consequences": { "Consequence": { "Scope": "Other", "Impact": "Varies by Context" } },
  "Potential_Mitigations": {
    "Mitigation": [
      {
        "Phase": ["Implementation", "Requirements"],
        "Description": "Ban the use of dangerous functions. Use their safe equivalent."
      },
      {
        "Phase": "Testing",
        "Description": "Use grep or static analysis tools to spot usage of dangerous functions."
      }
    ]
  },
  "Demonstrative_Examples": {
    "Demonstrative_Example": [
      {
        "Intro_Text": "The code below calls gets() to read information into a buffer.",
        "Example_Code": {
          "attr": { "@_Nature": "bad", "@_Language": "C" },
          "xhtml:div": { "#text": "char buf[BUFSIZE];gets(buf);", "xhtml:br": "" }
        },
        "Body_Text": "The gets() function in C is inherently unsafe."
      },
      {
        "attr": { "@_Demonstrative_Example_ID": "DX-5" },
        "Intro_Text": "The code below calls the gets() function to read in data from the command line.",
        "Example_Code": {
          "attr": { "@_Nature": "bad", "@_Language": "C" },
          "xhtml:div": {
            "#text": "}",
            "xhtml:div": {
              "#text": "char buf[24];printf(\"Please enter your name and press <Enter>\\n\");gets(buf);...",
              "attr": { "@_style": "margin-left:10px;" },
              "xhtml:br": ["", "", ""]
            }
          }
        },
        "Body_Text": "However, the programmer uses the function gets() which is inherently unsafe because it blindly copies all input from STDIN to the buffer without checking size. This allows the user to provide a string that is larger than the buffer size, resulting in an overflow condition."
      }
    ]
  },
  "Taxonomy_Mappings": {
    "Taxonomy_Mapping": [
      {
        "attr": { "@_Taxonomy_Name": "7 Pernicious Kingdoms" },
        "Entry_Name": "Dangerous Functions"
      },
      {
        "attr": { "@_Taxonomy_Name": "CERT C Secure Coding" },
        "Entry_ID": "POS33-C",
        "Entry_Name": "Do not use vfork()",
        "Mapping_Fit": "CWE More Abstract"
      },
      {
        "attr": { "@_Taxonomy_Name": "Software Fault Patterns" },
        "Entry_ID": "SFP3",
        "Entry_Name": "Use of an improper API"
      }
    ]
  },
  "References": {
    "Reference": [
      { "attr": { "@_External_Reference_ID": "REF-6" } },
      {
        "attr": { "@_External_Reference_ID": "REF-194", "@_Section": "Chapter 5. Working with I/O" }
      },
      {
        "attr": {
          "@_External_Reference_ID": "REF-7",
          "@_Section": "Chapter 5, "gets and fgets" Page 163"
        }
      }
    ]
  },
  "Content_History": {
    "Submission": { "Submission_Name": "7 Pernicious Kingdoms", "Submission_Date": "2006-07-19" },
    "Modification": [
      {
        "Modification_Name": "Sean Eidemiller",
        "Modification_Organization": "Cigital",
        "Modification_Date": "2008-07-01",
        "Modification_Comment": "added/updated demonstrative examples"
      },
      {
        "Modification_Name": "Eric Dalci",
        "Modification_Organization": "Cigital",
        "Modification_Date": "2008-07-01",
        "Modification_Comment": "updated Potential_Mitigations"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2008-09-08",
        "Modification_Comment": "updated Applicable_Platforms, Relationships, Other_Notes, Taxonomy_Mappings, Type, Weakness_Ordinalities"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2008-11-24",
        "Modification_Comment": "updated Relationships, Taxonomy_Mappings"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2009-10-29",
        "Modification_Comment": "updated Description, Other_Notes, References"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2010-02-16",
        "Modification_Comment": "updated Demonstrative_Examples, References, Relationships"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2010-04-05",
        "Modification_Comment": "updated Relationships"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2011-06-01",
        "Modification_Comment": "updated Common_Consequences"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2011-06-27",
        "Modification_Comment": "updated Common_Consequences"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2012-05-11",
        "Modification_Comment": "updated Relationships"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2012-10-30",
        "Modification_Comment": "updated Potential_Mitigations"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2014-07-30",
        "Modification_Comment": "updated Demonstrative_Examples, Relationships, Taxonomy_Mappings"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2017-11-08",
        "Modification_Comment": "updated Causal_Nature, References, Relationships, Taxonomy_Mappings"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2018-03-27",
        "Modification_Comment": "updated References"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2019-01-03",
        "Modification_Comment": "updated Relationships"
      },
      {
        "Modification_Name": "CWE Content Team",
        "Modification_Organization": "MITRE",
        "Modification_Date": "2020-02-24",
        "Modification_Comment": "updated References, Relationships"
      }
    ],
    "Previous_Entry_Name": [
      { "#text": "Dangerous Functions", "attr": { "@_Date": "2008-01-30" } },
      { "#text": "Use of Inherently Dangerous Functions", "attr": { "@_Date": "2008-04-11" } }
    ]
  }
}

Участие в разработке

Пожалуйста, ознакомьтесь с CONTRIBUTING для получения рекомендаций по участию в этом проекте.

Автор

cwe-tool © Liran Tal, выпущен под лицензией Apache-2.0.

Скачать инструмент
Аргумент командной строкиОписаниеРеализован
--idПолучить данные CWE по его ID.✅
--parent-idЕсли указаны одновременно --id и --parent-id, возвращаются только те CWE ID, которые соответствуют родительскому ID.✅ PRs приветствуются
--indirectПри указании вместе с --parent-id извлекает всех косвенных родителей вплоть до корня дерева.✅
--searchПоиск строки возвращает все соответствующие названия CWE✅
--show-membershipВозвращает все CWE ID вместе с их отношениями членства в категориях CWE❌ PRs приветствуются