Liking cljdoc? Tell your friends :D

Weakness Object

Weakness a mistake or condition that, if left unaddressed, could under the proper conditions contribute to a cyber-enabled capability being vulnerable to attack, allowing an adversary to make items function in unintended ways.

PropertyTypeDescriptionRequired?
descriptionMarkdownStringshould be short and limited to the key points that define this weakness
idStringGlobally unique URI identifying this object.
schema_versionStringCTIM schema version for this entity
typeWeaknessTypeIdentifierStringThe fixed value weakness
abstraction_levelWeaknessAbstractionLevelStringdefines the abstraction level for this weakness
affected_resourcesSystemResourceString Listidentify system resources that can be affected by an exploit of this weakness
alternate_termsAlternateTerm Object Listindicates one or more other names used to describe this weakness
architecturesArchitecture Object ListApplicable architectures
background_detailsMarkdownStringinformation that is relevant but not related to the nature of the weakness itself
common_consequencesConsequence Object Listspecify individual consequences associated with a weakness
detection_methodsDetectionMethod Object Listidentify methods that may be employed to detect this weakness, including their strengths and limitations
external_idsString List
external_referencesExternalReference Object ListSpecifies a list of external references which refers to non-CTIM information. This property is used to provide one or more URLs, descriptions, or IDs to records in other systems.
functional_areasFunctionalAreaString Listidentifies the functional area of the software in which the weakness is most likely to occur
languageShortStringStringThe human language this object is specified in.
languagesLanguage Object ListApplicable Languages
likelihoodHighMedLowStringLikelihood of exploit
modes_of_introductionModeOfIntroduction Object Listinformation about how and when a given weakness may be introduced
notesNote Object Listprovide any additional comments about the weakness
operating_systemsOperatingSystem Object ListApplicable operating systems
paradigmsParadigm Object ListApplicable paradigms
potential_mitigationsMitigation Object Listdescribe potential mitigations associated with a weakness
revisionIntegerA monotonically increasing revision, incremented each time the object is changed.
short_descriptionMedStringStringA single line, short summary of the object.
sourceMedStringString
source_uriString
structureWeaknessStructureStringdefines the structural nature of the weakness
technologiesTechnology Object ListApplicable technologies
timestampInst (Date)The time this object was created at, or last modified.
titleShortStringStringA short title for this object, used as primary display and reference value
tlpTLPStringSpecification for how, and to whom, this object can be shared.

Property abstraction_level ∷ WeaknessAbstractionLevelString

defines the abstraction level for this weakness

  • This entry is optional

    • WeaknessAbstractionLevel defines the different abstraction levels that apply to a weakness. A Class is the most abstract type of weakness, typically described independent of any specific language or technology. A Base is a more specific type of weakness that is still mostly independent of a resource or technology, but with sufficient details to provide specific methods for detection and prevention. A Variant is a weakness that is described at a very low level of detail, typically limited to a specific language or technology. A Compound weakness is a meaningful aggregation of several weaknesses, currently known as either a Chain or Composite.
    • Allowed Values:
      • Base
      • Class
      • Compound
      • Variant
    • Reference: AbstractionEnumeration

Property affected_resources ∷ SystemResourceString List

identify system resources that can be affected by an exploit of this weakness

  • This entry is optional

  • This entry's type is sequential (allows zero or more values)

    • SystemResource defines a resource of a system
    • Allowed Values:
      • CPU
      • File or Directory
      • Memory
      • System Process
    • Reference: ResourceEnumeration

Property alternate_terms ∷ AlternateTerm Object List

indicates one or more other names used to describe this weakness

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property architectures ∷ Architecture Object List

Applicable architectures

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property background_details ∷ MarkdownString

information that is relevant but not related to the nature of the weakness itself

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property common_consequences ∷ Consequence Object List

specify individual consequences associated with a weakness

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property description ∷ MarkdownString

should be short and limited to the key points that define this weakness

  • This entry is required

    • Markdown Markdown string with at most 5000 characters

Property detection_methods ∷ DetectionMethod Object List

identify methods that may be employed to detect this weakness, including their strengths and limitations

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property external_ids ∷ String List

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property external_references ∷ ExternalReference Object List

