Feature/report identity exposure listing - #1
Open
Sepand96 wants to merge 4 commits into
Open
Conversation
The exposure fact "listing L exposes class C for domain D" is ternary, so it belongs on an edge, not in a node attribute. The previous exposure_pairs array made it invisible to the graph: investigations traverse relationships, and the dashboard widgets aggregate on relationship_type, so neither could answer "how many domains have password leaks". Replace exposure_pairs with three core relationship types from Report to Domain-Name: exposes-login, exposes-password, exposes-session-cookie. The class rides in relationship_type, which is one of the eight fields the relationships widget can already aggregate on, so the analytic queries need no custom front-end code. Domain-Name nodes deduplicate across listings by design - that shared node is what makes the counts meaningful. The STIX property-extension survives as the ingest shorthand: exposure_records is still accepted on import and expanded into observables plus relationships, while export carries only the listing price and lets the facts leave as native STIX relationship objects. Re-importing an exported bundle is idempotent. Also add relationship_exposes-* i18n keys across all ten language files; without them the UI fell back to rendering the raw "relationship_exposes-password" key. Report.exposure_records is now a resolved read model over the relationships, so the graph stays the single source of truth. Exposures are no longer editable from the edition form, since relationships cannot be fieldPatch'ed - they are managed from the Knowledge tab like any other relationship. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Three overlapping listings sharing bki.ir across two markets, so the suite exercises the property the redesign exists for: one deduplicated Domain-Name node that every listing points at, making the class distribution and the per-domain rankings meaningful. Covers import expansion of the exposure_records shorthand, domain-node sharing, the stock aggregations behind the dashboard queries, price-only export with the facts leaving as STIX SROs, the untagged-report write gate, and idempotent re-import. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
Thank you for your contribution, but we need you to sign your commits. Please see https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Proposed changes
Related issues
Checklist
Further comments