{"id":15559307,"url":"https://github.com/gabrielfalcao/sanitation","last_synced_at":"2026-02-23T05:01:49.667Z","repository":{"id":203855983,"uuid":"710561774","full_name":"gabrielfalcao/sanitation","owner":"gabrielfalcao","description":"🦀 Tool for developing memory-safe programs while detecting and capturing possibly malicious bytes.","archived":false,"fork":false,"pushed_at":"2025-11-15T18:12:50.000Z","size":47,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-12-06T06:40:12.006Z","etag":null,"topics":["cybersecurity","forensic-analysis","rust"],"latest_commit_sha":null,"homepage":"https://docs.rs/sanitation/latest/sanitation/","language":"Rust","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/gabrielfalcao.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":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":"2023-10-27T00:42:10.000Z","updated_at":"2025-11-15T18:12:54.000Z","dependencies_parsed_at":null,"dependency_job_id":"28508a9c-761b-48f8-990d-c1ca566ff7f1","html_url":"https://github.com/gabrielfalcao/sanitation","commit_stats":null,"previous_names":["gabrielfalcao/sanitation"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/gabrielfalcao/sanitation","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fsanitation","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fsanitation/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fsanitation/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fsanitation/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gabrielfalcao","download_url":"https://codeload.github.com/gabrielfalcao/sanitation/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gabrielfalcao%2Fsanitation/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29738083,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-23T04:51:08.365Z","status":"ssl_error","status_checked_at":"2026-02-23T04:49:15.865Z","response_time":90,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.5:443 state=error: 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":["cybersecurity","forensic-analysis","rust"],"created_at":"2024-10-02T15:44:47.863Z","updated_at":"2026-02-23T05:01:49.652Z","avatar_url":"https://github.com/gabrielfalcao.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# sanitation\n\nTool for developing memory-safe programs while detecting and capturing possibly malicious bytes.\n\n## Basic Design\n\n\nStructs within the `sanitation` crate provide a `garbage()` method\nwhich returns potentially malicious bytes or covert communication\nchannels.\n\nPutting it simply, this crate serves as an effective tool to convert\nstreams of bytes into valid strings while providing ways to check\nwhether seeming garbage bytes might actually characterize *exploits* or\n*covert communication channels*, empowering developers and programs, for\ninstance, to kill unwanted connections, insecure connections or even\npoorly-secured connections.\n\n\n```shell\ncargo add sanitation\n```\n\n## Example\n\n```rust\nuse sanitation::{to_hex, Error, SString};\n\nfn main() -\u003e Result\u003c(), Error\u003c'static\u003e\u003e {\n    let data = [\n        0x54, 0x68, 0x65, 0x20, 0x71, 0x75, 0x69, 0x63, 0x6b, 0x20, 0x62, 0x72, 0x6f, 0x77, 0x6e,\n        0x20, 0x66, 0x6f, 0x78, 0x20, 0x6a, 0x75, 0x6d, 0x70, 0x73, 0x20, 0x6f, 0x76, 0x65, 0x72,\n        0x20, 0x74, 0x68, 0x65, 0x20, 0x6c, 0x61, 0x7a, 0x79, 0x20, 0x64, 0x6f, 0x67, 0xf4, 0xf1,\n        0xf2, 0xf3,\n    ];\n    let sstring = SString::new(\u0026data);\n    println!(\"UTF-8 Safe String:\\t{}\", sstring.unchecked_safe());\n    println!(\"Non-valid UTF-8 bytes:\\t{}\", to_hex(\u0026sstring.garbage()));\n    Ok(())\n}\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielfalcao%2Fsanitation","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgabrielfalcao%2Fsanitation","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgabrielfalcao%2Fsanitation/lists"}