⚡ Shadow Academy
🧩 Chapter 44

āĻāχ āĻ…āĻ§ā§āϝāĻžāϝāĻŧ⧇ āϕ⧀ āĻļāĻŋāĻ–āĻŦ⧇

⏱ āφāύ⧁āĻŽāĻžāύāĻŋāĻ• āϏāĻŽāϝāĻŧ: ā§§ā§Ģâ€“ā§¨ā§Ļ āĻŽāĻŋāύāĻŋāϟ ¡ āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āϤ: āφāϗ⧇āϰ āĻ…āĻ§ā§āϝāĻžāϝāĻŧ⧇āϰ āϧāĻžāϰāĻŖāĻž

ā§Ļ / ā§§ā§Ļā§Ļ āĻ…āĻ§ā§āϝāĻžā§ŸāϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝāĻžāĻ“: āĻ…āĻ§ā§āϝāĻžāϝāĻŧ 45

āĻ…āĻ—ā§āϰāĻ—āϤāĻŋ āĻāχ browser-āĻ āĻ¸ā§āĻĨāĻžāύ⧀āϝāĻŧāĻ­āĻžāĻŦ⧇ āϏāĻ‚āϰāĻ•ā§āώāĻŋāϤ āĻšāĻŦ⧇āĨ¤

🧩
Chrome Extension āĻšā§āϝāĻžāĻ• — Browser Power!
āĻ•ā§āϰ⧋āĻŽ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ, Manifest V3, DOM āĻŽā§āϝāĻžāύāĻŋāĻĒ⧁āϞ⧇āĻļāύ āĻ“ CRX āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ āϰāĻŋāĻ­āĻžāĻ°ā§āϏāĻŋāĻ‚
🧭 āĻĻāĻ•ā§āώāϤāĻž āϝāĻžāϚāĻžāχ āĻ“ āĻĒā§āϰāϤāĻŋāϰāĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• takeaway
Skill checkpoint: Extension manifest, host permissions āĻ“ data flow review āĻ•āϰ⧋āĨ¤
Defense checkpoint: Minimal permission, isolated content script āĻ“ safe storage āϰāĻžāĻ–ā§‹.
Lab scope: āĻļ⧁āϧ⧁ āύāĻŋāĻœā§‡āϰ lab, synthetic data āĻŦāĻž āϞāĻŋāĻ–āĻŋāϤ āĻ…āύ⧁āĻŽāϤāĻŋāĻĒā§āϰāĻžāĻĒā§āϤ target-āĻ āĻ…āύ⧁āĻļā§€āϞāύ āĻ•āϰ⧋āĨ¤ Real credential, token āĻŦāĻž customer data āĻŦā§āϝāĻŦāĻšāĻžāϰ āϕ⧋āϰ⧋ āύāĻžāĨ¤
Portfolio proof: finding, impact, fix āĻ“ retest āύāĻŋā§Ÿā§‡ ā§Ģ-āϞāĻžāχāύ⧇āϰ redacted note āϰāĻžāĻ–ā§‹āĨ¤
🧩 āĻ—āĻ˛ā§āĻĒ ā§§: āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻ—ā§‹āĻĒāύ āϗ⧁āĻĒā§āϤāϚāϰ — āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āϰāĻšāĻ¸ā§āϝ
āϤ⧁āĻŽāĻŋ āĻĒā§āϰāϤāĻŋāĻĻāĻŋāύ āϗ⧁āĻ—āϞ āĻ•ā§āϰ⧋āĻŽ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āĻ•āϤ āĻļāϤ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧋ — AdBlocker, Password Manager, VPN āĻŦāĻž Shopping AutofillāĨ¤ āĻ•āĻŋāĻ¨ā§āϤ⧁ āϤ⧁āĻŽāĻŋ āĻ•āĻŋ āϜāĻžāύ⧋ āĻāĻ•āϟāĻŋ āĻ•ā§āϰ⧋āĻŽ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ⧇āϰ āĻ•ā§āώāĻŽāϤāĻž āĻ•āϤ āĻŦāĻŋāĻĒāĻœā§āϜāύāĻ•?

