├── .github └── workflows │ └── builds.yaml ├── .gitignore ├── .mailmap ├── CHANGELOG.md ├── CONTRIBUTING.md ├── INSTALL.md ├── LICENSE ├── README.md ├── data ├── mat2.png └── mat2.svg ├── doc ├── comparison_to_others.md ├── implementation_notes.md ├── mat2.1 └── threat_model.md ├── dolphin ├── README.md └── mat2.desktop ├── libmat2 ├── __init__.py ├── abstract.py ├── archive.py ├── audio.py ├── epub.py ├── exiftool.py ├── harmless.py ├── images.py ├── office.py ├── parser_factory.py ├── pdf.py ├── torrent.py ├── video.py └── web.py ├── mat2 ├── pyproject.toml ├── setup.py └── tests ├── __init__.py ├── data ├── broken_xml_content_types.docx ├── comment.docx ├── control_chars.jpg ├── dirty.aiff ├── dirty.avi ├── dirty.bmp ├── dirty.css ├── dirty.docx ├── dirty.epub ├── dirty.flac ├── dirty.gif ├── dirty.heic ├── dirty.html ├── dirty.jpg ├── dirty.mp3 ├── dirty.mp4 ├── dirty.odf ├── dirty.odg ├── dirty.odt ├── dirty.ogg ├── dirty.pdf ├── dirty.png ├── dirty.ppm ├── dirty.svg ├── dirty.tiff ├── dirty.torrent ├── dirty.txt ├── dirty.wav ├── dirty.webp ├── dirty.wmv ├── dirty_with_nsid.docx ├── embedded.docx ├── embedded.odt ├── embedded_corrupted.docx ├── embedded_corrupted.odt ├── malformed_content_types.docx ├── narrated_powerpoint_presentation.pptx ├── no_content_types.docx ├── office_revision_session_ids.docx ├── revision.docx ├── revision.odt ├── weird.svg └── weird_producer.odt ├── fuzz.py ├── test_climat2.py ├── test_corrupted_files.py ├── test_deep_cleaning.py ├── test_libmat2.py ├── test_lightweight_cleaning.py └── test_policy.py /.github/workflows/builds.yaml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/.github/workflows/builds.yaml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/.gitignore -------------------------------------------------------------------------------- /.mailmap: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/.mailmap -------------------------------------------------------------------------------- /CHANGELOG.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/CHANGELOG.md -------------------------------------------------------------------------------- /CONTRIBUTING.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/CONTRIBUTING.md -------------------------------------------------------------------------------- /INSTALL.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/INSTALL.md -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/LICENSE -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/README.md -------------------------------------------------------------------------------- /data/mat2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/data/mat2.png -------------------------------------------------------------------------------- /data/mat2.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/data/mat2.svg -------------------------------------------------------------------------------- /doc/comparison_to_others.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/doc/comparison_to_others.md -------------------------------------------------------------------------------- /doc/implementation_notes.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/doc/implementation_notes.md -------------------------------------------------------------------------------- /doc/mat2.1: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/doc/mat2.1 -------------------------------------------------------------------------------- /doc/threat_model.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/doc/threat_model.md -------------------------------------------------------------------------------- /dolphin/README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/dolphin/README.md -------------------------------------------------------------------------------- /dolphin/mat2.desktop: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/dolphin/mat2.desktop -------------------------------------------------------------------------------- /libmat2/__init__.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/__init__.py -------------------------------------------------------------------------------- /libmat2/abstract.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/abstract.py -------------------------------------------------------------------------------- /libmat2/archive.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/archive.py -------------------------------------------------------------------------------- /libmat2/audio.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/audio.py -------------------------------------------------------------------------------- /libmat2/epub.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/epub.py -------------------------------------------------------------------------------- /libmat2/exiftool.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/exiftool.py -------------------------------------------------------------------------------- /libmat2/harmless.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/harmless.py -------------------------------------------------------------------------------- /libmat2/images.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/images.py -------------------------------------------------------------------------------- /libmat2/office.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/office.py -------------------------------------------------------------------------------- /libmat2/parser_factory.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/parser_factory.py -------------------------------------------------------------------------------- /libmat2/pdf.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/pdf.py -------------------------------------------------------------------------------- /libmat2/torrent.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/torrent.py -------------------------------------------------------------------------------- /libmat2/video.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/video.py -------------------------------------------------------------------------------- /libmat2/web.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/libmat2/web.py -------------------------------------------------------------------------------- /mat2: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/mat2 -------------------------------------------------------------------------------- /pyproject.toml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/pyproject.toml -------------------------------------------------------------------------------- /setup.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/setup.py -------------------------------------------------------------------------------- /tests/__init__.py: -------------------------------------------------------------------------------- 1 | -------------------------------------------------------------------------------- /tests/data/broken_xml_content_types.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/broken_xml_content_types.docx -------------------------------------------------------------------------------- /tests/data/comment.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/comment.docx -------------------------------------------------------------------------------- /tests/data/control_chars.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/control_chars.jpg -------------------------------------------------------------------------------- /tests/data/dirty.aiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.aiff -------------------------------------------------------------------------------- /tests/data/dirty.avi: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.avi -------------------------------------------------------------------------------- /tests/data/dirty.bmp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.bmp -------------------------------------------------------------------------------- /tests/data/dirty.css: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.css -------------------------------------------------------------------------------- /tests/data/dirty.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.docx -------------------------------------------------------------------------------- /tests/data/dirty.epub: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.epub -------------------------------------------------------------------------------- /tests/data/dirty.flac: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.flac -------------------------------------------------------------------------------- /tests/data/dirty.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.gif -------------------------------------------------------------------------------- /tests/data/dirty.heic: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.heic -------------------------------------------------------------------------------- /tests/data/dirty.html: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.html -------------------------------------------------------------------------------- /tests/data/dirty.jpg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.jpg -------------------------------------------------------------------------------- /tests/data/dirty.mp3: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.mp3 -------------------------------------------------------------------------------- /tests/data/dirty.mp4: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.mp4 -------------------------------------------------------------------------------- /tests/data/dirty.odf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.odf -------------------------------------------------------------------------------- /tests/data/dirty.odg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.odg -------------------------------------------------------------------------------- /tests/data/dirty.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.odt -------------------------------------------------------------------------------- /tests/data/dirty.ogg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.ogg -------------------------------------------------------------------------------- /tests/data/dirty.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.pdf -------------------------------------------------------------------------------- /tests/data/dirty.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.png -------------------------------------------------------------------------------- /tests/data/dirty.ppm: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.ppm -------------------------------------------------------------------------------- /tests/data/dirty.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.svg -------------------------------------------------------------------------------- /tests/data/dirty.tiff: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.tiff -------------------------------------------------------------------------------- /tests/data/dirty.torrent: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.torrent -------------------------------------------------------------------------------- /tests/data/dirty.txt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.txt -------------------------------------------------------------------------------- /tests/data/dirty.wav: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.wav -------------------------------------------------------------------------------- /tests/data/dirty.webp: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.webp -------------------------------------------------------------------------------- /tests/data/dirty.wmv: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty.wmv -------------------------------------------------------------------------------- /tests/data/dirty_with_nsid.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/dirty_with_nsid.docx -------------------------------------------------------------------------------- /tests/data/embedded.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/embedded.docx -------------------------------------------------------------------------------- /tests/data/embedded.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/embedded.odt -------------------------------------------------------------------------------- /tests/data/embedded_corrupted.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/embedded_corrupted.docx -------------------------------------------------------------------------------- /tests/data/embedded_corrupted.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/embedded_corrupted.odt -------------------------------------------------------------------------------- /tests/data/malformed_content_types.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/malformed_content_types.docx -------------------------------------------------------------------------------- /tests/data/narrated_powerpoint_presentation.pptx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/narrated_powerpoint_presentation.pptx -------------------------------------------------------------------------------- /tests/data/no_content_types.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/no_content_types.docx -------------------------------------------------------------------------------- /tests/data/office_revision_session_ids.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/office_revision_session_ids.docx -------------------------------------------------------------------------------- /tests/data/revision.docx: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/revision.docx -------------------------------------------------------------------------------- /tests/data/revision.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/revision.odt -------------------------------------------------------------------------------- /tests/data/weird.svg: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/weird.svg -------------------------------------------------------------------------------- /tests/data/weird_producer.odt: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/data/weird_producer.odt -------------------------------------------------------------------------------- /tests/fuzz.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/fuzz.py -------------------------------------------------------------------------------- /tests/test_climat2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/test_climat2.py -------------------------------------------------------------------------------- /tests/test_corrupted_files.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/test_corrupted_files.py -------------------------------------------------------------------------------- /tests/test_deep_cleaning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/test_deep_cleaning.py -------------------------------------------------------------------------------- /tests/test_libmat2.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/test_libmat2.py -------------------------------------------------------------------------------- /tests/test_lightweight_cleaning.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/test_lightweight_cleaning.py -------------------------------------------------------------------------------- /tests/test_policy.py: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/jvoisin/mat2/HEAD/tests/test_policy.py --------------------------------------------------------------------------------