{"id":50792892,"url":"https://github.com/cryptojones/abby","last_synced_at":"2026-06-12T12:02:26.262Z","repository":{"id":357780116,"uuid":"1238050288","full_name":"CryptoJones/ABBY","owner":"CryptoJones","description":"Artifact, Ballistic, and Binary Yield — Open-Source Forensic Investigation Model","archived":false,"fork":false,"pushed_at":"2026-05-14T07:42:59.000Z","size":7038,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-05-14T09:42:48.543Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/CryptoJones.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"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":"2026-05-13T19:06:16.000Z","updated_at":"2026-05-14T07:43:02.000Z","dependencies_parsed_at":null,"dependency_job_id":null,"html_url":"https://github.com/CryptoJones/ABBY","commit_stats":null,"previous_names":["cryptojones/abby"],"tags_count":null,"template":false,"template_full_name":null,"purl":"pkg:github/CryptoJones/ABBY","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FABBY","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FABBY/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FABBY/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FABBY/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CryptoJones","download_url":"https://codeload.github.com/CryptoJones/ABBY/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CryptoJones%2FABBY/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":34243053,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-05-26T15:22:16.424Z","status":"online","status_checked_at":"2026-06-12T02:00:06.859Z","response_time":109,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":[],"created_at":"2026-06-12T12:01:47.260Z","updated_at":"2026-06-12T12:02:26.204Z","avatar_url":"https://github.com/CryptoJones.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# ABBY — Artifact, Ballistic, and Binary Yield\n\n\u003e **Before deploying in an operational context, read [LIMITATIONS.md](LIMITATIONS.md).**\n\n\n**An Open-Source Model Trained for Law Enforcement Forensic Investigators**\n\n[![License](https://img.shields.io/badge/License-Apache_2.0-blue.svg?logo=apache)](https://opensource.org/licenses/Apache-2.0)\n[![HuggingFace](https://img.shields.io/badge/HuggingFace-Ronin48LLC%2Fabby--lora--adapter-FFD21E?logo=huggingface\u0026logoColor=000)](https://huggingface.co/Ronin48LLC/abby-lora-adapter)\n[![Codeberg](https://img.shields.io/badge/Codeberg-Ronin48%2FABBY-2185D0?logo=codeberg\u0026logoColor=white)](https://codeberg.org/Ronin48/ABBY)\n[![GitHub](https://img.shields.io/badge/GitHub-CryptoJones%2FABBY-181717?logo=github\u0026logoColor=white)](https://github.com/CryptoJones/ABBY)\n[![Version](https://img.shields.io/badge/version-v0.1.1--dev-orange)](CHANGELOG.md)\n\n\u003e *\"I use my powers for good, not evil.\"*\n\u003e — Abby Sciuto, *NCIS*\n\n```\npython3 assets/banner.py\n```\n\n---\n\n## Supporters\n\nABBY is community-funded. Every contribution keeps this project free, open, and in the hands\nof the forensic examiners and investigators who need it most.\n\n| Donor | Amount | Note |\n|---|---|---|\n| Ronin 48, LLC | N/A | Founding donor |\n| Anonymous | $50 | Thank you, Joe Sixpack |\n\n*Want to support ABBY? Reach out to the maintainers.*\n\n---\n\n## Acknowledgments\n\nABBY exists because of the investigators who do this work in the real world — often without recognition, often at personal cost.\n\nSpecial thanks to **Anthony Kava**, Cyber Investigator with the **Pottawattamie County Sheriff's Office**, for his work protecting the community from predators. The mission of this tool is built on the shoulders of people like him.\n\n---\n\n## Overview\n\nABBY is an open-source machine learning model fine-tuned to assist law enforcement forensic\ninvestigators. Given a case file, evidence manifest, or examination request, ABBY identifies\napplicable forensic methodologies, legal standards for evidence admissibility, chain-of-custody\nrequirements, and the statutory framework governing digital, physical, and biological evidence.\n\nABBY was named in the spirit of Abby Sciuto — the forensic scientist who always told the truth\nthe evidence revealed, regardless of where it pointed. This model carries that same obligation:\nto the science, to the standard, and to the chain of custody.\n\n### The Ronin 48 Forensic Suite\n\nABBY is where cases are made or broken. [SELMA](https://codeberg.org/Ronin48/SELMA) identifies\nthe charges. [ATTICUS](https://codeberg.org/Ronin48/ATTICUS) builds the defense. ABBY is why\neither of them has anything to argue about.\n\n| | SELMA | ABBY | ATTICUS |\n|---|---|---|---|\n| **Purpose** | Statute identification and charge analysis | Forensic methodology, evidence standards, chain of custody | Defense strategy and constitutional analysis |\n| **Users** | Patrol officers, detectives, special agents | Forensic examiners, digital investigators, crime scene analysts | Public defenders, defense attorneys |\n| **Output** | Applicable charges, elements, legal reasoning | Forensic methodology guidance, admissibility standards, chain-of-custody checklists | Defense theories, constitutional violations, evidentiary weaknesses |\n| **Repository** | [Ronin48/SELMA](https://codeberg.org/Ronin48/SELMA) | [Ronin48/ABBY](https://codeberg.org/Ronin48/ABBY) | [Ronin48/ATTICUS](https://codeberg.org/Ronin48/ATTICUS) |\n\nTogether, these three models reflect the full arc of a criminal case — and the full weight of\nthe obligation to get it right.\n\n---\n\n## Architecture\n\n- **Base Model:** [Meta Llama 3.3 70B Instruct](https://huggingface.co/meta-llama/Llama-3.3-70B-Instruct) (Llama 3.1 Community License)\n- **Fine-tuning Method:** QLoRA (4-bit quantization with Low-Rank Adaptation)\n- **Context Window:** 128K tokens (native)\n- **Quantization:** NF4 double quantization via bitsandbytes\n- **Origin:** Meta Platforms, Inc. (United States)\n\n---\n\n## Capabilities\n\nGiven an evidence description, examination request, or case file, ABBY can:\n\n1. **Digital Forensics Guidance** — Identify the correct acquisition methodology for computers,\n   mobile devices, cloud storage, and IoT devices; recommend forensic tools (FTK, Cellebrite,\n   EnCase, Autopsy, AXIOM) and explain their evidentiary implications\n2. **Chain of Custody** — Generate chain-of-custody documentation requirements for any evidence\n   type; flag procedural gaps that could result in suppression or challenge\n3. **Legal Standards for Admissibility** — Apply Daubert (federal) and Frye (state) standards\n   to forensic methodologies; identify which tools and techniques are court-accepted and which\n   face documented challenges\n4. **Digital Evidence Statutes** — Identify applicable federal statutes governing electronic\n   evidence: CFAA (18 U.S.C. § 1030), ECPA, Stored Communications Act, and the Fourth Amendment\n   warrant requirements for digital searches\n5. **Physical Evidence Standards** — ASTM and SWGMAT standards for trace evidence, fingerprints,\n   DNA, ballistics, and bloodstain pattern analysis\n6. **Hash Verification** — Explain the evidentiary role of MD5/SHA-256 checksums, write-blocker\n   requirements, and how to testify to evidence integrity\n7. **Expert Witness Preparation** — Help forensic examiners anticipate cross-examination,\n   explain methodology in plain language, and survive Daubert hearings\n8. **Biological Evidence** — DNA collection, preservation, and CODIS submission standards;\n   touch DNA and mixed-sample interpretation limitations\n9. **Counterforensics Identification** — Recognize when evidence suggests attempts to defeat\n   forensic analysis (wiping, encryption, anti-forensic tools) and the appropriate response\n\n---\n\n## Constitutional Override\n\nABBY is trained to know that how evidence is obtained determines whether it can be used.\nNo forensic finding — however compelling — survives an unlawful search. ABBY will flag\nFourth Amendment concerns at the point of evidence collection, not after the examination:\n\n\u003e ⚠ **ADMISSIBILITY CONCERN** — evidence obtained under these circumstances may be subject to\n\u003e suppression under the Fourth Amendment. ABBY recommends consulting with the prosecuting\n\u003e attorney before proceeding with examination.\n\nKey Fourth Amendment digital standards ABBY is trained on:\n\n- *Riley v. California* (2014) — warrant required for cell phone search incident to arrest\n- *Carpenter v. United States* (2018) — warrant required for historical cell-site location data\n- *United States v. Jones* (2012) — GPS tracking constitutes a Fourth Amendment search\n- *Kyllo v. United States* (2001) — thermal imaging of home requires a warrant\n- *United States v. Warshak* (2010) — warrant required for email content\n\n---\n\n## Forensic Disciplines Covered\n\n### Digital Forensics\n- Computer forensics: disk imaging, file system analysis, artifact recovery\n- Mobile device forensics: logical, physical, and chip-off acquisitions\n- Cloud forensics: legal process for cloud providers, preservation letters\n- Network forensics: packet capture, log analysis, traffic reconstruction\n- Memory forensics: volatile data acquisition, malware analysis\n- Social media and OSINT: legal collection methods, preservation\n\n### Physical and Trace Evidence\n- Fingerprint development, comparison, and AFIS submission\n- Ballistics and firearms examination (NIBIN)\n- Bloodstain pattern analysis\n- Trace evidence: fibers, glass, soil, hair\n- Toolmark and impression evidence\n\n### Biological Evidence\n- DNA collection protocols (touch, biological fluids, degraded samples)\n- Chain of custody for biological evidence\n- CODIS submission requirements\n- Limitations of low-template and mixed-profile DNA\n\n### Document and Financial Evidence\n- Questioned document examination\n- Digital document metadata analysis\n- Financial record analysis and subpoena guidance\n\n---\n\n## Where to Get ABBY\n\n### HuggingFace\n\n- **LoRA Adapter:** `Ronin48LLC/abby-lora-adapter`\n- **Merged Model:** `Ronin48LLC/abby-70b` *(coming soon)*\n- **Quantized (GGUF):** `Ronin48LLC/abby-70b-GGUF` — for llama.cpp, LM Studio, Ollama *(coming soon)*\n\n### Ollama\n\n```bash\nollama run Ronin48LLC/abby\n```\n\n### LM Studio\n\nSearch for `Ronin48LLC/abby` once GGUF weights are published to HuggingFace.\n\n---\n\n## Project Structure\n\n```\nABBY/\n├── LICENSE\n├── README.md\n├── CHANGELOG.md\n├── CONTRIBUTING.md\n├── SECURITY.md\n├── assets/\n│   └── banner.py\n├── models/\n│   ├── federal/\n│   └── [state models]/\n├── configs/\n│   ├── training_config.yaml\n│   └── model_config.yaml\n├── data/\n│   ├── raw/\n│   ├── processed/\n│   └── synthetic/\n├── scripts/\n│   ├── data_collection/\n│   │   ├── fetch_nist_standards.py      # NIST SP 800-86, 800-101, 800-61\n│   │   ├── fetch_digital_statutes.py    # CFAA, ECPA, SCA, 4th Amendment case law\n│   │   ├── fetch_forensic_caselaw.py    # Daubert hearings, suppression orders\n│   │   └── fetch_swg_standards.py       # SWGMAT, SWGDAM, SWGFAST, SWGGUN standards\n│   ├── training/\n│   │   ├── train_qlora.py\n│   │   ├── prepare_dataset.py\n│   │   └── merge_adapter.py\n│   └── evaluation/\n├── src/abby/\n│   └── prompts.py\n├── tests/\n└── docs/\n    ├── TRAINING.md\n    ├── DATA_SOURCES.md\n    └── USAGE.md\n```\n\n---\n\n## Training Data Sources\n\n| Source | Description | Size | License |\n|--------|-------------|------|---------|\n| NIST SP 800-86 | Guide to Integrating Forensic Techniques into IR | Full publication | Public Domain |\n| NIST SP 800-101 Rev 1 | Guidelines on Mobile Device Forensics | Full publication | Public Domain |\n| NIST SP 800-61 Rev 2 | Computer Security Incident Handling Guide | Full publication | Public Domain |\n| CFAA / ECPA / SCA | Federal digital crime and evidence statutes | ~200 sections | Public Domain |\n| 4th Amendment Digital Case Law | Riley, Carpenter, Jones, Kyllo, Warshak | ~500 opinions | Public Domain |\n| Daubert / Frye Case Law | Forensic admissibility decisions | ~1K opinions | Public Domain |\n| SWGMAT / SWGDAM / SWGFAST | Scientific working group forensic standards | Full standards | Public Domain |\n| NIBIN / AFIS Guidance | Ballistics and fingerprint database standards | Published guides | Public Domain |\n| CourtListener Forensic Cases | Cases involving forensic evidence challenges | ~5K opinions | Open |\n| Synthetic | Generated evidence-to-methodology mappings | ~50K examples | Apache 2.0 |\n\n---\n\n## Disclaimer\n\nABBY is a research tool designed to assist forensic investigators. It is **NOT** a substitute\nfor accredited laboratory procedures, peer-reviewed methodology, or testimony by a qualified\nforensic expert. All outputs should be verified by a certified forensic examiner before any\naction is taken or testimony is given.\n\nForensic science carries extraordinary weight in the courtroom. ABBY is a tool to help\nexaminers work more efficiently and consistently — not a replacement for training,\naccreditation, or professional judgment.\n\nThis software is provided \"AS IS\" without warranty of any kind.\n\n---\n\n## Training Notes\n\nIf you're training ABBY on RunPod or another GPU cloud provider, read [LESSONS_LEARNED.md](LESSONS_LEARNED.md)\nbefore you start. It documents every dependency conflict, environment bug, and hard-won fix\nfrom the first ABBY training run — along with the golden path that avoids all of it.\n\n---\n\n## Contributing\n\nContributions from certified forensic examiners, digital investigators, and legal professionals\nare especially welcome. See [CONTRIBUTING.md](CONTRIBUTING.md) for guidelines.\n\n---\n\n## License\n\n**Project Code, Data, and Documentation:** Apache License 2.0 — Copyright 2026 Ronin 48, LLC.\n\n**Base Model Weights:** Meta Llama 3.1 Community License. Fine-tuned adapter weights and\nall original ABBY contributions remain Apache 2.0.\n\n---\n\nProudly Made in Nebraska. Go Big Red! 🌽\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptojones%2Fabby","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcryptojones%2Fabby","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcryptojones%2Fabby/lists"}