Cyberlium

Android › Module 2 › Lesson 5

BeginnerModule 2Lesson 5/6

Lab — APK Permission Analyzer

Practice reading permission lists and deciding install-or-reject like a defender

25 min+15 XP3 quiz
Module progress5 of 6

Opening

Analyst mode: score fictional permission profiles. You never download an APK. You write Install, Deny extras, or Reject.

Lessons 1–4 gave you a job-match test (flashlight ≠ SMS), a privacy default (while-using, not always), an install checklist (typed URL, Play Protect, unknown sources off), and a hard no on rooting the daily driver. This lab is paper. Four teaching-fake app profiles — not files, not Play listings you hunt, not live malware — sit in the code blocks below. You will decide Install, Install with extras denied, or Reject, with the red grants that drove the call. Notes go only to $HOME/cyberlium-lab/apk-perm-lab.txt with chmod 600. That file can hold verdicts and permission names. It must not contain live OTPs, real bank package names from your phone, hashes of samples you downloaded, or instructions to infect a device. You will not sideload these profiles. You will not reverse APKs. You will not enable unknown sources "to compare." Scope is your eyes on fiction, then a locked notes file. Next lesson is the module quiz.

1. What you are scoring: job-match, radioactive grants, then a three-way verdict

The rubric is a mechanism, not a slogan. Ask: does each listed capability exist so the stated job can run, or is it an account-takeover key from lesson 1? Radioactive for toys and fake utilities: Accessibility (read UI, tap for you), SMS (OTP inbox), notification access (2FA banners), device admin (hard to remove), draw-over / appear on top (fake pad on the real app). Yellow: Contacts, mic, precise-always location without a sentence that justifies them. Green: Camera for a camera, location while using for maps you would actually navigate, notifications that are not a listener. Verdicts: REJECT means do not install — the bundle is malware-shaped even if the icon is a battery or a bank. DENY EXTRAS means the core job can be legitimate if you reach it via a typed official listing (lesson 3) and you refuse the unmatched prompts at first run. INSTALL (reasonable) means the listed grants match the job; you still keep Play Protect on and you still do not sideload a "copy" of this fiction. Likely-legit on paper is not a license to search the store for a lookalike and tap Install as a lab step.

Write every profile: verdict, red/yellow grants, one-line job-match, safe action (ignore / official typed listing only / uninstall if you already had a cousin). chmod 600 so a shared Windows account does not read the lab. If mkdir or chmod fails natively, use WSL, Git Bash, or macOS/Linux as earlier topics did. Empty files fail. Pasting a real sideloaded APK's dump, a live banking-trojan sample, or someone else's app list into a public gist also fails ethics: the lab is the four profiles below, not a malware museum and not a scan of a partner's phone.

2. Wrong vs right: detonating APKs vs paper scores in apk-perm-lab.txt mode 600

Worked failure — turning a permission lab into a download. Evidence is written verdicts, not an installed sample.

  • Wrong

    Search APK mirrors for "Ultra Battery Saver Pro" and sideload it to confirm Accessibility. Disassemble a live trojan. Enable unknown sources on Chrome "just for the lab." Root so you can dump other apps' permissions. Hide Magisk. Bypass Play Protect. Store real OTPs or a coworker's package list in the notes file. chmod 644 on a shared PC. Score by gut without naming the radioactive grants. This course forbids all of that.

  • Right

    Read Profiles A–D in the code blocks. For each: INSTALL, DENY EXTRAS, or REJECT, with the grants that drove it (Accessibility, SMS, overlay, fake-bank sideload, while-using maps, flashlight+contacts). Write them to $HOME/cyberlium-lab/apk-perm-lab.txt and chmod 600. Never download the fictions. Never install them. Next lesson is Quiz — Android Safety.

3. Hands-on: four fakes, then apk-perm-lab.txt — no Play search, no files

