mitre-attack / mitre-attack/attack-data-model

[REQUEST] Ensure external_references' urls are RFC3986 Compliant

Open Beginner friendly
#60 1 comment 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

enhancement
Dominant language
MDX
Stars
93
Forks
25
PR merge metrics
No merged PRs in 30d

Description

Is your feature request related to a problem? Please describe.

STIX 2.1 requires that the Common Data Type of External Reference (external_references) have their url field be RFC3986 compliant (link to STIX 2.1 reference). Ensuring this in the ATT&CK Data Model would help ensure that URLs stay in compliance with STIX 2.1 requirements.

Describe the solution you'd like

This could be added to the zod schema here: https://github.com/mitre-attack/attack-data-model/blob/main/src/schemas/common/property-schemas/stix-external-references.ts

Describe alternatives you've considered

Alternatively we could not bother with this enhancement since it is STIX 2.1 specific, but if not here, then where!?

Additional context

This has bitten the ATT&CK dataset in the past, e.g. here: https://github.com/mitre-attack/attack-stix-data/issues/16

The referenced issue has some good examples of what was historically included in the STIX bundles before they were manually corrected

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with src/schemas/common/property-schemas/stix-external-references.ts and review the RFC3986 and STIX 2.1 references in the issue. Check the historical examples in attack-stix-data issue 16, then verify that external_references URL values are accepted or rejected according to the requested compliance requirements.

Written by the indexing model from the issue text.

Assessment

Tech stack
typescript
Domain
backend
Issue type
Feature
Difficulty
2/5
Estimated time
1-3 hours
Activity status
Quiet
Clarity
Clearly specified
Newbie friendliness
68/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.