Specifies a list of external references which refers to non-CTIM information. This property is used to provide one or more URLs, descriptions, or IDs to records in other systems.

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property functional_areas ∷ FunctionalAreaString List

identifies the functional area of the software in which the weakness is most likely to occur

  • This entry is optional

  • This entry's type is sequential (allows zero or more values)

    • FunctionalArea Defines the different functional areas of software in which the weakness may appear
    • Allowed Values:
      • Authentication
      • Authorization
      • Code Libraries
      • Counters
      • Cryptography
      • Error Handling
      • File Processing
      • Functional-Area-Independent
      • Interprocess Communication
      • Logging
      • Memory Management
      • Networking
      • Number Processing
      • Program Invocation
      • Protection Mechanism
      • Session Management
      • Signals
      • String Processing
    • Reference: FunctionalAreaEnumeration

Property id ∷ String

Globally unique URI identifying this object.

  • This entry is required

    • IDs are URIs, for example https://www.domain.com/ctia/judgement/judgement-de305d54-75b4-431b-adb2-eb6b9e546014 for a Judgement. This ID type compares to the STIX id field. The optional STIX idref field is not used.

Property language ∷ ShortStringString

The human language this object is specified in.

  • This entry is optional

    • ShortString String with at most 1024 characters

Property languages ∷ Language Object List

Applicable Languages

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property likelihood ∷ HighMedLowString

Likelihood of exploit

  • This entry is optional

    • Allowed Values:
      • Critical
      • High
      • Info
      • Low
      • Medium
      • None
      • Unknown
    • Reference: HighMedLowVocab

Property modes_of_introduction ∷ ModeOfIntroduction Object List

information about how and when a given weakness may be introduced

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property notes ∷ Note Object List

provide any additional comments about the weakness

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property operating_systems ∷ OperatingSystem Object List

Applicable operating systems

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property paradigms ∷ Paradigm Object List

Applicable paradigms

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property potential_mitigations ∷ Mitigation Object List

describe potential mitigations associated with a weakness

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property revision ∷ Integer

A monotonically increasing revision, incremented each time the object is changed.

  • This entry is optional

    • Zero, or a positive integer

Property schema_version ∷ String

CTIM schema version for this entity

  • This entry is required

    • A semantic version matching the CTIM version against which this object should be valid.

Property short_description ∷ MedStringString

A single line, short summary of the object.

  • This entry is optional

    • MedString String with at most 2048 characters

Property source ∷ MedStringString

  • This entry is optional

    • MedString String with at most 2048 characters

Property source_uri ∷ String

  • This entry is optional

    • A URI

Property structure ∷ WeaknessStructureString

defines the structural nature of the weakness

  • This entry is optional

    • WeaknessStructure structural natures of a weakness. A Simple structure represents a single weakness whose exploitation is not dependent on the presence of another weakness. A Composite is a set of weaknesses that must all be present simultaneously in order to produce an exploitable vulnerability, while a Chain is a set of weaknesses that must be reachable consecutively in order to produce an exploitable vulnerability.
    • Allowed Values:
      • Chain
      • Composite
      • Simple
    • Reference: StructureEnumeration)

Property technologies ∷ Technology Object List

Applicable technologies

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property timestamp ∷ Inst (Date)

The time this object was created at, or last modified.

  • This entry is optional

    • ISO8601 Timestamp Schema definition for all date or timestamp values. Serialized as a string, the field should follow the rules of the ISO8601 standard.

Property title ∷ ShortStringString

A short title for this object, used as primary display and reference value

  • This entry is optional

    • ShortString String with at most 1024 characters

Property tlp ∷ TLPString

Specification for how, and to whom, this object can be shared.

  • This entry is optional

    • TLP TLP stands for Traffic Light Protocol, which indicates precisely how this resource is intended to be shared, replicated, copied, etc.
    • Default: green
    • Allowed Values:
      • amber
      • green
      • red
      • white

Property type ∷ WeaknessTypeIdentifierString

The fixed value weakness

  • This entry is required

    • WeaknessTypeIdentifier The fixed value "weakness"
    • Must equal: "weakness"

ExternalReference Object

ExternalReference External references are used to describe pointers to information represented outside of CTIM. For example, a Malware object could use an external reference to indicate an ID for that malware in an external database or a report could use references to represent source material.