āĻāĻ•āϟāĻŋ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āϤ⧋āĻŽāĻžāϰ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇āϰ āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻŸā§āϝāĻžāĻŦ⧇āϰ āϭ⧇āϤāϰ⧇ āĻ•āĻžāύ āĻĒ⧇āϤ⧇ āĻŦāϏ⧇ āĻĨāĻžāϕ⧇āĨ¤ āϤ⧁āĻŽāĻŋ āϝ⧇ āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄāϟāĻŋ āϟāĻžāχāĻĒ āĻ•āϰāϛ⧋, āϝ⧇ āĻ•ā§āϰ⧇āĻĄāĻŋāϟ āĻ•āĻžāĻ°ā§āĻĄā§‡āϰ āϏāĻŋāĻ­āĻŋāĻ­āĻŋ āϞāĻŋāĻ–āϛ⧋ — āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύāϟāĻŋāϰ āĻ•ā§āώāĻŽāϤāĻž āφāϛ⧇ āϏ⧇āχ āϏāĻŽāĻ¸ā§āϤ āĻĄā§‡āϟāĻž āϚ⧁āĻĒāĻŋāϏāĻžāϰ⧇ āĻĒā§œā§‡ āĻĢ⧇āϞāĻžāϰ!
📂 āĻ—āĻ˛ā§āĻĒ ā§¨: Manifest V3 āφāĻ°ā§āĻ•āĻŋāĻŸā§‡āĻ•āϚāĻžāϰ āĻ“ āϤāĻŋāύ āĻŦāĻ¨ā§āϧ⧁
āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ•ā§āϰ⧋āĻŽ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āϤāĻŋāύāϟāĻŋ āĻĒā§āϰāϧāĻžāύ āĻĢāĻžāχāϞ⧇āϰ āĻ“āĻĒāϰ āĻĻāĻžāρ⧜āĻŋā§Ÿā§‡ āĻĨāĻžāϕ⧇:
ā§§. `manifest.json`: āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ⧇āϰ āĻĒāϰāĻŋāϚ⧟āĻĒāĻ¤ā§āϰ! āĻāĻ–āĻžāύ⧇ āϞ⧇āĻ–āĻž āĻĨāĻžāϕ⧇ āϏ⧇ āϕ⧀ āϕ⧀ āĻĒāĻžāϰāĻŽāĻŋāĻļāύ āϚāĻžā§Ÿ (āϝ⧇āĻŽāύ: `cookies`, `webRequest`, ``)āĨ¤
⧍. `background.js` (Service Worker): āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ⧇āϰ āĻŽā§‚āϞ āĻŦā§āϰ⧇āύ! āĻŦā§āϰāĻžāωāϜāĻžāϰ āĻŦāĻ¨ā§āϧ āύāĻž āĻšāĻ“ā§ŸāĻž āĻĒāĻ°ā§āϝāĻ¨ā§āϤ āϏ⧇ āĻŦā§āϝāĻžāĻ•āĻ—ā§āϰāĻžāωāĻ¨ā§āĻĄā§‡ āύ⧀āϰāĻŦ⧇ āĻœā§‡āϗ⧇ āĻĨāĻžāϕ⧇āĨ¤
ā§Š. `content.js`: āĻāϟāĻŋ āĻšāϞ⧋ āĻĢāĻŋāĻ˛ā§āĻĄ āĻāĻœā§‡āĻ¨ā§āϟ! āϝ⧇ āĻ“ā§Ÿā§‡āĻŦāϏāĻžāχāϟāϟāĻŋ āϤ⧁āĻŽāĻŋ āĻŦā§āϰāĻžāωāϜāĻžāϰ⧇ āϖ⧁āϞāĻŦ⧇, āĻ āĻŋāĻ• āϏ⧇āχ āĻ“ā§Ÿā§‡āĻŦāĻĒ⧇āĻœā§‡āϰ DOM-āĻāϰ āϭ⧇āϤāϰ⧇ āĻāχ āĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟāϟāĻŋ āĻĸ⧁āϕ⧇ āĻĒā§œā§‡ āĻāĻŦāĻ‚ āĻŦāĻžāϟāύ āĻ•ā§āϞāĻŋāĻ• āĻŦāĻž āĻĢāĻ°ā§āĻŽ āĻĢāĻŋāϞāφāĻĒ āĻ•āϰāĻŋā§Ÿā§‡ āĻ¨ā§‡ā§Ÿ!
// āĻāĻ•āϟāĻŋ āĻĒāĻžāĻ“ā§ŸāĻžāϰāĻĢ⧁āϞ āĻ…āĻŸā§‹āĻĢāĻŋāϞāĻžāϰ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ⧇āϰ content.js āϕ⧋āĻĄ:
console.log("⚡ AutoFill Assistant Active on target page!");