Work top to bottom. Profile A (battery saver) should REJECT if you apply lesson 1: Accessibility plus SMS plus admin plus overlay is a takeover bundle, not a tuner. Profile B (sideloaded "bank") should REJECT: fake finance plus overlay plus Accessibility is Module 1's trojan costume. Profile C (maps) should INSTALL reasonable with while-using location — still deny Contacts if asked, still typed official listing in real life, still no sideload of this fiction. Profile D (flashlight + contacts) should REJECT or DENY EXTRAS with contacts refused; a torch has no address-book job. Fill the notes file. Do not add live targets because the lab felt short.

Command guide

Profile A — fictional battery saver (inspect only, never install)

PROFILE A — FICTIONAL. Do NOT search, download, or sideload.

Command — copy this

Name: Ultra Battery Saver Pro
Claim: "Extends battery 3x. Must enable all services or it will not work."
Source in the story: in-app tutorial + blog APK (not a typed official OEM tool)
Permissions listed:
  - Accessibility (read screen / click for you)
  - Device admin
  - SMS (read)
  - Contacts
  - Draw over other apps / Appear on top
  - Notification access

Expected defender notes (write your own; do not copy blindly): verdict: REJECT red: Accessibility, SMS, notification access, device admin, overlay job_match: saver/tuner does not need OTP inbox or UI control safe_action: do not install; if a cousin exists, uninstall; Play Protect stays on NEVER: sideload a "battery saver" to verify this list

Command guide

Profile B — fictional fake bank (inspect only, never install)

PROFILE B — FICTIONAL. Do NOT visit a lookalike listing or sideload.

Command — copy this

Name: "Example National Bank — Secure Plus"
Claim: "Update required. Install this APK or your account locks tonight."
Source in the story: SMS link + sideload (not the hostname you already type)
Permissions listed:
  - Accessibility
  - Draw over other apps
  - SMS
  - Camera
  - Device admin

Expected defender notes: verdict: REJECT red: sideload + timer + Accessibility + overlay + SMS + admin job_match: a real bank app is reached via typed official URL (lesson 3), not a surprise APK; overlay+Accessibility is overlay phishing safe_action: ignore APK; open the bank app you already installed from the official badge, or type the bank site; never "compare" APKs NEVER: download a banking-trojan sample to reverse

Command guide

Profile C — fictional maps (score it; still no surprise sideload)

PROFILE C — FICTIONAL. Still do not hunt a clone listing as a lab step.

Command — copy this

Name: City Transit Maps
Claim: Offline bus maps for a city you actually visit.
Source in the story: official listing reached from a URL you typed
Permissions listed:
  - Approximate location — while using the app
  - Photos/files for saved offline map packs (picker / app-specific, not All files)
  - Notifications (alerts, NOT notification-listener access)

Scoring hint: grants match navigation + offline files + ordinary alerts. If Contacts or Accessibility appeared, those would flip toward DENY/REJECT. verdict you write: INSTALL (reasonable) — still Deny Contacts if later asked safe_action: only via typed official listing; Play Protect on; no unknown sources Either way: this lab does not require installing anything.

Command guide

Profile D — fictional flashlight with contacts (inspect only)

PROFILE D — FICTIONAL. Do NOT install a "torch" from a chat.

Command — copy this

Name: Super Bright Flashlight
Claim: Torch using the camera LED.
Source in the story: store search lookalike (you did NOT type a vendor URL)
Permissions listed:
  - Camera (or flashlight API)
  - Contacts (read)
  - SMS (optional prompt on first run in the story)
  - Internet

Expected defender notes: verdict: REJECT (or DENY EXTRAS only if you already trust a first-party torch AND you refuse Contacts+SMS — a random lookalike still REJECT) red/yellow: Contacts and SMS fail job-match (lesson 1: flashlight ≠ SMS) lookalike source fails lesson 3 typed-URL check safe_action: use the phone's built-in torch / official OEM tool; no chat APK NEVER: grant Contacts "to see if the light still works"

