{"id":18609554,"url":"https://github.com/secure-software-engineering/susi","last_synced_at":"2026-02-27T20:37:33.290Z","repository":{"id":8307924,"uuid":"9853129","full_name":"secure-software-engineering/SuSi","owner":"secure-software-engineering","description":"SuSi - our tool to automatically discover sources and sinks in the Android framework","archived":false,"fork":false,"pushed_at":"2017-01-03T11:28:44.000Z","size":11247,"stargazers_count":148,"open_issues_count":15,"forks_count":74,"subscribers_count":20,"default_branch":"develop","last_synced_at":"2025-09-08T22:46:06.119Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Java","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/secure-software-engineering.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}},"created_at":"2013-05-04T11:30:21.000Z","updated_at":"2025-08-25T16:26:38.000Z","dependencies_parsed_at":"2022-09-09T08:02:52.690Z","dependency_job_id":null,"html_url":"https://github.com/secure-software-engineering/SuSi","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/secure-software-engineering/SuSi","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2FSuSi","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2FSuSi/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2FSuSi/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2FSuSi/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/secure-software-engineering","download_url":"https://codeload.github.com/secure-software-engineering/SuSi/tar.gz/refs/heads/develop","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/secure-software-engineering%2FSuSi/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29912391,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-27T19:37:42.220Z","status":"ssl_error","status_checked_at":"2026-02-27T19:37:41.463Z","response_time":57,"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":"2024-11-07T03:06:25.862Z","updated_at":"2026-02-27T20:37:33.258Z","avatar_url":"https://github.com/secure-software-engineering.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"SuSi\n====\n\nSuSi - our tool to automatically discover and categorize sources and sinks in the Android framework\n\nRunning SuSi\n-------------\n\nIn order to run SuSi, you need two different types on input files: First, a JAR file containing a full implementation\nof the Android OS that you want to analyze. Second, a set of hand-annotated input files to use as ground truth for\nthe machine learning algorithm.\n\nThe fully-implemented Android JAR files must be extracted from an emulator or a real phone. The platform JAR files shipped\nwith Google's Android SDK are not suitable for SuSi since they only contain method stubs, but not actual implementations.\nIn these stubbed files, every method simply throws a NotImplementedException without carrying out any actual behavior.\nFor some versions of the Android OS, there are [pre-generated JAR files](https://github.com/Sable/android-platforms)\navailable on Github. If you want to run SuSi on another version, you need to generate the respective JAR file on your own.\n\nFor the hand-annotated ground truth, our own permissionMethodWithLabel.pscout file is a good starting point. You can\neither use it as-is to reproduce the results from our paper, or extend it to meet your own needs.\n\nFinally, start the machine learner:\n\n```\njava -cp lib/weka.jar:soot-trunk.jar:soot-infoflow.jar:soot-infoflow-android.jar:SuSi.jar de.ecspride.sourcesinkfinder.SourceSinkFinder android.jar permissionMethodWithLabel.pscout out.pscout \n```","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecure-software-engineering%2Fsusi","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsecure-software-engineering%2Fsusi","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsecure-software-engineering%2Fsusi/lists"}