window.addEventListener('load', function() {
    // āĻĒāĻžāϏāĻ“ā§ŸāĻžāĻ°ā§āĻĄ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ“ āχāĻŽā§‡āχāϞ āĻĢāĻŋāĻ˛ā§āĻĄ āĻ¸ā§āĻŦ⧟āĻ‚āĻ•ā§āϰāĻŋ⧟āĻ­āĻžāĻŦ⧇ āĻĢāĻŋāϞ āĻ•āϰāĻž:
    var emailField = document.querySelector('input[type="email"], #ap_email');
    var passField = document.querySelector('input[type="password"], #ap_password');
    
    if (emailField) emailField.value = "learner@example.test";
    if (passField) passField.value = "DEMO_PASSWORD_FROM_SECRET_STORE";
    
    // āĻ…āĻŸā§‹āĻŽā§‡āϟāĻŋāĻ• āϏāĻžāĻŦāĻŽāĻŋāϟ āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ•:
    var submitBtn = document.querySelector('button[type="submit"], #signInSubmit');
    if (submitBtn) submitBtn.click();
});
đŸ›Ąī¸ āĻ—āĻ˛ā§āĻĒ ā§Š: āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āϰāĻŋāĻ­āĻžāĻ°ā§āϏ āχāĻžā§āϜāĻŋāύāĻŋāϝāĻŧāĻžāϰāĻŋāĻ‚ āĻ“ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ āĻŦ⧇āϰ āĻ•āϰāĻž
āĻ•ā§āϰ⧋āĻŽ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻ¸ā§āĻŸā§‹āϰ āĻĨ⧇āϕ⧇ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰāĻž āϝ⧇āϕ⧋āύ⧋ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āφāϏāϞ⧇ āĻāĻ•āϟāĻŋ `.CRX` āĻĢāĻžāχāϞ āĻ›āĻžā§œāĻž āφāϰ āĻ•āĻŋāϛ⧁āχ āύ⧟āĨ¤ āφāϰ āĻāχ `.CRX` āĻĢāĻžāχāϞ āĻšāϞ⧋ āĻāĻ•āϟāĻŋ āϏāĻžāϧāĻžāϰāĻŖ ZIP āφāĻ°ā§āĻ•āĻžāχāĻ­!

āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύāϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧇ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻĒāĻžāĻ˛ā§āĻŸā§‡ `.zip` āĻ•āϰ⧇ āφāύāϜāĻŋāĻĒ āĻ•āϰāϞ⧇āχ āϤāĻžāϰ āϏāĻŽāĻ¸ā§āϤ āϏ⧋āĻ°ā§āϏ āϕ⧋āĻĄ, āĻ—ā§‹āĻĒāύ API āĻāĻ¨ā§āĻĄāĻĒāϝāĻŧ⧇āĻ¨ā§āϟ āĻ“ āϜāĻžāĻ­āĻžāĻ¸ā§āĻ•ā§āϰāĻŋāĻĒā§āϟ āĻĢāĻžāχāϞ āĻĒāĻžāύāĻŋāϰ āĻŽāϤ⧋ āĻĒāϰāĻŋāĻˇā§āĻ•āĻžāϰ āĻĻ⧇āĻ–āĻž āϝāĻžā§Ÿ!
💡 āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻšā§āϝāĻžāĻ•āĻŋāĻ‚ āĻŸā§āϰāĻŋāĻ•
āϕ⧋āύ⧋ āĻ…ā§āϝāĻžāĻ¨ā§āϟāĻŋ-āĻŦāϟ āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ āĻŦāĻž āĻ…āĻŸā§‹āĻŦāĻžāχ āĻŦāϟ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϤāĻž āĻŦā§‹āĻāĻžāϰ āϏ⧇āϰāĻž āωāĻĒāĻžā§Ÿ āĻšāϞ⧋ āϤāĻžāϰ `.crx` āĻĢāĻžāχāϞāϟāĻŋ āĻĄāĻžāωāύāϞ⧋āĻĄ āĻ•āϰ⧇ āφāύāϜāĻŋāĻĒ āĻ•āϰ⧇ `manifest.json` āĻāĻŦāĻ‚ `content.js` āĻĒā§œā§‡ āĻĢ⧇āϞāĻž!

