Skip to content

Add Blink App Support for Android - #1196

Open
frahmco wants to merge 5 commits into
abrignoni:mainfrom
frahmco:blink-camera-information
Open

Add Blink App Support for Android#1196
frahmco wants to merge 5 commits into
abrignoni:mainfrom
frahmco:blink-camera-information

Conversation

@frahmco

@frahmco frahmco commented Aug 21, 2026

Copy link
Copy Markdown

Add Blink App Support for Android

This module adds support for 4 Blink artifacts:

  • Camera Information
  • Camera Entitlements
  • Syncmodule Information
  • Syncmodule Entitlements

All artifacts are present in the BlinkRoom database.

Test Device

This data was collected from a Samsung SM-A166U (A16 5G) running Android 16 with the 2025-10-01 security patch.

  • Ran the tool against a real extraction and confirmed the row counts, not just that it imports.
  • Ran python admin/scripts/check_artifact_output.py <report folder> on that report and fixed or documented every finding. An empty or constant column is often a real result (no group chats, coarse location denied); the fix for those is to say so in the artifact's notes, which is also what stops the checker reporting them.
    --Syncmodule Entitlements holds constant values on 4 columns. This is expected.
  • Checked it against a second app data directory (a second Android user, or two iOS containers). --compare <multi-container report> reads the scaling for you: it should be exactly double.
  • notes, description and sample_data say only what the data shows, and the numbers were re-derived from the finished run.

Anything reviewers should know

I cancelled the original PR for this app because it was poorly done. And this is my first PR and I am a git newcomer.

Add Blink App camera information: 
Created and updated timestamps for cameras
Camera names
Camera serial numbers
Network type
Camera Model
Added artifacts for Camera Entitlements, Syncmodule information, and Syncmodule entitlements.
@frahmco frahmco changed the title Blink camera information Add Blink App Support for Android Aug 21, 2026
Fixed reimport, the first __artifacts_v2__ with the import statement was present twice.

Believe I fixed bad indentation, my local pylint didn't see anything.
Fix indentation (again)
@abrignoni

Copy link
Copy Markdown
Owner

Thanks for the contribution!

This PR changes artifact modules without test data for them. A small fixture with each artifact change lets reviewers run the module against real data, and the committed case keeps guarding the module after merge.

  • BlinkApp.py: please include a fixture with this PR.

Adding a fixture

Generate it from your extraction with the helper (details in create_module_test_cases.md):

python admin/test/scripts/make_test_data.py <module> --case <case_number> --input <extraction.zip>

It writes admin/test/cases/testdata.<module>.json and one zip per artifact under admin/test/cases/data/<module>/.

Size rules:

  • Under 10 MB per zip: commit the files in this PR.
  • 10 to 25 MB: commit the case JSON in the PR and attach the zip to a comment here.
  • Over 25 MB: say so here and a maintainer will arrange a handoff.

If your extraction cannot be shared:

  • If the app appears on a public research image, generate the fixture from that instead. public_corpus_images.md lists the images and where to download them.
  • Or sanitize the real file in place: keep the file the app wrote and overwrite only the personal values, which keeps the format honest.
  • Or script a known session: install the app on a test device with a throwaway account, perform documented actions, and extract that.

If none of those fit, say so here and we will work it out. The PR can still be reviewed and merged with the gap recorded in the artifact's notes.

This is a request, not a gate. Nothing here blocks review.

@abrignoni abrignoni added the needs-test-data Artifact PR without test data for the changed modules label Aug 25, 2026
@frahmco

frahmco commented Aug 25, 2026

Copy link
Copy Markdown
Author

I may be able to use the helper. Let me verify there is no sensitive data. If that isn't possible, I will likely make a copy and sanitize the real db file. Thanks!

@frahmco

frahmco commented Aug 25, 2026

Copy link
Copy Markdown
Author

I edited data that was sensitive from the original BlinkRoom db file, nothing is particularly identifying but just to be cautious. I've attached it here, it is not very large.

I hope to eventually get my hands on some Blink cameras to be able to control actual tests, there's much more data that could be gleaned from the app, I just don't have a way of testing without cameras to connect. Thank you for your time!

BlinkRoom.zip

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

needs-test-data Artifact PR without test data for the changed modules

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants