PRODUCT GUIDE

threat model

Local software · limited supported scope

Threat model

Assets: vendor CBOM, internal source locations, customer questions, generated statements. Trust boundary 1 is untrusted JSON/XLSX/CSV into local parser. Boundary 2 is internal evidence into customer-facing artifacts. Boundary 3 is customer pack leaving the vendor after human approval.

ThreatPoC controlResidual risk
XLSX ZIP bomb or traversalsize, expansion, ratio and name checks; no archive extractionOOXML parser bugs remain possible
Formula injectionquestion-cell formulas are skipped; generated text is escaped; original template formulas are preserved without evaluationmalicious formulas already present in a customer workbook can remain in the copied output; vendor must inspect untrusted templates
Secret/path disclosurewhitelist output fields; public evidence IDs; internal map excluded from ZIP; high-confidence secret and absolute-path screeningfree text and existing workbook content may still be sensitive; no DLP guarantee
Fabricated technical claimsbounded known algorithm/library names, no component-name fallback, deterministic eligibility and UNKNOWN/owner statesincomplete or false CBOM can still contain incorrect positives
Misuse of absence as a negativeno absence-based “No” answersreviewer may overread PARTIAL
Stale evidenceCBOM timestamp exposed; no freshness claimtimestamp may be wrong
Dependency compromisetwo pinned MIT/Expat packages; no runtime networkpackage integrity must be managed at installation
Wrong-cell XLSX write-backexact header aliases, all-sheet scan, ambiguity stop, explicit vendor-user mapping, empty target check and preservation testsunusual templates can still be misidentified; vendor must compare output
Customer workbook damage or unwanted overwritesource/output path inequality, separate output copy, existing values including whitespace/formulas preserved, protected/merged targets skippedunsupported Excel features can be lost by the XLSX library
Unreviewed existing answer in customer ZIPoriginal content is preserved and approve_existing is required for finalizationvendor may bypass the workflow by sending a local draft manually
Ambiguous or unsupported template creates unsafe outputpreflight blocks compile; reusable user mapping is explicit; every nonempty unmapped sheet needs content-bound vendor acknowledgement; unsupported OOXML parts and target cells are rejectedvendor can incorrectly acknowledge a question sheet, so counts and sheets still need review
Unseen workbook content leaks through write-backpreflight rejects hidden sheets and hidden rows/columns before compilationvisible comments, free text and metadata may still be sensitive; vendor reviews output
Stale or misapplied organizational statementexact product scope, approval/expiry date, exact-question or narrow canonical-intent match, separate OWNER_APPROVED statusa vendor reviewer can approve a false or outdated assertion
Submission without reviewcompile creates visibly marked draft only; finalize requires a decision for each row, checks public artifact and original source-input hashes, and binds review IDs/evidence/status eligibility to the fingerprinted manifestlocal files can always be copied manually; approval identity is self-declared
Wrong-product organizational answerlibrary scope must exactly match the supplied CBOM product name; narrow question/answer templates and expiry checksCBOM identity and reviewer authority are self-declared

No source repository scan, secret retrieval, private key storage, external transfer or remote execution is in scope. A production release would need schema validation, fuzzing, signature/provenance controls for CBOM origin, secure local storage guidance, and independent security review.