{"id":13641934,"url":"https://github.com/SOF3/enclavlow","last_synced_at":"2025-04-20T12:31:04.906Z","repository":{"id":95881390,"uuid":"304911252","full_name":"SOF3/enclavlow","owner":"SOF3","description":"A Java flow analysis tool for SGX data sensitivity. This is my final year project.","archived":false,"fork":false,"pushed_at":"2021-05-23T05:54:50.000Z","size":6019,"stargazers_count":5,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-04-01T02:46:39.529Z","etag":null,"topics":["flow-analysis","sgx-data-sensitivity"],"latest_commit_sha":null,"homepage":"","language":"Kotlin","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/SOF3.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}},"created_at":"2020-10-17T15:41:47.000Z","updated_at":"2022-11-22T08:56:31.000Z","dependencies_parsed_at":"2023-03-13T16:44:09.145Z","dependency_job_id":null,"html_url":"https://github.com/SOF3/enclavlow","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SOF3%2Fenclavlow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SOF3%2Fenclavlow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SOF3%2Fenclavlow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/SOF3%2Fenclavlow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/SOF3","download_url":"https://codeload.github.com/SOF3/enclavlow/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":249893365,"owners_count":21341437,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["flow-analysis","sgx-data-sensitivity"],"created_at":"2024-08-02T01:01:25.856Z","updated_at":"2025-04-20T12:31:04.900Z","avatar_url":"https://github.com/SOF3.png","language":"Kotlin","funding_links":[],"categories":["Defenses"],"sub_categories":["Library OSes and SDKs"],"readme":"# enclavlow\nA Java flow analysis tool for SGX data sensitivity\n\n## Modules\n- `util`: Internal non-enclavlow-specific utilities\n- `core`: Core module for flow analysis\n- `plugin`: Gradle integration plugin\n- `api`: API to include from user code\n- `doc-fig`: Module for generating image assets used in docs\n\n![](build/reports/dependency-graph/dependency-graph.png)\n\n## API\n### `enclavlow-core`\nThe `analyzeMethod` function returns a Contract Flow Graph (CFG) for a single method.\nThe CFG detects whether the method is an ECall/OCall,\nand presents the information flow throughout the method.\n\n## Tests\nTo run the test cases in the `enclavlow-core` module, use the gradle task:\n\n```\n./gradlew core:test\n```\n\nThis command requires the graphviz `dot` command to be in PATH.\n\nFor the sake of convenience, all test case classes are compiled together with the test runtime,\nand the test runtime classpath is used as the classpath for soot.\n\nThe test case classes are located in `core/src/test/java`,\nand the test case results are checked in `core/src/test/kotlin`.\n\nThe JUnit test results can be found in `core/build/reports/test/test/index.html`.\nFor each `testMethod` test case,\nthe final Local Flow Graphs that contribute to output contract graph\nare rendered by `dot` in the `core/build/lfgOutput` directory (see `index.html`).\n(Due to use of parallel tests, the order in `index.html` is highly inconsistent)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSOF3%2Fenclavlow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FSOF3%2Fenclavlow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FSOF3%2Fenclavlow/lists"}