{"id":34610097,"url":"https://github.com/qualcomm/minkipc","last_synced_at":"2026-03-07T15:02:05.668Z","repository":{"id":298102950,"uuid":"968040942","full_name":"qualcomm/minkipc","owner":"qualcomm","description":"Libraries that implement and clients that utilize the Mink-IPC interface","archived":false,"fork":false,"pushed_at":"2026-02-19T06:14:25.000Z","size":479,"stargazers_count":7,"open_issues_count":8,"forks_count":11,"subscribers_count":2,"default_branch":"main","last_synced_at":"2026-03-04T01:32:50.209Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/qualcomm.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE.txt","code_of_conduct":"CODE-OF-CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","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":"2025-04-17T12:08:17.000Z","updated_at":"2026-02-19T06:12:22.000Z","dependencies_parsed_at":"2025-06-09T12:42:16.595Z","dependency_job_id":"a2dee6b5-454c-4cac-86d6-2c11c32a8294","html_url":"https://github.com/qualcomm/minkipc","commit_stats":null,"previous_names":["qualcomm/minkipc"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/qualcomm/minkipc","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fminkipc","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fminkipc/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fminkipc/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fminkipc/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/qualcomm","download_url":"https://codeload.github.com/qualcomm/minkipc/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/qualcomm%2Fminkipc/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":30219266,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-07T14:02:48.375Z","status":"ssl_error","status_checked_at":"2026-03-07T14:02:43.192Z","response_time":53,"last_error":"SSL_read: 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":[],"created_at":"2025-12-24T14:05:42.274Z","updated_at":"2026-03-07T15:02:03.617Z","avatar_url":"https://github.com/qualcomm.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# MINK IPC\n\n## Introduction\n**MINK** ('Mink is Not a Kernel') is a capability-based security framework.\n\nAt the core of MINK stands MINK IPC: a synchronous message passing facility based on the Object-Capability model, designed to facilitate secure communication between different domains. It enables code in one domain to invoke objects in another domain by passing unforgeable object references as input or output arguments. This inter-domain communication is implemented on top of various transport mechanisms such as the TEE subsytem's object invoke IOCTL, Sockets and even SMC calls.\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./docs/images/mink-ipc.png\"\u003e\n\u003c/p\u003e\n\n**MINK** as a security paradigm combines objects (encapsulation) with capabilities (authority) to enforce access control. [Qualcomm® Trusted Execution Environment (QTEE)](https://docs.qualcomm.com/bundle/publicresource/topics/80-70015-11/qualcomm-trusted-execution-environment.html) ecosystem is built on top of this paradigm to provide a robust framework for accessing security services. QTEE Kernel and Qualcomm® Trusted Virtual Machine (QTVM) Platform use MINK-based architecture ensuring that modules/Trusted Applications access only the minimal information and resources necessary for their function, thereby enhancing overall system security.\n\nThis project aims to demonstrate how MINK IPC can serve as a generic IPC framework and facilitate communication between multiple execution environments.\n\n## MINK IDL and Transport\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"./docs/images/idl.png\"\u003e\n\u003c/p\u003e\n\n**Mink IDL** is used to describe programming interfaces that can be used to communicate across security domain boundaries. Once an interface is described in a IDL source file, the [Mink IDL compiler](https://github.com/quic/mink-idl-compiler), can be used to generate C language header files. These files define types and proxy functions that implement method invocation on top of Mink's `Object_invoke` IPC mechanism, shielding clients and implementations from the details of calling invoke directly.\n\n**Mink transport** serves as communication channel to convey `Object_invoke` across domain boundaries. It provides\n-\tMethods for sending and receiving invocation requests.\n-\tMethods for marshaling data using a protocol understood by both end points.\n\nQualcomm® products use MINK IPC to communicate with services running on other execution environments like QTEE or QTVM.\n\n## Mink Transport for QTEE\n\nThis repository contains libraries that implement, and clients that utilize, a Mink-IPC interface for communication with the QTEE via the QCOM-TEE driver registered with the Linux TEE subsystem.\n\nRead more about MINK-IPC [here](docs/mink-object.md).\n\nRead more about QCOMTEE [here](https://github.com/quic/quic-teec).\n\n## Build Instructions\n```\ngit clone https://github.com/qualcomm/minkipc.git\ncd minkipc\nmkdir build\ncd build\ncmake .. -DCMAKE_TOOLCHAIN_FILE=CMakeToolchain.txt -DBUILD_UNITTEST=ON \u0026\u0026 cmake --build . --target install --config Release\n```\nIn order to build this package, you require QCBOR and QCOMTEE. These are not available using the standard Ubuntu repository. If you do not have them installed on your machine, you can fetch, build and install them from below mentioned locations:\n\n1. QCBOR [repository](https://github.com/laurencelundblade/QCBOR). Use `-DQCBOR_DIR_HINT=/path/to/installed/dir` to specify the QCBOR dependency.\n\n2. QCOMTEE [repository](https://github.com/quic/quic-teec). Use `-DQCOMTEE_DIR_HINT=/path/to/installed/dir` to specify the QCOMTEE dependency.\n\nYou can optionally specify the path for installation of the `minkipc` package, via `-DCMAKE_INSTALL_PREFIX:PATH=/path/to/minkipc/install`.\n\nThe following CMake options are available for configuring this package:\n\n`-DBUILD_UNITTEST=ON` - Build Unit tests\n\n`-DBUILD_MINKTEEC=ON` - Build Mink TEEC library\n\n## Tests\nList of available tests for each module are available in the module's README file.\n\n## Contributions\n\nThanks for your interest in contributing to MinkIPC! Please read our [Contributions Page](CONTRIBUTING.md) for more information on contributing features or bug fixes. We look forward to your participation!\n\n## License\n\n**MinkIPC** Project is licensed under the [BSD-3-clause License](https://spdx.org/licenses/BSD-3-Clause.html). See [LICENSE.txt](LICENSE.txt) for the full license text.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualcomm%2Fminkipc","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fqualcomm%2Fminkipc","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fqualcomm%2Fminkipc/lists"}