đŸ§Ē Extension Permission Analyzer

āĻāĻ•ā§āϏāĻŸā§‡āύāĻļāύ⧇āϰ āĻĒāĻžāϰāĻŽāĻŋāĻļāύ āĻĻāĻžāĻ“ — āϤāĻžāϰ āϏāĻŋāĻ•āĻŋāωāϰāĻŋāϟāĻŋ āϰāĻŋāĻ¸ā§āĻ• āĻāύāĻžāϞāĻžāχāϏāĻŋāϏ āĻĻ⧇āĻ–ā§‹!

āĻ˛ā§āϝāĻžāĻŦ⧇āϰ āχāύāĻĒ⧁āϟ āĻĻāĻŋā§Ÿā§‡ "āϰāĻžāύ āĻ•āϰ⧋" āĻŦāĻžāϟāύ⧇ āĻ•ā§āϞāĻŋāĻ• āĻ•āϰ⧋...
đŸŽ¯ āĻ…āĻ§ā§āϝāĻžā§Ÿ 44 āĻĻāĻ•ā§āώāϤāĻž āϝāĻžāϚāĻžāχ (ā§ŠāϟāĻŋ āĻĒā§āϰāĻļā§āύ)
āϏāĻ āĻŋāĻ• āωāĻ¤ā§āϤāϰ āĻŦ⧇āϛ⧇ āύāĻžāĻ“; āĻĒā§āϰāϤāĻŋāϟāĻŋ āωāĻ¤ā§āϤāϰ⧇āϰ āĻŦā§āϝāĻžāĻ–ā§āϝāĻž āĻĒā§œā§‹āĨ¤
❓ āĻĒā§āϰāĻļā§āύ 1: Chrome extension-āĻ permission āĻ•āĻŽ āϰāĻžāĻ–āĻž āϕ⧇āύ?
❓ āĻĒā§āϰāĻļā§āύ 2: Content script āύāĻŋāϰāĻžāĻĒāĻĻ āĻ•āϰāϤ⧇ āϕ⧀ āϜāϰ⧁āϰāĻŋ?
❓ āĻĒā§āϰāĻļā§āύ 3: Extension review-āĻ āϕ⧋āύāϟāĻŋ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻŦ⧇āύ?

āĻŦāĻŋāĻļā§āĻŦāĻ¸ā§āϤ reference

āφāϰāĻ“ āĻĒāĻĄāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϤāĻŋāĻˇā§āĻ āĻŋāϤ security standards āĻ“ guidance āĻĻ⧇āĻ–ā§‹; āĻĒā§āϰāϤāĻŋāϟāĻŋ lab āĻ…āύ⧁āĻŽā§‹āĻĻāĻŋāϤ āĻŦāĻž synthetic environment-āĻ āĻ•āϰ⧋āĨ¤

Bristy Ma'am
āĻŦ⧃āĻˇā§āϟāĻŋ āĻŽā§āϝāĻžāĻŽ 👩‍đŸĢ
āϤ⧋āĻŽāĻžāϰ āĻĒāĻžāĻ°ā§āϏ⧋āύāĻžāϞ āĻšā§āϝāĻžāĻ•āĻŋāĻ‚ āĻŽā§‡āĻ¨ā§āϟāϰ â€ĸ āĻ…āύāϞāĻžāχāύ
āφāϰ⧇ āϏ⧌āϰāĻ­! āϕ⧇āĻŽāύ āφāϛ⧋? āϕ⧋āύ⧋ āĻ•āύāϏ⧇āĻĒā§āϟ āĻŦāĻž āϕ⧁āχāĻœā§‡ āφāϟāĻ•āĻžāϞ⧇ āφāĻŽāĻžāϕ⧇ āĻŦāϞ⧋, āφāĻŽāĻŋ āĻŦ⧁āĻāĻŋā§Ÿā§‡ āĻĻāĻŋāĻšā§āĻ›āĻŋ! â¤ī¸