PropertyTypeDescriptionRequired?
source_nameMedStringStringThe source within which the external-reference is defined (system, registry, organization, etc.)
descriptionMarkdownString
external_idStringAn identifier for the external reference content.
hashesString ListSpecifies a dictionary of hashes for the contents of the url.
urlStringA URL reference to an external resource

Property description ∷ MarkdownString

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property external_id ∷ String

An identifier for the external reference content.

  • This entry is optional

Property hashes ∷ String List

Specifies a dictionary of hashes for the contents of the url.

  • This entry is optional
  • This entry's type is sequential (allows zero or more values)

Property source_name ∷ MedStringString

The source within which the external-reference is defined (system, registry, organization, etc.)

  • This entry is required

    • MedString String with at most 2048 characters

Property url ∷ String

A URL reference to an external resource

  • This entry is optional

    • A URI

Language Object

PropertyTypeDescriptionRequired?
prevalencePrevalenceStringdefines the different regularities that guide the applicability of platforms
classLanguageClassStringclass of language
nameShortStringStringLanguage name (Clojure, Java, ...)

Property class ∷ LanguageClassString

class of language

  • This entry is optional

    • LanguageClass class of source code language
    • Allowed Values:
      • Assembly
      • Compiled
      • Interpreted
    • Reference: LanguageClassEnumeration

Property name ∷ ShortStringString

Language name (Clojure, Java, ...)

  • This entry is optional

    • ShortString String with at most 1024 characters

Property prevalence ∷ PrevalenceString

defines the different regularities that guide the applicability of platforms

  • This entry is required

    • Prevalence defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Often
      • Rarely
      • Sometimes
      • Undetermined
    • Reference: PrevalenceEnumeration

OperatingSystem Object

PropertyTypeDescriptionRequired?
prevalencePrevalenceStringdefines the different regularities that guide the applicability of platforms
classOperatingSystemClassString
cpe_idShortStringString
nameShortStringString
versionShortStringString

Property class ∷ OperatingSystemClassString

  • This entry is optional

Property cpe_id ∷ ShortStringString

  • This entry is optional

    • ShortString String with at most 1024 characters

Property name ∷ ShortStringString

  • This entry is optional

    • ShortString String with at most 1024 characters

Property prevalence ∷ PrevalenceString

defines the different regularities that guide the applicability of platforms

  • This entry is required

    • Prevalence defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Often
      • Rarely
      • Sometimes
      • Undetermined
    • Reference: PrevalenceEnumeration

Property version ∷ ShortStringString

  • This entry is optional

    • ShortString String with at most 1024 characters

Architecture Object

PropertyTypeDescriptionRequired?
prevalencePrevalenceStringdefines the different regularities that guide the applicability of platforms
classArchitectureClassStringclass of architecture
nameShortStringStringarchitecture name (ARM, x86, ...)

Property class ∷ ArchitectureClassString

class of architecture

Property name ∷ ShortStringString

architecture name (ARM, x86, ...)

  • This entry is optional

    • ShortString String with at most 1024 characters

Property prevalence ∷ PrevalenceString

defines the different regularities that guide the applicability of platforms

  • This entry is required

    • Prevalence defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Often
      • Rarely
      • Sometimes
      • Undetermined
    • Reference: PrevalenceEnumeration

Paradigm Object

PropertyTypeDescriptionRequired?
prevalencePrevalenceStringdefines the different regularities that guide the applicability of platforms
nameShortStringStringparadigm name (Client Server, Mainframe)

Property name ∷ ShortStringString

paradigm name (Client Server, Mainframe)

  • This entry is optional

    • ShortString String with at most 1024 characters

Property prevalence ∷ PrevalenceString

defines the different regularities that guide the applicability of platforms

  • This entry is required

    • Prevalence defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Often
      • Rarely
      • Sometimes
      • Undetermined
    • Reference: PrevalenceEnumeration

Technology Object

PropertyTypeDescriptionRequired?
prevalencePrevalenceStringdefines the different regularities that guide the applicability of platforms
nameShortStringStringtechnology name (Web Server, Web Client)

Property name ∷ ShortStringString

technology name (Web Server, Web Client)

  • This entry is optional

    • ShortString String with at most 1024 characters

