{"id":13698742,"url":"https://github.com/ralphje/imagemounter","last_synced_at":"2026-04-09T03:33:00.219Z","repository":{"id":13781031,"uuid":"16476185","full_name":"ralphje/imagemounter","owner":"ralphje","description":"Command line utility and Python package to ease the (un)mounting of forensic disk images","archived":false,"fork":false,"pushed_at":"2023-02-09T15:49:13.000Z","size":1164,"stargazers_count":124,"open_issues_count":6,"forks_count":37,"subscribers_count":11,"default_branch":"master","last_synced_at":"2025-12-19T02:58:46.576Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ralphje.png","metadata":{"files":{"readme":"README.rst","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null}},"created_at":"2014-02-03T10:27:32.000Z","updated_at":"2025-12-09T13:12:26.000Z","dependencies_parsed_at":"2024-01-03T04:02:46.766Z","dependency_job_id":null,"html_url":"https://github.com/ralphje/imagemounter","commit_stats":{"total_commits":385,"total_committers":19,"mean_commits":"20.263157894736842","dds":"0.22857142857142854","last_synced_commit":"383b30b17fe24df64ccef071ffb5443abf203368"},"previous_names":[],"tags_count":40,"template":false,"template_full_name":null,"purl":"pkg:github/ralphje/imagemounter","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphje%2Fimagemounter","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphje%2Fimagemounter/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphje%2Fimagemounter/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphje%2Fimagemounter/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ralphje","download_url":"https://codeload.github.com/ralphje/imagemounter/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ralphje%2Fimagemounter/sbom","scorecard":{"id":760441,"data":{"date":"2025-08-11","repo":{"name":"github.com/ralphje/imagemounter","commit":"383b30b17fe24df64ccef071ffb5443abf203368"},"scorecard":{"version":"v5.2.1-40-gf6ed084d","commit":"f6ed084d17c9236477efd66e5b258b9d4cc7b389"},"score":3.4,"checks":[{"name":"Dangerous-Workflow","score":10,"reason":"no dangerous workflow patterns detected","details":null,"documentation":{"short":"Determines if the project's GitHub Action workflows avoid dangerous patterns.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#dangerous-workflow"}},{"name":"Maintained","score":0,"reason":"0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project is \"actively maintained\".","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#maintained"}},{"name":"Code-Review","score":0,"reason":"Found 1/28 approved changesets -- score normalized to 0","details":null,"documentation":{"short":"Determines if the project requires human code review before pull requests (aka merge requests) are merged.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#code-review"}},{"name":"Token-Permissions","score":0,"reason":"detected GitHub workflow tokens with excessive permissions","details":["Warn: no topLevel permission defined: .github/workflows/test.yml:1","Info: no jobLevel write permissions found"],"documentation":{"short":"Determines if the project's workflows follow the principle of least privilege.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#token-permissions"}},{"name":"Binary-Artifacts","score":10,"reason":"no binaries found in the repo","details":null,"documentation":{"short":"Determines if the project has generated executable (binary) artifacts in the source repository.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#binary-artifacts"}},{"name":"Packaging","score":-1,"reason":"packaging workflow not detected","details":["Warn: no GitHub/GitLab publishing workflow detected."],"documentation":{"short":"Determines if the project is published as a package that others can easily download, install, easily update, and uninstall.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#packaging"}},{"name":"Pinned-Dependencies","score":0,"reason":"dependency not pinned by hash detected -- score normalized to 0","details":["Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:17: update your workflow using https://app.stepsecurity.io/secureworkflow/ralphje/imagemounter/test.yml/master?enable=pin","Warn: GitHub-owned GitHubAction not pinned by hash: .github/workflows/test.yml:19: update your workflow using https://app.stepsecurity.io/secureworkflow/ralphje/imagemounter/test.yml/master?enable=pin","Warn: third-party GitHubAction not pinned by hash: .github/workflows/test.yml:46: update your workflow using https://app.stepsecurity.io/secureworkflow/ralphje/imagemounter/test.yml/master?enable=pin","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:29","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:30","Warn: pipCommand not pinned by hash: .github/workflows/test.yml:31","Info:   0 out of   1 GitHub-owned GitHubAction dependencies pinned","Info:   0 out of   2 third-party GitHubAction dependencies pinned","Info:   0 out of   3 pipCommand dependencies pinned"],"documentation":{"short":"Determines if the project has declared and pinned the dependencies of its build process.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#pinned-dependencies"}},{"name":"CII-Best-Practices","score":0,"reason":"no effort to earn an OpenSSF best practices badge detected","details":null,"documentation":{"short":"Determines if the project has an OpenSSF (formerly CII) Best Practices Badge.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#cii-best-practices"}},{"name":"Security-Policy","score":0,"reason":"security policy file not detected","details":["Warn: no security policy file detected","Warn: no security file to analyze","Warn: no security file to analyze","Warn: no security file to analyze"],"documentation":{"short":"Determines if the project has published a security policy.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#security-policy"}},{"name":"Fuzzing","score":0,"reason":"project is not fuzzed","details":["Warn: no fuzzer integrations found"],"documentation":{"short":"Determines if the project uses fuzzing.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#fuzzing"}},{"name":"License","score":10,"reason":"license file detected","details":["Info: project has a license file: LICENSE:0","Info: FSF or OSI recognized license: MIT License: LICENSE:0"],"documentation":{"short":"Determines if the project has defined a license.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#license"}},{"name":"Vulnerabilities","score":10,"reason":"0 existing vulnerabilities detected","details":null,"documentation":{"short":"Determines if the project has open, known unfixed vulnerabilities.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#vulnerabilities"}},{"name":"Signed-Releases","score":-1,"reason":"no releases found","details":null,"documentation":{"short":"Determines if the project cryptographically signs release artifacts.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#signed-releases"}},{"name":"Branch-Protection","score":0,"reason":"branch protection not enabled on development/release branches","details":["Warn: branch protection not enabled for branch 'master'"],"documentation":{"short":"Determines if the default and release branches are protected with GitHub's branch protection settings.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#branch-protection"}},{"name":"SAST","score":0,"reason":"SAST tool is not run on all commits -- score normalized to 0","details":["Warn: 0 commits out of 3 are checked with a SAST tool"],"documentation":{"short":"Determines if the project uses static code analysis.","url":"https://github.com/ossf/scorecard/blob/f6ed084d17c9236477efd66e5b258b9d4cc7b389/docs/checks.md#sast"}}]},"last_synced_at":"2025-08-22T23:18:05.391Z","repository_id":13781031,"created_at":"2025-08-22T23:18:05.391Z","updated_at":"2025-08-22T23:18:05.391Z"},"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31584578,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-08T14:31:17.711Z","status":"online","status_checked_at":"2026-04-09T02:00:06.848Z","response_time":112,"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":"2024-08-02T19:00:52.424Z","updated_at":"2026-04-09T03:33:00.199Z","avatar_url":"https://github.com/ralphje.png","language":"Python","readme":"============\nimagemounter\n============\n\n.. image:: https://github.com/ralphje/imagemounter/actions/workflows/test.yml/badge.svg?branch=master\u0026event=push\n    :target: https://github.com/ralphje/imagemounter/actions/workflows/test.yml\n.. image:: https://codecov.io/gh/ralphje/imagemounter/branch/master/graph/badge.svg\n    :target: https://codecov.io/gh/ralphje/imagemounter\n.. image:: https://readthedocs.org/projects/imagemounter/badge/?version=latest\n    :target: http://imagemounter.readthedocs.io/en/latest/?badge=latest\n\nimagemounter is a command-line utility and Python package to ease the mounting and unmounting of EnCase, Affuse, vmdk\nand dd disk images (and other formats supported by supported tools). It supports mounting disk images using xmount (with\noptional RW cache), affuse, ewfmount and vmware-mount; detecting DOS, BSD, Sun, Mac and GPT volume systems; mounting\nFAT, Ext, XFS UFS, HFS+, LUKS and NTFS volumes, in addition to some less known filesystems; detecting (nested) LVM\nvolume systems and mounting its subvolumes; and reconstructing Linux Software RAID arrays.\n\nIn its default mode, imagemounter will try to start mounting the base image on a temporary mount point,\ndetect the volume system and then mount each volume seperately. If it fails finding a volume system,\nit will try to mount the entire image as a whole if it succeeds in detecting what it actually is.\n\nThis package supports Python 3.6+.\n\nExample\n=======\nA very basic example of a valid mount is as follows. The command-line utility has much more features, but results vary\nwildly depending on the exact type of disk you are trying to mount::\n\n    # imount lvm_containing_dos_volumesystem_containing_ext4\n    [+] Mounting image lvm_containing_dos_volumesystem_containing_ext4 using auto...\n    [+] Mounted raw image [1/1]\n    [+] Mounted volume 2.0 GiB 4.0.2:Ext4 / [Linux] on /tmp/im_4.0.2_8l86mZ.\n    \u003e\u003e\u003e Press [enter] to unmount the volume, or ^C to keep mounted...\n    [+] Parsed all volumes!\n    [+] Analysis complete, unmounting...\n    [+] All cleaned up\n\nIf you want to see for yourself, you could try executing ``imount /dev/sda`` first.\n\nDocumentation\n=============\nFull documentation of this project is available from http://imagemounter.readthedocs.org/ or in the ``docs/`` directory.\n\nInstallation\n============\nThis package does not require other packages, though ``termcolor`` is recommended and ``pytsk3`` is needed if you wish to\nuse this package for volume detection.\n\nJust perform the following commands for a basic installation::\n\n    apt-get install xmount ewf-tools afflib-tools sleuthkit\n    pip3 install imagemounter\n    imount --check\n\nUse ``imount --check`` to verify which packages are (not) installed. Install additional packages as needed.\n\nContributing\n============\nSince imagemounter is an open source project, contributions of many forms are welcomed. Examples of possible\ncontributions include:\n\n* Bug patches\n* New features\n* Documentation improvements\n* Bug reports and reviews of pull requests\n\nWe use GitHub to keep track of issues and pull requests. You can always\n`submit an issue \u003chttps://github.com/ralphje/imagemounter/issues\u003e`_ when you encounter something out of the ordinary.\n\nNot all combinations of file and volume systems have been tested. If you encounter an issue, please try to change some\nof your arguments first, before creating a new GitHub issue.\n","funding_links":[],"categories":["IR Tools Collection","Challenges","Tools","\u003ca id=\"ecb63dfb62722feb6d43a9506515b4e3\"\u003e\u003c/a\u003e新添加","Synopsis","IR tools Collection"],"sub_categories":["Other Tools","Disk image handling","System/Digital Image","Table of Contents"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralphje%2Fimagemounter","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fralphje%2Fimagemounter","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fralphje%2Fimagemounter/lists"}