René's URL Explorer Experiment


Title: GitHub - trailofbits/polyfile: A pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer

Open Graph Title: GitHub - trailofbits/polyfile: A pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer

X Title: GitHub - trailofbits/polyfile: A pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer

Description: A pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer - trailofbits/polyfile

Open Graph Description: A pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer - trailofbits/polyfile

X Description: A pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer - trailofbits/polyfile

Opengraph URL: https://github.com/trailofbits/polyfile

X: @github

direct link

Domain: patch-diff.githubusercontent.com

route-pattern/:user_id/:repository
route-controllerfiles
route-actiondisambiguate
fetch-noncev2:094107a3-ab01-125a-8918-94219f9d94ff
current-catalog-service-hashf3abb0cc802f3d7b95fc8762b94bdcb13bf39634c40c357301c4aa1d67a256fb
request-idAE0E:E8C95:112A5FA:17997F7:698E2082
html-safe-nonce5cd128712d4a2d3153dfb6639b7abdc2648ef1893aa22e1e24770ed9d4ed147e
visitor-payloadeyJyZWZlcnJlciI6IiIsInJlcXVlc3RfaWQiOiJBRTBFOkU4Qzk1OjExMkE1RkE6MTc5OTdGNzo2OThFMjA4MiIsInZpc2l0b3JfaWQiOiIzNDc4MTk5NDQ0NDY5MzI1OTU1IiwicmVnaW9uX2VkZ2UiOiJpYWQiLCJyZWdpb25fcmVuZGVyIjoiaWFkIn0=
visitor-hmac5c753da4112a77dad640bba72d515ad13c499f216e877557765290cef7fea0be
hovercard-subject-tagrepository:193975534
github-keyboard-shortcutsrepository,copilot
google-site-verificationApib7-x98H0j5cPqHWwSMm6dNU4GmODRoqxLiDzdx9I
octolytics-urlhttps://collector.github.com/github/collect
analytics-location//
fb:app_id1401488693436528
apple-itunes-appapp-id=1477376905, app-argument=https://github.com/trailofbits/polyfile
twitter:imagehttps://opengraph.githubassets.com/71b04b36c27eba537625376140cd733b9276dcc75a8067857d9cda0d628e972e/trailofbits/polyfile
twitter:cardsummary_large_image
og:imagehttps://opengraph.githubassets.com/71b04b36c27eba537625376140cd733b9276dcc75a8067857d9cda0d628e972e/trailofbits/polyfile
og:image:altA pure Python cleanroom implementation of libmagic, with instrumented parsing from Kaitai struct and an interactive hex viewer - trailofbits/polyfile
og:image:width1200
og:image:height600
og:site_nameGitHub
og:typeobject
hostnamegithub.com
expected-hostnamegithub.com
None7d71262819a4a68a7786924c05495bfd40a7561e4258dd129ba36f53d667639a
turbo-cache-controlno-preview
go-importgithub.com/trailofbits/polyfile git https://github.com/trailofbits/polyfile.git
octolytics-dimension-user_id2314423
octolytics-dimension-user_logintrailofbits
octolytics-dimension-repository_id193975534
octolytics-dimension-repository_nwotrailofbits/polyfile
octolytics-dimension-repository_publictrue
octolytics-dimension-repository_is_forkfalse
octolytics-dimension-repository_network_root_id193975534
octolytics-dimension-repository_network_root_nwotrailofbits/polyfile
turbo-body-classeslogged-out env-production page-responsive
disable-turbofalse
browser-stats-urlhttps://api.github.com/_private/browser/stats
browser-errors-urlhttps://api.github.com/_private/browser/errors
release1d904ac995eb43f93014fbdbcc9ae5878653c932
ui-targetfull
theme-color#1e2327
color-schemelight dark

Links:

Skip to contenthttps://patch-diff.githubusercontent.com/trailofbits/polyfile#start-of-content
https://patch-diff.githubusercontent.com/
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftrailofbits%2Fpolyfile
GitHub CopilotWrite better code with AIhttps://github.com/features/copilot
GitHub SparkBuild and deploy intelligent appshttps://github.com/features/spark
GitHub ModelsManage and compare promptshttps://github.com/features/models
MCP RegistryNewIntegrate external toolshttps://github.com/mcp
ActionsAutomate any workflowhttps://github.com/features/actions
CodespacesInstant dev environmentshttps://github.com/features/codespaces
IssuesPlan and track workhttps://github.com/features/issues
Code ReviewManage code changeshttps://github.com/features/code-review
GitHub Advanced SecurityFind and fix vulnerabilitieshttps://github.com/security/advanced-security
Code securitySecure your code as you buildhttps://github.com/security/advanced-security/code-security
Secret protectionStop leaks before they starthttps://github.com/security/advanced-security/secret-protection
Why GitHubhttps://github.com/why-github
Documentationhttps://docs.github.com
Bloghttps://github.blog
Changeloghttps://github.blog/changelog
Marketplacehttps://github.com/marketplace
View all featureshttps://github.com/features
Enterpriseshttps://github.com/enterprise
Small and medium teamshttps://github.com/team
Startupshttps://github.com/enterprise/startups
Nonprofitshttps://github.com/solutions/industry/nonprofits
App Modernizationhttps://github.com/solutions/use-case/app-modernization
DevSecOpshttps://github.com/solutions/use-case/devsecops
DevOpshttps://github.com/solutions/use-case/devops
CI/CDhttps://github.com/solutions/use-case/ci-cd
View all use caseshttps://github.com/solutions/use-case
Healthcarehttps://github.com/solutions/industry/healthcare
Financial serviceshttps://github.com/solutions/industry/financial-services
Manufacturinghttps://github.com/solutions/industry/manufacturing
Governmenthttps://github.com/solutions/industry/government
View all industrieshttps://github.com/solutions/industry
View all solutionshttps://github.com/solutions
AIhttps://github.com/resources/articles?topic=ai
Software Developmenthttps://github.com/resources/articles?topic=software-development
DevOpshttps://github.com/resources/articles?topic=devops
Securityhttps://github.com/resources/articles?topic=security
View all topicshttps://github.com/resources/articles
Customer storieshttps://github.com/customer-stories
Events & webinarshttps://github.com/resources/events
Ebooks & reportshttps://github.com/resources/whitepapers
Business insightshttps://github.com/solutions/executive-insights
GitHub Skillshttps://skills.github.com
Documentationhttps://docs.github.com
Customer supporthttps://support.github.com
Community forumhttps://github.com/orgs/community/discussions
Trust centerhttps://github.com/trust-center
Partnershttps://github.com/partners
GitHub SponsorsFund open source developershttps://github.com/sponsors
Security Labhttps://securitylab.github.com
Maintainer Communityhttps://maintainers.github.com
Acceleratorhttps://github.com/accelerator
Archive Programhttps://archiveprogram.github.com
Topicshttps://github.com/topics
Trendinghttps://github.com/trending
Collectionshttps://github.com/collections
Enterprise platformAI-powered developer platformhttps://github.com/enterprise
GitHub Advanced SecurityEnterprise-grade security featureshttps://github.com/security/advanced-security
Copilot for BusinessEnterprise-grade AI featureshttps://github.com/features/copilot/copilot-business
Premium SupportEnterprise-grade 24/7 supporthttps://github.com/premium-support
Pricinghttps://github.com/pricing
Search syntax tipshttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
documentationhttps://docs.github.com/search-github/github-code-search/understanding-github-code-search-syntax
Sign in https://patch-diff.githubusercontent.com/login?return_to=https%3A%2F%2Fgithub.com%2Ftrailofbits%2Fpolyfile
Sign up https://patch-diff.githubusercontent.com/signup?ref_cta=Sign+up&ref_loc=header+logged+out&ref_page=%2F%3Cuser-name%3E%2F%3Crepo-name%3E&source=header-repo&source_repo=trailofbits%2Fpolyfile
Reloadhttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Reloadhttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Reloadhttps://patch-diff.githubusercontent.com/trailofbits/polyfile
trailofbits https://patch-diff.githubusercontent.com/trailofbits
polyfilehttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Ftrailofbits%2Fpolyfile
Fork 29 https://patch-diff.githubusercontent.com/login?return_to=%2Ftrailofbits%2Fpolyfile
Star 379 https://patch-diff.githubusercontent.com/login?return_to=%2Ftrailofbits%2Fpolyfile
Apache-2.0 license https://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/LICENSE
379 stars https://patch-diff.githubusercontent.com/trailofbits/polyfile/stargazers
29 forks https://patch-diff.githubusercontent.com/trailofbits/polyfile/forks
Branches https://patch-diff.githubusercontent.com/trailofbits/polyfile/branches
Tags https://patch-diff.githubusercontent.com/trailofbits/polyfile/tags
Activity https://patch-diff.githubusercontent.com/trailofbits/polyfile/activity
Star https://patch-diff.githubusercontent.com/login?return_to=%2Ftrailofbits%2Fpolyfile
Notifications https://patch-diff.githubusercontent.com/login?return_to=%2Ftrailofbits%2Fpolyfile
Code https://patch-diff.githubusercontent.com/trailofbits/polyfile
Issues 18 https://patch-diff.githubusercontent.com/trailofbits/polyfile/issues
Pull requests 2 https://patch-diff.githubusercontent.com/trailofbits/polyfile/pulls
Actions https://patch-diff.githubusercontent.com/trailofbits/polyfile/actions
Projects 0 https://patch-diff.githubusercontent.com/trailofbits/polyfile/projects
Security 0 https://patch-diff.githubusercontent.com/trailofbits/polyfile/security
Insights https://patch-diff.githubusercontent.com/trailofbits/polyfile/pulse
Code https://patch-diff.githubusercontent.com/trailofbits/polyfile
Issues https://patch-diff.githubusercontent.com/trailofbits/polyfile/issues
Pull requests https://patch-diff.githubusercontent.com/trailofbits/polyfile/pulls
Actions https://patch-diff.githubusercontent.com/trailofbits/polyfile/actions
Projects https://patch-diff.githubusercontent.com/trailofbits/polyfile/projects
Security https://patch-diff.githubusercontent.com/trailofbits/polyfile/security
Insights https://patch-diff.githubusercontent.com/trailofbits/polyfile/pulse
Brancheshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/branches
Tagshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tags
https://patch-diff.githubusercontent.com/trailofbits/polyfile/branches
https://patch-diff.githubusercontent.com/trailofbits/polyfile/tags
900 Commitshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/commits/master/
https://patch-diff.githubusercontent.com/trailofbits/polyfile/commits/master/
.githubhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/.github
.githubhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/.github
docshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/docs
docshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/docs
file @ 6403d2bhttps://patch-diff.githubusercontent.com/file/file/tree/6403d2b35b266adf6f4344f96d3ac92eebac7633
file @ 6403d2bhttps://patch-diff.githubusercontent.com/file/file/tree/6403d2b35b266adf6f4344f96d3ac92eebac7633
hookshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/hooks
hookshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/hooks
kaitai_struct_formats @ 17629c7https://patch-diff.githubusercontent.com/kaitai-io/kaitai_struct_formats/tree/17629c7d03e4dc12573b177d9dda7144f4bf7b6e
kaitai_struct_formats @ 17629c7https://patch-diff.githubusercontent.com/kaitai-io/kaitai_struct_formats/tree/17629c7d03e4dc12573b177d9dda7144f4bf7b6e
logohttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/logo
logohttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/logo
polyfilehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/polyfile
polyfilehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/polyfile
polymergehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/polymerge
polymergehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/polymerge
testdatahttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/testdata
testdatahttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/testdata
testshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/tests
testshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/tree/master/tests
.gitignorehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/.gitignore
.gitignorehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/.gitignore
.gitmoduleshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/.gitmodules
.gitmoduleshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/.gitmodules
.travis.ymlhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/.travis.yml
.travis.ymlhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/.travis.yml
CLAUDE.mdhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/CLAUDE.md
CLAUDE.mdhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/CLAUDE.md
CODEOWNERShttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/CODEOWNERS
CODEOWNERShttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/CODEOWNERS
LICENSEhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/LICENSE
LICENSEhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/LICENSE
MANIFEST.inhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/MANIFEST.in
MANIFEST.inhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/MANIFEST.in
README.mdhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/README.md
README.mdhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/README.md
compile_kaitai_parsers.pyhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/compile_kaitai_parsers.py
compile_kaitai_parsers.pyhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/compile_kaitai_parsers.py
setup.pyhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/setup.py
setup.pyhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/setup.py
READMEhttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Apache-2.0 licensehttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Securityhttps://patch-diff.githubusercontent.com/trailofbits/polyfile
https://patch-diff.githubusercontent.com/trailofbits/polyfile#polyfile
https://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/logo/polyfile_name.png?raw=true
https://badge.fury.io/py/polyfile
https://github.com/trailofbits/polyfile/actions
https://slack.empirehacking.nyc
a pure-Python implementation of libmagichttps://patch-diff.githubusercontent.com/trailofbits/polyfile#file-support
file commandhttps://github.com/file/file
binwalkhttps://github.com/ReFirmLabs/binwalk
PolyTrackerhttps://github.com/trailofbits/polytracker
https://patch-diff.githubusercontent.com/trailofbits/polyfile#quickstart
https://patch-diff.githubusercontent.com/trailofbits/polyfile#usage
https://patch-diff.githubusercontent.com/trailofbits/polyfile#interactive-debugger
https://patch-diff.githubusercontent.com/trailofbits/polyfile#file-support
pure Python implementation of the libmagic file classifierhttps://patch-diff.githubusercontent.com/trailofbits/polyfile#libmagic-implementation
Didier Stevens' public domain, permissive, forensic parserhttps://blog.didierstevens.com/programs/pdf-tools/
Kaitai Struct grammarhttps://formats.kaitai.io/jpeg/index.html
iNEShttps://wiki.nesdev.com/w/index.php/INES
Any other formathttps://formats.kaitai.io/index.html
KSY grammarhttps://doc.kaitai.io/user_guide.html
TrID databasehttp://mark0.net/soft-trid-deflist.html
https://patch-diff.githubusercontent.com/trailofbits/polyfile#output-format
SBuDhttps://github.com/corkami/sbud
in the documentationhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/docs/json_format.md
https://patch-diff.githubusercontent.com/trailofbits/polyfile#libmagic-implementation
libmagic (used in the file command)https://github.com/file/file
https://patch-diff.githubusercontent.com/trailofbits/polyfile#extending-polyfile
in the documentationhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/docs/extending_polyfile.md
https://patch-diff.githubusercontent.com/trailofbits/polyfile#license-and-acknowledgements
Trail of Bitshttps://www.trailofbits.com/
Galoishttps://galois.com
Apache 2.0 licensehttps://patch-diff.githubusercontent.com/trailofbits/polyfile/blob/master/LICENSE
python https://patch-diff.githubusercontent.com/topics/python
file-format-detection https://patch-diff.githubusercontent.com/topics/file-format-detection
libmagic https://patch-diff.githubusercontent.com/topics/libmagic
file-formats https://patch-diff.githubusercontent.com/topics/file-formats
polyglots https://patch-diff.githubusercontent.com/topics/polyglots
Readme https://patch-diff.githubusercontent.com/trailofbits/polyfile#readme-ov-file
Apache-2.0 license https://patch-diff.githubusercontent.com/trailofbits/polyfile#Apache-2.0-1-ov-file
Security policy https://patch-diff.githubusercontent.com/trailofbits/polyfile#security-ov-file
Please reload this pagehttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Activityhttps://patch-diff.githubusercontent.com/trailofbits/polyfile/activity
Custom propertieshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/custom-properties
379 starshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/stargazers
31 watchinghttps://patch-diff.githubusercontent.com/trailofbits/polyfile/watchers
29 forkshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/forks
Report repository https://patch-diff.githubusercontent.com/contact/report-content?content_url=https%3A%2F%2Fgithub.com%2Ftrailofbits%2Fpolyfile&report=trailofbits+%28user%29
Releases 22https://patch-diff.githubusercontent.com/trailofbits/polyfile/releases
PolyFile v0.5.6 Latest Feb 11, 2026 https://patch-diff.githubusercontent.com/trailofbits/polyfile/releases/tag/v0.5.6
+ 21 releaseshttps://patch-diff.githubusercontent.com/trailofbits/polyfile/releases
Packages 0https://patch-diff.githubusercontent.com/orgs/trailofbits/packages?repo_name=polyfile
Please reload this pagehttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Contributors 13https://patch-diff.githubusercontent.com/trailofbits/polyfile/graphs/contributors
Please reload this pagehttps://patch-diff.githubusercontent.com/trailofbits/polyfile
Python 98.0% https://patch-diff.githubusercontent.com/trailofbits/polyfile/search?l=python
https://github.com
Termshttps://docs.github.com/site-policy/github-terms/github-terms-of-service
Privacyhttps://docs.github.com/site-policy/privacy-policies/github-privacy-statement
Securityhttps://github.com/security
Statushttps://www.githubstatus.com/
Communityhttps://github.community/
Docshttps://docs.github.com/
Contacthttps://support.github.com?tags=dotcom-footer

Viewport: width=device-width


URLs of crawlers that visited me.