Property prevalence ∷ PrevalenceString

defines the different regularities that guide the applicability of platforms

  • This entry is required

    • Prevalence defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Often
      • Rarely
      • Sometimes
      • Undetermined
    • Reference: PrevalenceEnumeration

AlternateTerm Object

PropertyTypeDescriptionRequired?
termShortStringStringthe actual alternate term
descriptionMarkdownStringprovides context for the alternate term by which this weakness may be known.

Property description ∷ MarkdownString

provides context for the alternate term by which this weakness may be known.

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property term ∷ ShortStringString

the actual alternate term

  • This entry is required

    • ShortString String with at most 1024 characters

ModeOfIntroduction Object

PropertyTypeDescriptionRequired?
phaseSoftwarePhaseStringidentifies the point in the software life cycle at which the weakness may be introduced
noteMarkdownStringprovides a typical scenario related to introduction during the given phase

Property note ∷ MarkdownString

provides a typical scenario related to introduction during the given phase

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property phase ∷ SoftwarePhaseString

identifies the point in the software life cycle at which the weakness may be introduced

  • This entry is required

    • SoftwarePhase defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Architecture and Design
      • Build and Compilation
      • Bundling
      • Distribution
      • Documentation
      • Implementation
      • Installation
      • Operation
      • Patching and Maintenance
      • Policy
      • Porting
      • Requirements
      • System Configuration
      • Testing
    • Reference: PhaseEnumeration

Consequence Object

PropertyTypeDescriptionRequired?
scopesConsequenceScopeString Listidentifies the security property that is violated
impactsTechnicalImpactString Listdescribes the technical impact that arises if an adversary succeeds in exploiting this weakness
likelihoodHighMedLowStringhow likely the specific consequence is expected to be seen relative to the other consequences
noteMarkdownStringadditional commentary about a consequence

Property impacts ∷ TechnicalImpactString List

describes the technical impact that arises if an adversary succeeds in exploiting this weakness

  • This entry is optional

  • This entry's type is sequential (allows zero or more values)

    • Allowed Values:
      • Alter Execution Logic
      • Bypass Protection Mechanism
      • DoS: Amplification
      • DoS: Crash, Exit, or Restart
      • DoS: Instability
      • DoS: Resource Consumption (CPU)
      • DoS: Resource Consumption (Memory)
      • DoS: Resource Consumption (Other)
      • Execute Unauthorized Code or Commands
      • Gain Privileges or Assume Identity
      • Hide Activities
      • Modify Application Data
      • Modify Files or Directories
      • Modify Memory
      • Quality Degradation
      • Read Application Data
      • Read Files or Directories
      • Read Memory
      • Unexpected State
      • Varies by Context
    • Reference: TechnicalImpactEnumeration

Property likelihood ∷ HighMedLowString

how likely the specific consequence is expected to be seen relative to the other consequences

  • This entry is optional

    • Allowed Values:
      • Critical
      • High
      • Info
      • Low
      • Medium
      • None
      • Unknown
    • Reference: HighMedLowVocab

Property note ∷ MarkdownString

additional commentary about a consequence

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property scopes ∷ ConsequenceScopeString List

identifies the security property that is violated

  • This entry is required

  • This entry's type is sequential (allows zero or more values)

    • ConsequenceScope defines the different areas of software security that can be affected by exploiting a weakness.
    • Allowed Values:
      • Access Control
      • Accountability
      • Authentication
      • Authorization
      • Availability
      • Confidentiality
      • Integrity
      • Non-Repudiation
    • Reference: ScopeEnumeration

DetectionMethod Object

PropertyTypeDescriptionRequired?
descriptionMarkdownStringprovide some context of how this method can be applied to a specific weakness
methodDetectionMethodStringidentifies the particular detection method being described
effectivenessDetectionEffectivenessStringhow effective the detection method may be in detecting the associated weakness
effectiveness_notesMarkdownStringprovides additional discussion of the strengths and shortcomings of this detection method

Property description ∷ MarkdownString

provide some context of how this method can be applied to a specific weakness

  • This entry is required

    • Markdown Markdown string with at most 5000 characters

Property effectiveness ∷ DetectionEffectivenessString

