abrignoni / abrignoni/iLEAPP

Provenance Feature

オープン
#1,789 コメント 1 件 リアクション 0 件 担当者 0 名 GitHub で見る
主要言語
Python
スター
1.2k
フォーク
303
平均マージ
4時間 32分
マージ済み PR(30日)
216

説明

Artifact provenance currently stops at the file in LEAPP's. A report row may point to sms.db, but not to the exact record it came from. To verify a row, an examiner must reopen the database, recreate the module’s query, and find the matching record by hand.

Many modules already know the exact source while parsing. SQLite modules know the rowid. Plist and XML modules know the key path. Modules that decode blob columns may know the row, blob field, and offset. There is just nowhere to store this information in the output.

**Proposal**: add an optional source locator to each output row.

For example:
- {"table": "message", "rowid": 412} - {"keypath": "..."} - A short path such as row -> blob column -> field
This could be stored with the source file as (source_file, locator).

The locator should be optional for each row. Some results, such as joined or aggregated rows, do not have one clear source record. In those cases, leaving it out is better than adding an inaccurate locator.

Report writers could include this in TSV or structured output without changing the HTML reports. Existing modules would not need to change. Modules that opt in would become verifiable down to the source record.

If structured output already has a place for this, please point us to it.

Curious what maintainers think. This might intersect with @JamesHabben 's design proposal.

cc @abrignoni @stark4n6 @Johann-PLW

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

評価

この issue はまだ評価されていません。

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。