Hacktoberfest 2026: the issues maintainers tagged for October, open and beginner-friendly. Browse Hacktoberfest issues

[Feature]: Populate isOptional on DBX baseline entries where the field is absent

Open
#466 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Assessment

Difficulty
3/5
Estimated time
1-2 days
Newbie friendliness
55/100
Issue type
Feature
Clarity
Mostly clear
Activity status
Active
Tech stack
json
Domain
security

Research direction

Start with dbx_info_msft_latest.json and inventory every revocation entry that lacks isOptional. Determine whether each missing value is true or false, preserving hashes, signing-authority attribution, and ordering, then validate that every entry has an explicit boolean and that the baseline remains valid JSON.

Written by the indexing model from the issue text.

Description

state:needs-triage type:feature-request urgency:low
Feature Overview

Populate isOptional on DBX baseline entries where the field is absent

Summary

In the global DBX baseline (dbx_info_msft_latest.json), some revocation entries carry an explicit isOptional flag while others omit it entirely. Consumers that parse this baseline have to infer optionality from the field's absence, which is ambiguous and error-prone. Please set isOptional explicitly on every entry so the field is always present with a defined boolean value.

Context

The baseline mixes mandatory and optional revocations (e.g., the BlackLotus-attributed hashes are marked isOptional). Today that distinction is only reliable for entries that already include the field. Entries missing it force consumers to guess whether absence means false, true, or "unspecified."

Request

  • Add isOptional to all entries in dbx_info_msft_latest.json that currently lack it, with an explicit true/false value.
  • Treat the field as required going forward so future additions always include it.

Why it matters

Explicit, always-present optionality lets downstream tooling parse the baseline deterministically instead of relying on field absence as implicit signal. (Motivation on our side: our DBX parsing tooning consumes this baseline and currently has to special-case missing isOptional.)

Proposed change

For each entry without the field, add "isOptional": <true|false> reflecting its intended enforcement status. No change to hashes, signing-authority attribution, or ordering — field-population only.

Open questions

  • For entries where the field is currently absent, what is the intended default — false (mandatory), or should each be reviewed individually?
Solution Overview

In the global DBX baseline (dbx_info_msft_latest.json), the isOptional flag is present on some revocation entries but omitted on others. Consumers that parse this baseline currently have to infer optionality from the field's absence, which is ambiguous.

Please populate isOptional explicitly on every entry that currently lacks it, with a defined true/false value, and treat the field as required going forward so future additions always include it.

This makes the mandatory-vs-optional distinction (e.g., the BlackLotus-attributed hashes marked isOptional) parseable deterministically, instead of relying on field absence as an implicit signal. No change to hashes, signing-authority attribution, or ordering is requested — this is field-population only.

Alternatives Considered

Inferring optionality from field absence on the consumer side (treating missing isOptional as false). Rejected because absence is ambiguous — it could mean mandatory, optional, or unspecified — and requires every downstream tool to hard-code the same assumption rather than reading an explicit value from the baseline.

Urgency

Low

Are you going to implement the feature request?

I will implement the feature

Do you need maintainer feedback?

No maintainer feedback needed

Anything else?

No response

Dominant language
Python
Stars
289
Forks
89
Avg merge
3d 10h
Merged PRs (30d)
7

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.

More from microsoft/secureboot_objects

All issues in microsoft/secureboot_objects

Similar issues

More Python issues

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.