how effective the detection method may be in detecting the associated weakness

  • This entry is optional

    • DetectionEffectiveness level of effectiveness that a detection method may have in detecting an associated weakness
    • Allowed Values:
      • High
      • Limited
      • Moderate
      • None
      • Opportunistic
      • SOAR Partial
    • Reference: DetectionEffectivenessEnumeration

Property effectiveness_notes ∷ MarkdownString

provides additional discussion of the strengths and shortcomings of this detection method

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property method ∷ DetectionMethodString

identifies the particular detection method being described

  • This entry is required

    • DetectionMethod method used to detect a weakness
    • Allowed Values:
      • Architecture or Design Review
      • Automated Analysis
      • Automated Dynamic Analysis
      • Automated Static Analysis
      • Automated Static Analysis - Binary or Bytecode
      • Automated Static Analysis - Source Code
      • Black Box
      • Dynamic Analysis with Automated Results Interpretation
      • Dynamic Analysis with Manual Results Interpretation
      • Fuzzing
      • Manual Analysis
      • Manual Dynamic Analysis
      • Manual Static Analysis
      • Manual Static Analysis - Binary or Bytecode
      • Manual Static Analysis - Source Code
      • Other
      • White Box
    • Reference: DetectionMethodEnumeration

Mitigation Object

PropertyTypeDescriptionRequired?
descriptionMarkdownStringa description of this individual mitigation including any strengths and shortcomings of this mitigation for the weakness
effectivenessEffectivenessStringsummarizes how effective the mitigation may be in preventing the weakness
effectiveness_notesMarkdownString
phasesSoftwarePhaseString Listindicates the development life cycle phase during which this particular mitigation may be applied
strategyMitigationStrategyStringa general strategy for protecting a system to which this mitigation contributes

Property description ∷ MarkdownString

a description of this individual mitigation including any strengths and shortcomings of this mitigation for the weakness

  • This entry is required

    • Markdown Markdown string with at most 5000 characters

Property effectiveness ∷ EffectivenessString

summarizes how effective the mitigation may be in preventing the weakness

  • This entry is optional

    • Effectiveness related to how effective a mitigation may be in preventing the weakness
    • Allowed Values:
      • Defense in Depth
      • High
      • Incidental
      • Limited
      • Moderate
      • None
    • Reference: EffectivenessEnumeration

Property effectiveness_notes ∷ MarkdownString

  • This entry is optional

    • Markdown Markdown string with at most 5000 characters

Property phases ∷ SoftwarePhaseString List

indicates the development life cycle phase during which this particular mitigation may be applied

  • This entry is optional

  • This entry's type is sequential (allows zero or more values)

    • SoftwarePhase defines the different regularities that guide the applicability of platforms
    • Allowed Values:
      • Architecture and Design
      • Build and Compilation
      • Bundling
      • Distribution
      • Documentation
      • Implementation
      • Installation
      • Operation
      • Patching and Maintenance
      • Policy
      • Porting
      • Requirements
      • System Configuration
      • Testing
    • Reference: PhaseEnumeration

Property strategy ∷ MitigationStrategyString

a general strategy for protecting a system to which this mitigation contributes

  • This entry is optional

    • MitigationStrategy strategy for protecting a system to which a mitigation contributes
    • Allowed Values:
      • Attack Surface Reduction
      • Compilation or Build Hardening
      • Enforcement by Conversion
      • Environment Hardening
      • Firewall
      • Input Validation
      • Language Selection
      • Libraries or Frameworks
      • Output Encoding
      • Parameterization
      • Refactoring
      • Resource Limitation
      • Sandbox or Jail
      • Separation of Privilege
    • Reference: MitigationStrategyEnumeration

Note Object

PropertyTypeDescriptionRequired?
noteMarkdownString
typeNoteTypeString

Property note ∷ MarkdownString

  • This entry is required

    • Markdown Markdown string with at most 5000 characters

Property type ∷ NoteTypeString

  • This entry is required

Can you improve this documentation? These fine people already did:
Guillaume Buisson, Guillaume Erétéo, Ambrose Bonnaire-Sergeant & Matthieu Sprunck
Edit on GitHub

cljdoc is a website building & hosting documentation for Clojure/Script libraries

× close