Command guide

Write scores to apk-perm-lab.txt and chmod 600

Command — copy this

mkdir -p "$HOME/cyberlium-lab"
NOTES="$HOME/cyberlium-lab/apk-perm-lab.txt"

Command — copy this

{
  echo "date: $(date -Iseconds 2>/dev/null || date)"
  echo "ethics: fictional profiles only — did not download/sideload/reverse APKs"
  echo "ethics: no Magisk hide, no Play Protect bypass, no other people's phones"
  echo ""
  echo "=== PROFILE A (battery saver) ==="
  echo "verdict: INSTALL / DENY_EXTRAS / REJECT"
  echo "red_grants:"
  echo "job_match_one_line:"
  echo "safe_action:"
  echo ""
  echo "=== PROFILE B (fake bank APK) ==="
  echo "verdict: INSTALL / DENY_EXTRAS / REJECT"
  echo "red_grants:"
  echo "job_match_one_line:"
  echo "safe_action:"
  echo ""
  echo "=== PROFILE C (transit maps) ==="
  echo "verdict: INSTALL / DENY_EXTRAS / REJECT"
  echo "matched_grants:"
  echo "would_deny_if_asked:"
  echo "safe_action:"
  echo ""
  echo "=== PROFILE D (flashlight + contacts) ==="
  echo "verdict: INSTALL / DENY_EXTRAS / REJECT"
  echo "failed_job_match:"
  echo "safe_action:"
  echo ""
  echo "root_note: uid 0 would make a missed REJECT much worse — daily driver stays stock"
  echo "protect_note: Play Protect on; unknown sources off; never tested via random APK"
} > "$NOTES"

Command — copy this

chmod 600 "$NOTES"

Windows without chmod: WSL/Git Bash, or restrict the file in your profile.

NEVER: curl/browser/sideload any of these names NEVER: dump a live malware APK into NOTES NEVER: enable unknown sources "to complete the lab"

Mission: four verdicts in apk-perm-lab.txt (mode 600)

Score Profiles A, B, C, and D as INSTALL, DENY EXTRAS, or REJECT, with the radioactive or unmatched grants written out (A/B reject-shaped; C while-using maps can be reasonable; D flashlight+contacts fails job-match). Save to $HOME/cyberlium-lab/apk-perm-lab.txt and chmod 600. Do not download or install any APK for this lab. Do not reverse malware. Do not audit someone else's phone.

Stuck? Ask Cyberlium AI Mentor

If A vs C still feels like "both want permissions so both are dangerous," ask for a hint — not a sample file. Try: "Hint only: why is Accessibility+SMS+admin+overlay a REJECT for a battery saver while approximate location while using can be INSTALL for maps — and why must I still not sideload either profile?" You still fill the file.

You practiced the only permission analysis that stays ethical: read a listed grant, match it to a job, write Install / Deny extras / Reject, lock the notes. A and B are takeover costumes. C is a matched maps profile, still not a hunt-and-install. D is a flashlight that wants an address book — lesson 1 in one line. Root would have made a missed REJECT worse; you did not root. Next — Quiz — Android Safety — ten APPLY items on permissions, privacy, installs, and rooting, then Module 3 opens with Updates, Lock Screen & Encryption.

Knowledge Check

1

APPLY: Profile A lists Accessibility, device admin, SMS, contacts, overlay, and notification access for a "battery saver." Correct lab score?

Multiple choice

Knowledge Check

2

APPLY: Profile C asks approximate location while using plus ordinary notifications. Profile D asks Camera plus Contacts and SMS. Pair of verdicts?

Multiple choice

Knowledge Check

3

APPLY: True or False: chmod 600 on $HOME/cyberlium-lab/apk-perm-lab.txt is appropriate because the file is your scoring notes and must not become a shared dump of live APKs, OTPs, or someone else's app list.

True or False

← Previous

Answer all 3 knowledge checks to continue. (0/3 answered)