--- id: wiki-2026-0508-media-literacy title: Media Literacy category: 10_Wiki/Topics status: verified canonical_id: self aliases: [Information Literacy, Source Evaluation, Digital Literacy] duplicate_of: none source_trust_level: A confidence_score: 0.85 verification_status: applied tags: [media-literacy, information, verification, deepfake, security] raw_sources: [] last_reinforced: 2026-05-10 github_commit: pending tech_stack: language: python framework: c2pa --- # Media Literacy ## 매 한 줄 > **"매 source 의 verify, claim 의 cross-check, framing 의 detect — 매 information 의 evaluate skill"**. 매 1990s NAMLE 시작, 매 2026 LLM-generated content + deepfake + C2PA provenance + AI watermark 의 era 에 매 default skill. ## 매 핵심 ### 매 Core skills (5) - **Access**: 매 reliable source 의 find. - **Analyze**: bias, framing, omission 의 detect. - **Evaluate**: credibility, evidence quality. - **Create**: ethical content production. - **Act**: misinformation 의 counter. ### 매 SIFT method (Caulfield) - **Stop**: 매 click 전 pause. - **Investigate**: source 의 background. - **Find**: better/original coverage. - **Trace**: claim 의 original context. ### 매 응용 1. Deepfake detection: C2PA provenance + ML classifier. 2. LLM output: hallucination 의 detect. 3. News pipeline: source ranking. ## 💻 패턴 ### C2PA manifest verification ```python # 매 image 의 provenance 의 verify from c2pa import Reader reader = Reader.from_file('photo.jpg') manifest = reader.json() print(f"Producer: {manifest['active_manifest']['claim_generator']}") print(f"AI generated: {manifest.get('ai_generated', False)}") print(f"Signature valid: {reader.validation_status()}") ``` ### AI watermark detection (SynthID-like) ```python # 매 LLM output 매 watermark 의 detect import torch def detect_watermark(text: str, key: bytes, threshold=0.6) -> bool: tokens = tokenize(text) # green-list ratio (Kirchenbauer 2023) green = sum(1 for t in tokens if hash_token(t, key) % 2 == 0) z = (green - 0.5*len(tokens)) / (0.25*len(tokens))**0.5 return z > threshold * 5 # 매 strict threshold ``` ### Reverse image search (TinEye API) ```python import httpx def reverse_search(image_path: str, api_key: str): with open(image_path, 'rb') as f: r = httpx.post('https://api.tineye.com/rest/search/', files={'image_upload': f}, auth=(api_key, '')) matches = r.json()['results']['matches'] return [(m['image_url'], m['domain'], m['crawl_date']) for m in matches[:5]] ``` ### Source credibility score ```python TRUSTED_DOMAINS = {'reuters.com': 0.95, 'apnews.com': 0.93, 'nature.com': 0.97} SUSPICIOUS = {'.tk', '.click'} def score_source(url: str) -> float: from urllib.parse import urlparse domain = urlparse(url).netloc.lower().lstrip('www.') if domain in TRUSTED_DOMAINS: return TRUSTED_DOMAINS[domain] if any(domain.endswith(s) for s in SUSPICIOUS): return 0.1 return 0.5 # unknown ``` ### Deepfake classifier (FaceForensics++) ```python import torch from transformers import AutoModelForImageClassification, AutoImageProcessor model = AutoModelForImageClassification.from_pretrained( 'prithivMLmods/Deep-Fake-Detector-v2-Model') proc = AutoImageProcessor.from_pretrained('prithivMLmods/Deep-Fake-Detector-v2-Model') def is_deepfake(img) -> tuple[bool, float]: inputs = proc(images=img, return_tensors='pt') with torch.no_grad(): logits = model(**inputs).logits probs = logits.softmax(-1)[0] fake_prob = probs[1].item() return fake_prob > 0.5, fake_prob ``` ### Cross-reference fact-check ```python import asyncio, httpx async def fact_check(claim: str): async with httpx.AsyncClient() as c: r = await c.get('https://factchecktools.googleapis.com/v1alpha1/claims:search', params={'query': claim, 'key': 'KEY'}) results = r.json().get('claims', []) return [(x['text'], x['claimReview'][0]['textualRating']) for x in results] ``` ### Browser ext: provenance badge ```ts // content.ts async function annotateImages() { for (const img of document.querySelectorAll('img')) { const r = await fetch(`/api/c2pa-check?url=${encodeURIComponent(img.src)}`); const { aiGenerated, verified } = await r.json(); if (aiGenerated) img.style.outline = '3px solid orange'; if (!verified) img.title = '매 provenance unverified'; } } ``` ## 매 결정 기준 | 상황 | Approach | |---|---| | News article | SIFT method | | Image authenticity | C2PA + reverse search + deepfake classifier | | LLM output | watermark detect + cross-reference | | Suspicious domain | credibility score < 0.3 → reject | **기본값**: SIFT + tooling-augmented (C2PA, fact-check API). ## 🔗 Graph - 부모: [[Information Literacy]] - 변형: [[Source Evaluation]] - 응용: [[Deepfake-Detection]] - Adjacent: [[Conversational-Maxims]] · [[Procedural-Rhetoric]] ## 🤖 LLM 활용 **언제**: claim cross-reference, framing analysis, summary 의 bias detect. **언제 X**: 매 LLM 자체 매 hallucinate — 매 외부 source 와 cross-check 필수. ## ❌ 안티패턴 - **Headline reading**: 매 click 만 하고 article body 매 읽지 X. - **Single source**: corroboration 매 X. - **Bothsidesism**: 매 lopsided evidence 의 false equivalence. - **No provenance check**: image 매 viral spread 후 reverse search X. ## 🧪 검증 / 중복 - Verified (NAMLE Core Principles, C2PA spec 2.0, SIFT method by Mike Caulfield). - 신뢰도 A. ## 🕓 Changelog | 날짜 | 변경 | |---|---| | 2026-05-08 | Phase 1 | | 2026-05-10 | Manual cleanup — SIFT + C2PA + deepfake tooling |