Skip to content

fix(mappings): join Appendix A labels to mapping ids and lock the crosswalk - #161

Open
drk-ram wants to merge 1 commit into
GenAI-Security-Project:mainfrom
drk-ram:fix/mapping-crosswalk-integrity
Open

drk-ram wants to merge 1 commit into
GenAI-Security-Project:mainfrom
drk-ram:fix/mapping-crosswalk-integrity

Conversation

@drk-ram

@drk-ram drk-ram commented Nov 1, 2026

Copy link
Copy Markdown

Summary

Closes #160.

Appendix A cites AIVSS-1 through AIVSS-10. The mapping file stores the source ordinals 1 through 10, which is what the extraction notes require, and recorded no label a joiner could use. This adds display_id without renumbering those ordinals, and adds an offline check that the rest of the crosswalk still joins.

What the check locks

  • Every element id in an Appendix A by-framework table resolves to exactly one mappings/*.json element. AIVSS labels resolve through display_id.
  • Mapping files have no duplicate ids.
  • A coverage-matrix symbol agrees with the section: primary requires a primary row, supporting requires rows and no primary, and an em dash requires no row.
  • Where Appendix A quotes a catalog title (ASI, DSGAI, ATLAS, ATT&CK, AIVSS), the quoted title matches. The one waiver is the DSGAI07 short title, which open PR fix(appendix-a,zenodo): align DSGAI07 title with dsgai-v1.0.json and enforce UTF-8 in zenodo_release.py #153 already replaces. CWE, NIST AI RMF, and AICM are checked by id, because those tables abbreviate titles on purpose.

What this does not touch

Validation

python .github/scripts/test_validate_mapping_crosswalk.py

Result: 5 tests, OK.

The repository check is one of those tests. The others copy 2026/final/ and fail on a duplicate ASI id, an AIVSS-99 label, and a coverage-matrix mark added for LLM10 / NIST AI RMF without a section row.

…sswalk

Record AIVSS display ids for the ordinal elements and reject an unresolved id, a duplicate id, or a coverage-matrix symbol that disagrees with the by-framework table.

Signed-off-by: Raghuvar Karthik Durga <177662415+drk-ram@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

[2026 errata] Appendix A crosswalk does not join to mapping ids

1 participant