{"id":42146108,"url":"https://github.com/ricyoung/2pac","last_synced_at":"2026-01-26T17:56:39.326Z","repository":{"id":287459906,"uuid":"964804967","full_name":"ricyoung/2pac","owner":"ricyoung","description":"Find and eliminate corrupt image files with visual detection. In memory of Jeff Young.","archived":false,"fork":false,"pushed_at":"2025-10-31T00:07:46.000Z","size":745,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-10-31T00:29:06.050Z","etag":null,"topics":["corruption-detection","image-processing","image-validation","jpeg-repair","python-tools"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ricyoung.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY_FIXES_SUMMARY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-04-11T20:18:16.000Z","updated_at":"2025-10-31T00:07:50.000Z","dependencies_parsed_at":"2025-04-11T21:34:12.370Z","dependency_job_id":"6cf8af47-4390-42ee-ae4e-aa5be4fc3c8a","html_url":"https://github.com/ricyoung/2pac","commit_stats":null,"previous_names":["ricyoung/bad-jpg-finder","ricyoung/2pac"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ricyoung/2pac","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricyoung%2F2pac","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricyoung%2F2pac/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricyoung%2F2pac/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricyoung%2F2pac/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ricyoung","download_url":"https://codeload.github.com/ricyoung/2pac/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ricyoung%2F2pac/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28784091,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-26T13:55:28.044Z","status":"ssl_error","status_checked_at":"2026-01-26T13:55:26.068Z","response_time":59,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["corruption-detection","image-processing","image-validation","jpeg-repair","python-tools"],"created_at":"2026-01-26T17:56:38.479Z","updated_at":"2026-01-26T17:56:39.320Z","avatar_url":"https://github.com/ricyoung.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"---\ntitle: 2PAC Picture Analyzer \u0026 Corruption Killer\nemoji: 🔫\ncolorFrom: purple\ncolorTo: blue\nsdk: gradio\nsdk_version: 4.44.0\napp_file: app.py\npinned: false\nlicense: mit\n---\n\n# 🔫 2PAC: Picture Analyzer \u0026 Corruption Killer\n\n**Advanced image security and steganography toolkit**\n\n## Features\n\n### 🔒 Hide Secret Data\nInvisibly hide text messages inside images using **LSB (Least Significant Bit) steganography**:\n- Hide text of any length (capacity depends on image size)\n- Optional password encryption for added security\n- Adjustable LSB depth (1-4 bits per channel)\n- PNG output preserves hidden data perfectly\n\n### 🔍 Detect \u0026 Extract Hidden Data\nAdvanced steganography detection using **RAT Finder** technology:\n- **ELA (Error Level Analysis)** - Highlights compression artifacts\n- **LSB Analysis** - Detects randomness in least significant bits\n- **Histogram Analysis** - Finds statistical anomalies\n- **Metadata Inspection** - Checks EXIF data for suspicious tools\n- **Extract Data** - Recover messages hidden with this tool\n\n### 🛡️ Check Image Integrity\nComprehensive image validation and corruption detection:\n- File format validation (JPEG, PNG, GIF, TIFF, BMP, WebP, HEIC)\n- Header integrity checks\n- Data completeness verification\n- Visual corruption detection (black/gray regions)\n- Structure validation\n\n## How It Works\n\n### LSB Steganography\nThe tool hides data in the **least significant bits** of pixel values. Since changing the last 1-2 bits of a pixel value (e.g., changing 200 to 201) is imperceptible to the human eye, we can encode arbitrary data without visible changes to the image.\n\n**Example:**\n- Original pixel: RGB(156, 89, 201) = `10011100, 01011001, 11001001`\n- After hiding bit '1': RGB(156, 89, 201) = `10011100, 01011001, 11001001` (last bit already 1)\n- After hiding bit '0': RGB(156, 88, 201) = `10011100, 01011000, 11001001` (89→88)\n\nThis allows hiding hundreds to thousands of bytes in a typical photo!\n\n### Steganography Detection\nThe RAT Finder uses multiple forensic techniques:\n\n1. **ELA (Error Level Analysis)**: Re-saves the image at a known quality and compares compression artifacts. Hidden data or manipulation shows as bright areas.\n\n2. **LSB Analysis**: Statistical tests check if the least significant bits are too random (hidden data) or too uniform (natural image).\n\n3. **Histogram Analysis**: Analyzes color distribution for anomalies typical of steganography.\n\n4. **Metadata Forensics**: Checks EXIF data for steganography tools or suspicious editing history.\n\n## Usage Tips\n\n### For Hiding Data:\n- ✅ Use **PNG** images (JPEG compression destroys hidden data)\n- ✅ Larger images = more capacity\n- ✅ Use 1-2 bits per channel for undetectable hiding\n- ✅ Add password encryption for sensitive data\n- ⚠️ Don't re-save or edit the output image!\n\n### For Detection:\n- 🔍 Higher sensitivity = more thorough but more false positives\n- 📊 Check the ELA image for bright spots (potential hiding)\n- 💡 High confidence doesn't guarantee hidden data (could be compression artifacts)\n- 🔓 Use \"Extract Data\" tab if you suspect LSB steganography\n\n### For Corruption Checking:\n- 🛡️ Enable visual corruption check for damaged photos\n- ⚙️ Higher sensitivity for stricter validation\n- 📁 Useful before archiving important photo collections\n\n## About\n\n**2PAC** combines three powerful tools:\n- **LSB Steganography** engine (new!)\n- **RAT Finder** - Advanced steg detection\n- **Image Validator** - Corruption checker\n\nCreated by [Richard Young](https://github.com/ricyoung) | Part of [DeepNeuro.AI](https://deepneuro.ai)\n\n🔗 **GitHub Repository:** [github.com/ricyoung/2pac](https://github.com/ricyoung/2pac)\n🌐 **More Tools:** [demo.deepneuro.ai](https://demo.deepneuro.ai)\n\n## Security \u0026 Privacy\n\n- ✅ All processing happens in your browser session (Hugging Face Space)\n- ✅ Images are not stored or logged\n- ✅ Temporary files are deleted after processing\n- ✅ Your hidden data and passwords are never saved\n\n---\n\n*\"All Eyez On Your Images\" 👁️*\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricyoung%2F2pac","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fricyoung%2F2pac","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fricyoung%2F2pac/lists"}