Skip to content

Convert kik Users-in-Groups + Local Account to artifact_processor (LAVA)#1553

Merged
abrignoni merged 1 commit into
mainfrom
convert-kik-users-localadmin
Jun 22, 2026
Merged

Convert kik Users-in-Groups + Local Account to artifact_processor (LAVA)#1553
abrignoni merged 1 commit into
mainfrom
convert-kik-users-localadmin

Conversation

@abrignoni

Copy link
Copy Markdown
Owner

Summary

First cluster PR of the iLEAPP modernization (following the medicalID pilot, #1552). Converts the two simple kik.sqlite user/group artifacts together — they share the same source and query shape, have no protobuf and no media.

Artifact Report
kikUsersgroups Kik Users in Groups
kikLocaladmin Kik Local Account

kikGroupadmins (blackboxprotobuf decoding) and the media-bearing kik artifacts (kikMessages, kikBplistmeta) are deliberately not in this PR — they'll get their own.

Changes

  • v1 __artifacts____artifacts_v2__; @artifact_processor with the 5-arg iLEAPP signature (unused args underscore-prefixed → pylint 10.00, no disable header per house style).
  • Robust source selection: iterate files_found + endswith('kik.sqlite') with an empty-guard (no files_found[0]).
  • Bug fix: the per-row group sub-query left grouptag/groupdname/zjid/zpurl undefined when it returned no rows (NameError risk / stale carry-over) → initialized to '' each row.
  • Parameterized the sub-query (was an f-string), close the db, drop unused imports (glob/os/nska_deserialize/sqlite3/datetime) and the ArtifactHtmlReport/tsv/timeline plumbing.
  • kikLocaladmin: fixed the Administartor header typo → Administrator.

Validation

  • ast.parse OK; 0 legacy refs; no cross-module imports of the functions.
  • Reserved-word audit clean (incl. Blob).
  • pylint (CI config): 10.00/10 both.
  • Each module loads in isolation: valid __artifacts_v2__, decorated, function name = key, no legacy registry.

First cluster: the two simple kik.sqlite user/group artifacts (same query
shape, no protobuf, no media). kikGroupadmins (blackboxprotobuf decoding) and
the media-bearing kik artifacts are handled separately.

- v1 __artifacts__ -> __artifacts_v2__; @artifact_processor with the 5-arg
  iLEAPP signature (unused args underscore-prefixed; pylint 10.00, no disable
  header).
- Source selected by iterating files_found + endswith('kik.sqlite') with an
  empty-guard (no files_found[0]).
- Harden a latent bug: the per-row group sub-query left grouptag/groupdname/
  zjid/zpurl undefined when it returned no rows -> initialize to '' each row.
- Parameterize the sub-query (was an f-string), close the db, and drop the
  unused glob/os/nska_deserialize/sqlite3/datetime imports and the
  ArtifactHtmlReport/tsv/timeline plumbing.
- kikLocaladmin: fix the 'Administartor' header typo -> 'Administrator'.
@abrignoni abrignoni merged commit 95346b5 into main Jun 22, 2026
1 check passed
@abrignoni abrignoni deleted the convert-kik-users-localadmin branch June 22, 2026 23:53
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.

1 participant