Raw JSON report machine-readable
{
"data": {
"repo": {
"topics": [
"static-analysis",
"security",
"android"
],
"is_fork": false,
"size_kb": 180291,
"has_wiki": true,
"homepage": null,
"languages": {
"Java": 201169,
"ANTLR": 1919,
"Scala": 2333285,
"Shell": 14582,
"Python": 281075,
"Makefile": 702,
"Starlark": 20404,
"Batchfile": 2289
},
"pushed_at": "2023-07-05T21:52:34Z",
"created_at": "2016-06-10T19:06:04Z",
"owner_type": "Organization",
"updated_at": "2026-07-20T18:39:53Z",
"description": "Argus static analysis framework",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "master",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Scala",
"significant_languages": [
"Scala"
]
},
"owner": {
"blog": "http://arguslab.org",
"name": "Argus Group",
"type": "Organization",
"login": "arguslab",
"company": null,
"location": "Kansas State University & University of South Florida",
"followers": 8,
"avatar_url": "https://avatars.githubusercontent.com/u/5957371?v=4",
"created_at": "2013-11-16T20:31:25Z",
"is_verified": null,
"public_repos": 31,
"account_age_days": 4638
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v3.1.3",
"kind": "patch",
"published_at": "2018-05-02T04:43:50Z"
},
{
"tag": "v3.1.2",
"kind": "patch",
"published_at": "2017-11-02T06:53:03Z"
},
{
"tag": "v3.1.0",
"kind": "minor",
"published_at": "2017-05-03T18:54:18Z"
},
{
"tag": "v3.0.1",
"kind": "patch",
"published_at": "2017-04-23T18:17:36Z"
},
{
"tag": "v3.0.0",
"kind": "major",
"published_at": "2017-04-23T05:38:07Z"
},
{
"tag": "v2.0.5",
"kind": "patch",
"published_at": "2017-04-06T20:07:23Z"
},
{
"tag": "v2.0.4",
"kind": "patch",
"published_at": "2017-03-29T17:10:11Z"
},
{
"tag": "v2.0.3",
"kind": "patch",
"published_at": "2017-03-27T21:23:19Z"
},
{
"tag": "v2.0.2",
"kind": "patch",
"published_at": "2017-03-24T18:28:03Z"
},
{
"tag": "v2.0.1",
"kind": "patch",
"published_at": "2017-03-23T07:32:15Z"
},
{
"tag": "v2.0.0",
"kind": "major",
"published_at": "2017-03-13T19:30:49Z"
},
{
"tag": "v1.1.5",
"kind": "patch",
"published_at": "2016-10-24T22:26:33Z"
},
{
"tag": "v1.1.4",
"kind": "patch",
"published_at": "2016-10-19T18:52:56Z"
}
],
"recent_commits": [
{
"oid": "06596c6bb03fe2560030b52bf2b47d17d1bd3068",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2021-11-10T01:23:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "54e58e38826148e95dc5ec06981bd0e3176e5493",
"body": null,
"is_bot": false,
"headline": "Add binary to the repo.",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2021-11-10T01:16:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d61f2b08dba76219694f8eae291f7d38377353d",
"body": null,
"is_bot": false,
"headline": "add s to url",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2021-06-21T06:37:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d3f04feb625d3da06ed893e41badd9c69c39338",
"body": null,
"is_bot": false,
"headline": "Update build.sbt",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2021-06-21T06:08:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7fe3363fcae69d6aa1f5f80861e22caa5247cc7c",
"body": null,
"is_bot": false,
"headline": "Update AndroidGlobalConfig.scala",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2021-06-21T06:07:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "96f94addd8052f71de460a446224888903b9fbcf",
"body": null,
"is_bot": false,
"headline": "Update benchmark_cli.sh",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2021-06-21T06:06:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d909733b8ecd66367384f3495ae10c4ad219cd06",
"body": null,
"is_bot": false,
"headline": "update readme",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2019-01-08T02:26:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e73a11a93593c09fe7285ab32dd708117c72fb7",
"body": null,
"is_bot": false,
"headline": "update license",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-30T01:06:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4abf42b74faad0a5d4dc85f525ca6fd6266f1ff",
"body": null,
"is_bot": false,
"headline": "Setting version to 3.2.1-SNAPSHOT",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-29T07:34:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "415ad9ff873979650b0b4124755bb7b7bf8c2604",
"body": null,
"is_bot": false,
"headline": "Setting version to 3.2.0",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-29T07:31:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4f550208c9791978f3a9016597523a9ae5db562",
"body": null,
"is_bot": false,
"headline": "update license",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-29T05:09:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2109cba060563d7edea0e36fadcd976a7589e4be",
"body": null,
"is_bot": false,
"headline": "update license",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-29T05:08:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0a37a2506471d795f32746fdaced3b18d59f5d0f",
"body": null,
"is_bot": false,
"headline": "update release version",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-29T05:04:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "13ae3b8998a73b937cf0532f6cd978d14d438ffa",
"body": null,
"is_bot": false,
"headline": "remove test",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-29T03:18:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6adf246af40c77c067216812bf0bbfe1dfe79b89",
"body": null,
"is_bot": false,
"headline": "update readme",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-28T08:02:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58193c380a4b8f2f5caf132f28138e676aa1dc81",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-27T06:00:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e0f560d1a6786c8844da8a171eabc407da1a71d1",
"body": null,
"is_bot": false,
"headline": "update benchmark",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-21T07:23:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df2557a9654260d5dd933a15f52143bbd6da1f6d",
"body": null,
"is_bot": false,
"headline": "publish jnsaf",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-13T07:03:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "76cb899b05fdc21c01e14e030cba5a5ab53f299b",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' of github.com:arguslab/Argus-SAF",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-13T07:02:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3eab83b2bff3d26d9e73d04643f4730d24af4f53",
"body": null,
"is_bot": false,
"headline": "update readme",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-13T07:01:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aebed6c9c3787fadb646025340f283e8862de79a",
"body": null,
"is_bot": false,
"headline": "fix test",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-13T04:44:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "521aaddfb3e285cbb1f1db977e3f2893fe23b3e1",
"body": null,
"is_bot": false,
"headline": "fix some test",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-12T07:18:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "93f34225aaf7cabeaa26da98b8b53ebbdd1629a2",
"body": null,
"is_bot": false,
"headline": "fix test bugs",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-11T06:50:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6aeac5a5c84ddea4c9ab7324856c9ef52f6e298f",
"body": null,
"is_bot": false,
"headline": "add malware so test",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-08T05:55:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1496ad27fc7ba75a51e012c291de96a0078726e6",
"body": null,
"is_bot": false,
"headline": "add malware so test",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-08T05:55:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4afd6f7d61fb54aca21d70ccc307ea1077ef3db2",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-05T05:40:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1bad0b2a38df1ccdd938c7a5f118e5f4db1f9e2e",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-05T02:05:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4acf69302de0711889e8225eaa228dd77dd83332",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-04T06:27:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4e6df836a90e2f4c4149c9216e6512037d581f2",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-04T06:16:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0f95e8d06e367e7a10fe93500a407d71fe1a70cf",
"body": null,
"is_bot": false,
"headline": "update benchmark",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-03T08:05:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "823d0d05916127c73e9bfbcf7035cdc178586d9b",
"body": null,
"is_bot": false,
"headline": "benchmark done",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-12-02T08:07:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4b139815b82b806ce4f284fb4b6b57d481be8eb",
"body": null,
"is_bot": false,
"headline": "update taint analysis",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-28T07:51:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4a6e461db41e0ae1c5c7fa9f7c5a06f68ebab39d",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-16T07:40:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0d987e15092b8db09ce8cf8060e661b3157f487b",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-16T07:26:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ea7e7a842958ede17b26696ebf400c467572a4e",
"body": null,
"is_bot": false,
"headline": "fix bug to make benchmark work",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-15T07:20:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "749a93efa5ff8db6b89c60218b8bc73a2029457c",
"body": null,
"is_bot": false,
"headline": "handle function source and sink together",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-14T08:05:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8657fd4273c5ebf3715352a494fc46a65f700fd5",
"body": null,
"is_bot": false,
"headline": "fix bugs",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-13T07:31:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fccf2c7e458dee8ee001ad3436782a42a762cbd3",
"body": null,
"is_bot": false,
"headline": "fix bug",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-12T08:00:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7d7f8d66862b920d8cbc89aa27dd5722c0f77c27",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-12T05:57:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a4c1bd353d0dd8916c678390c8aa1b96175fd991",
"body": null,
"is_bot": false,
"headline": "fix bugs",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-11T05:46:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f05358d433683efec1ff2d8c80b8df11923e346",
"body": null,
"is_bot": false,
"headline": "apply scripts",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-09T07:03:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5ec5b9bab9cf2fafb4d3b3fae5447e1fa0aa008d",
"body": null,
"is_bot": false,
"headline": "update analysis",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-08T04:14:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5de3c907ba63a128bb7e8f7d76690da8d4f39e1d",
"body": null,
"is_bot": false,
"headline": "Update README.md",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-11-01T07:08:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df1c90f6e00cfe7b182e7721e595eee8cee7f667",
"body": null,
"is_bot": false,
"headline": "update annotation match logic",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-29T05:48:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5cb81acddb67351a60eabcae57233f08c2b6e2c8",
"body": null,
"is_bot": false,
"headline": "add component based analysis",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-28T02:33:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2ae59c6bb4258d99f24549cac621236da3b71c51",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-24T06:12:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7a0a21d90a3c1005f192f74ddff48aff517371a8",
"body": null,
"is_bot": false,
"headline": "update nativedorid server",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-21T00:18:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "19ac5758d86bf8ac5ba86d473f652b8e336e5b88",
"body": null,
"is_bot": false,
"headline": "add server client logic",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-16T06:37:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8568118f3801fc93d7e49b4b6f186b468584e3c3",
"body": null,
"is_bot": false,
"headline": "Merge branch 'jnsaf' of github.com:arguslab/Argus-SAF into jnsaf",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-02T06:39:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d39a020788b5fd84ff73d8154d6f585b3d24be3",
"body": null,
"is_bot": false,
"headline": "update JNSafServer",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-10-02T06:39:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "330a3cc05151a9ef94aa0ab7a3e0510e969b65bd",
"body": null,
"is_bot": false,
"headline": "update README",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-10-01T13:52:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d7df47bd36f8b01399b801300c481037d9a308e4",
"body": null,
"is_bot": false,
"headline": "delete x86 arch support",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-10-01T13:43:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89100e33b4750919dfb52abc954e685cd0d3f3c3",
"body": null,
"is_bot": false,
"headline": "Merge branch 'jnsaf' of https://github.com/arguslab/Argus-SAF into jnsaf",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-10-01T13:35:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1c8b1104c12d6d204dbf07d58dc41d2065d4b3df",
"body": null,
"is_bot": false,
"headline": "fix testLibLeakArray testcase",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-10-01T13:35:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2834b8d2a69db68dcb8ab1c3cd36eee3af51640b",
"body": null,
"is_bot": false,
"headline": "Merge branch 'jnsaf' of github.com:arguslab/Argus-SAF into jnsaf",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-29T07:21:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2c10bc3c18a92d5d4635cf66e215ded68802167",
"body": null,
"is_bot": false,
"headline": "added jnsaf server",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-29T07:21:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8e9d7cb45aec5255f05b42845446f02b45c1efe",
"body": null,
"is_bot": false,
"headline": "update annotation",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-09-27T13:14:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3760653bcf7968929dc8113501e23c120a34ea51",
"body": null,
"is_bot": false,
"headline": "uodate jnsaf server",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-27T07:01:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d47a0d1631da756a9468268ba23d52ccf788b9fb",
"body": null,
"is_bot": false,
"headline": "fix class",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-26T04:27:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e57d60637c277263c50b70d5ab7610cd5dff8c73",
"body": null,
"is_bot": false,
"headline": "Merge branch 'jnsaf' of github.com:arguslab/Argus-SAF into jnsaf",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-26T02:51:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c4236ecf376186f208836425f2f74540b88a33f8",
"body": null,
"is_bot": false,
"headline": "update proto",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-26T02:51:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "acbb6310716f22399a3adb09bcc458b14679c185",
"body": null,
"is_bot": false,
"headline": "update import",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-09-26T00:58:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8a9452d0745989a7615576457a41ac13e511ebe5",
"body": null,
"is_bot": false,
"headline": "fix method_overloading test case",
"author_name": "XingweiLin",
"author_login": "xwlin-roy",
"committed_at": "2018-09-26T00:31:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d33633379fdd3872bdbf8dc7e314bfabd38c0576",
"body": null,
"is_bot": false,
"headline": "Merge branch 'jnsaf' of github.com:arguslab/Argus-SAF into jnsaf",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-25T05:14:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8c353f882d0058632b169eb52149fffab8d2d557",
"body": null,
"is_bot": false,
"headline": "update import",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-25T05:14:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4b09d6df436023bb4ab6399b412a758ccf642294",
"body": null,
"is_bot": false,
"headline": "Update CONTRIBUTOR.md",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-22T05:32:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "777a39a50c458ba02b37e41ad6d3c98a802d090a",
"body": null,
"is_bot": false,
"headline": "add authorship",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-22T05:26:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "efa20f9c219f7a1d363ee03b5eadee20f88f2623",
"body": null,
"is_bot": false,
"headline": "update bazel build. Stop at this point.",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-21T06:22:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06bc58cc44984db43550a63c7e0111f543302df5",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-20T06:26:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e59e77b1a10a208c40334b7d4988873b6ad382e9",
"body": null,
"is_bot": false,
"headline": "finish refactor amandroid",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-19T06:33:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "da6c5e6283e1d49294ddb3a1b5ce6325b440795c",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-19T06:07:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2a8396f95d5d5d1cc2e341447b16ca17fc43fd25",
"body": null,
"is_bot": false,
"headline": "refactor jawa, bazel build core",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-18T06:43:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e5209e5679a99e9be93ba7fd4b12281ea8b74565",
"body": null,
"is_bot": false,
"headline": "fix bugs",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-16T19:36:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47f4dbddf21403fbf800c7c1cbf6deb3d7bb4413",
"body": null,
"is_bot": false,
"headline": "integrate NativeDroidClient to the workflow",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-16T07:55:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eb852b5714cdd176ae058523d7a5bf5d6c79bb7a",
"body": null,
"is_bot": false,
"headline": "update native droid server logic",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-16T04:05:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d4fadc2112043496d7240a20ea3b670841bed3bd",
"body": null,
"is_bot": false,
"headline": "add more benchmark apks",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-15T22:09:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6593f6b8c89049add9c5adc5e865995b5c0d2fcb",
"body": null,
"is_bot": false,
"headline": "update loadbinary logic",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-15T22:09:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e1e98146cdf93c8dfb369b1196615b2c4c778685",
"body": null,
"is_bot": false,
"headline": "fix annotation link bugs",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-15T08:18:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62aac1a93faab64f9d49041a69bb916d4732c9ed",
"body": null,
"is_bot": false,
"headline": "integrated jnsaf",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-09-15T08:12:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "073cdf946ea15b40e651c66614e3c7bab323b4a2",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-06-13T14:21:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6abcd3efd3cf27acee2f5d472c6483adc645956",
"body": null,
"is_bot": false,
"headline": "Merge branch 'master' into develop",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-06-13T14:11:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aa8a40cd4124454e60101f3b27de2af92279f185",
"body": null,
"is_bot": false,
"headline": "fixed #47: handle indirect call",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-06-13T14:10:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c1b3f8f7acd0277739bbe18301819b1de3ea909",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-06-12T18:25:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5f630072cad027d89d0b29b65002e610de2b88ba",
"body": null,
"is_bot": false,
"headline": "handle indirect call",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-06-12T18:21:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80db16b6b22b79375406fd4bf10e5eea7f2647b8",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-06-09T16:21:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ed83408bc504b464de27e45b3c15659e03592d3",
"body": null,
"is_bot": false,
"headline": "fix type",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-08T20:42:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "58c8147f2d767e9381be4c2f7ec0d7b6306514c6",
"body": null,
"is_bot": false,
"headline": "remove",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-02T16:30:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "724b6748328ef9a989185552e5d605800b6f8ba8",
"body": null,
"is_bot": false,
"headline": "update travis",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-02T04:38:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5ea6910481c0fcc88f6e3298bc3674623de087f",
"body": null,
"is_bot": false,
"headline": "Setting version to 3.1.4-SNAPSHOT",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-02T04:25:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ed9260023484461ae198241c53c9ab13e8e5be80",
"body": null,
"is_bot": false,
"headline": "Setting version to 3.1.3",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-02T04:20:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "358d7ddf27e3287c1f1828b65e955e4991c0179b",
"body": null,
"is_bot": false,
"headline": "add bottom up analysis option",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-02T04:06:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bf4b3b02fe03025964f968bcb25efd7ff031612d",
"body": null,
"is_bot": false,
"headline": "add metadata",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-05-01T01:21:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff73d16b884dcfa09cda9aa1ed49ee7f9701b417",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-27T18:10:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a10ecaa87fd4dd5ec540276b38c825616ae203e",
"body": null,
"is_bot": false,
"headline": "remove map handling",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-27T06:16:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fe3b880dc1b1ee69e6e65a79857e85b742965578",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-27T05:24:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "612aa092ef88f0bba586323b203f2dff37ddc6da",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-26T18:01:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ca4375d29e349e20757a9e181da87da63e83666",
"body": null,
"is_bot": false,
"headline": "remove simheap",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-26T17:31:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17668041d1dcec902ca1a358e0e380f31ef6462e",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-25T16:21:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4fbf518f1cf5e6a4b07c805aa8e4e1cf197ea47a",
"body": null,
"is_bot": false,
"headline": "update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-21T02:47:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9fe3e6b069c2c206e526e2e4d538ae0dfff743cf",
"body": null,
"is_bot": false,
"headline": "small update",
"author_name": "Fengguo Wei",
"author_login": "fgwei",
"committed_at": "2018-04-20T19:22:15Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 13,
"commits_last_year": 0,
"latest_release_at": "2018-05-02T04:43:50Z",
"latest_release_tag": "v3.1.3",
"releases_from_tags": false,
"days_since_last_push": 1120,
"active_weeks_last_year": 0,
"days_since_latest_release": 3010,
"mean_days_between_releases": 45
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": true,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 54,
"stars": 199,
"watchers": 20,
"fork_history": {
"days": [
{
"date": "2016-07-12",
"count": 1
},
{
"date": "2017-10-01",
"count": 1
},
{
"date": "2017-10-03",
"count": 1
},
{
"date": "2017-10-30",
"count": 1
},
{
"date": "2018-02-07",
"count": 1
},
{
"date": "2018-03-27",
"count": 1
},
{
"date": "2018-04-20",
"count": 1
},
{
"date": "2018-05-27",
"count": 1
},
{
"date": "2018-06-12",
"count": 1
},
{
"date": "2018-07-20",
"count": 2
},
{
"date": "2018-07-22",
"count": 1
},
{
"date": "2018-08-14",
"count": 1
},
{
"date": "2018-09-18",
"count": 1
},
{
"date": "2018-12-18",
"count": 1
},
{
"date": "2019-01-19",
"count": 1
},
{
"date": "2019-02-07",
"count": 1
},
{
"date": "2019-02-26",
"count": 1
},
{
"date": "2019-11-07",
"count": 1
},
{
"date": "2020-01-31",
"count": 1
},
{
"date": "2020-05-22",
"count": 1
},
{
"date": "2020-07-04",
"count": 1
},
{
"date": "2020-09-09",
"count": 1
},
{
"date": "2020-09-23",
"count": 1
},
{
"date": "2020-11-09",
"count": 1
},
{
"date": "2020-12-29",
"count": 1
},
{
"date": "2021-02-25",
"count": 1
},
{
"date": "2021-03-23",
"count": 1
},
{
"date": "2021-04-16",
"count": 1
},
{
"date": "2021-05-19",
"count": 1
},
{
"date": "2021-11-17",
"count": 1
},
{
"date": "2022-01-13",
"count": 1
},
{
"date": "2022-02-17",
"count": 1
},
{
"date": "2022-06-09",
"count": 1
},
{
"date": "2022-08-31",
"count": 1
},
{
"date": "2022-10-08",
"count": 1
},
{
"date": "2022-11-07",
"count": 1
},
{
"date": "2023-01-30",
"count": 1
},
{
"date": "2023-02-01",
"count": 1
},
{
"date": "2023-03-08",
"count": 1
},
{
"date": "2023-07-11",
"count": 1
},
{
"date": "2023-07-16",
"count": 1
},
{
"date": "2023-10-31",
"count": 1
},
{
"date": "2023-11-19",
"count": 1
},
{
"date": "2023-11-24",
"count": 1
},
{
"date": "2023-11-25",
"count": 1
},
{
"date": "2023-12-10",
"count": 1
},
{
"date": "2024-10-08",
"count": 1
},
{
"date": "2024-11-20",
"count": 1
},
{
"date": "2024-11-29",
"count": 1
},
{
"date": "2025-05-27",
"count": 1
},
{
"date": "2025-10-12",
"count": 1
},
{
"date": "2026-07-22",
"count": 1
}
],
"complete": true,
"collected": 53,
"total_forks": 54
},
"star_history": null,
"open_issues_and_prs": 36
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"nativedroid/Makefile"
],
"api_schema_files": [
"jawa/src/main/protobuf/java_signatures.proto",
"jawa/src/main/protobuf/summary.proto",
"jawa/src/main/protobuf/taint_result.proto",
"jnsaf/src/main/protobuf/jnsaf_grpc.proto",
"jnsaf/src/main/protobuf/nativedroid_grpc.proto",
"nativedroid/nativedroid/protobuf/java_signatures.proto",
"nativedroid/nativedroid/protobuf/jnsaf_grpc.proto",
"nativedroid/nativedroid/protobuf/nativedroid_grpc.proto",
"nativedroid/nativedroid/protobuf/summary.proto",
"nativedroid/nativedroid/protobuf/taint_result.proto"
],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [],
"largest_source_bytes": 125345,
"source_files_sampled": 518,
"oversized_source_files": 4,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"nativedroid/requirements.txt",
"nativedroid/setup.py"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "grpcio",
"direct": false,
"version": "1.9.0",
"severity": "high",
"ecosystem": "pypi",
"cvss_score": 7.5,
"advisory_ids": [
"GHSA-496j-2rq6-j6cc",
"PYSEC-2026-1424"
],
"fixed_version": "1.56.2",
"advisory_count": 2,
"oldest_advisory_days": 1085
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 1
},
"advisory_count": 2,
"affected_count": 1,
"assessed_count": 6,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 4,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "angr",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "angr",
"direct": false,
"version": "7.8.8.1",
"ecosystem": "pypi"
},
{
"name": "angr-utils",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "angr-utils",
"direct": false,
"version": "0.4.0",
"ecosystem": "pypi"
},
{
"name": "claripy",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "claripy",
"direct": false,
"version": "7.8.8.1",
"ecosystem": "pypi"
},
{
"name": "cle",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "cle",
"direct": false,
"version": "7.8.8.1",
"ecosystem": "pypi"
},
{
"name": "grpcio",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
},
{
"name": "grpcio-tools",
"direct": false,
"version": "1.9.0",
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 10,
"direct_count": 0,
"indirect_count": 10
}
},
"maintainership": {
"issues": {
"open_prs": 1,
"merged_prs": 2,
"open_issues": 35,
"closed_ratio": 0.583,
"closed_issues": 49,
"closed_unmerged_prs": 1
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "fgwei",
"commits": 505,
"avatar_url": "https://avatars.githubusercontent.com/u/2497027?v=4"
},
{
"type": "User",
"login": "xwlin-roy",
"commits": 7,
"avatar_url": "https://avatars.githubusercontent.com/u/15721702?v=4"
},
{
"type": "User",
"login": "shivapbhusal",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/15832463?v=4"
}
],
"contributors_sampled": 3,
"top_contributor_share": 0.984
},
"quality_signals": {
"has_ci": false,
"has_tests": true,
"ci_workflows": [],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 7,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": 0,
"reason": "branch protection not enabled on development/release branches",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": null,
"reason": "no pull request found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/30 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": null,
"reason": "no workflows found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 0,
"reason": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": null,
"reason": "no dependencies found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 0,
"reason": "no SAST tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 0,
"reason": "security policy file not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": null,
"reason": "no releases found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": null,
"reason": "No tokens found",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 9,
"reason": "1 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "06596c6bb03fe2560030b52bf2b47d17d1bd3068",
"ran_at": "2026-07-30T03:53:54Z",
"aggregate_score": 2.4,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": null,
"oldest_open_prs": [
{
"number": 86,
"created_at": "2023-07-05T21:52:34Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2018-03-27T23:01:39Z",
"ci_last_conclusion": null,
"oldest_open_issues": [
{
"number": 14,
"created_at": "2017-06-21T03:21:24Z",
"last_comment_at": "2017-07-18T03:18:45Z",
"last_comment_author": "atmzy"
},
{
"number": 19,
"created_at": "2017-08-07T14:54:35Z",
"last_comment_at": "2017-10-20T00:13:41Z",
"last_comment_author": "fgwei"
},
{
"number": 21,
"created_at": "2017-08-29T22:29:49Z",
"last_comment_at": "2017-08-29T22:45:30Z",
"last_comment_author": "ZackC"
},
{
"number": 23,
"created_at": "2017-10-18T08:30:48Z",
"last_comment_at": "2017-10-25T07:10:02Z",
"last_comment_author": "lkna"
},
{
"number": 24,
"created_at": "2017-10-19T23:46:58Z",
"last_comment_at": "2018-11-21T12:35:00Z",
"last_comment_author": "zhangysh1995"
},
{
"number": 25,
"created_at": "2017-10-20T00:00:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 29,
"created_at": "2017-10-20T03:08:35Z",
"last_comment_at": "2019-04-28T10:40:25Z",
"last_comment_author": "Sebastiaan-Alvarez-Rodriguez"
},
{
"number": 31,
"created_at": "2017-10-24T22:11:56Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 33,
"created_at": "2017-10-26T06:56:18Z",
"last_comment_at": "2017-11-20T16:44:51Z",
"last_comment_author": "fgwei"
},
{
"number": 34,
"created_at": "2017-10-26T06:59:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 38,
"created_at": "2017-11-07T05:10:03Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 42,
"created_at": "2017-11-09T23:08:14Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 48,
"created_at": "2018-06-18T12:05:26Z",
"last_comment_at": "2018-06-28T09:26:24Z",
"last_comment_author": "sangamk"
},
{
"number": 49,
"created_at": "2018-07-27T19:21:54Z",
"last_comment_at": "2018-07-31T05:35:36Z",
"last_comment_author": "fgwei"
},
{
"number": 50,
"created_at": "2018-08-08T05:38:09Z",
"last_comment_at": "2018-08-09T03:38:08Z",
"last_comment_author": "fgwei"
},
{
"number": 51,
"created_at": "2018-08-31T09:14:54Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 53,
"created_at": "2018-12-10T10:36:28Z",
"last_comment_at": "2018-12-14T07:56:10Z",
"last_comment_author": "jyotigajrani"
},
{
"number": 54,
"created_at": "2018-12-12T16:56:12Z",
"last_comment_at": "2018-12-14T08:06:05Z",
"last_comment_author": "mcanonic"
},
{
"number": 55,
"created_at": "2019-03-19T15:57:28Z",
"last_comment_at": "2019-03-19T16:01:25Z",
"last_comment_author": "terry2012"
},
{
"number": 56,
"created_at": "2019-04-17T13:05:40Z",
"last_comment_at": "2019-04-30T20:15:46Z",
"last_comment_author": "Sebastiaan-Alvarez-Rodriguez"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/arguslab/Argus-SAF",
"host": "github.com",
"name": "Argus-SAF",
"owner": "arguslab"
},
"metrics": {
"overall": {
"key": "overall",
"band": "at_risk",
"name": "Overall health",
"note": "The weighted overall 43 is calibrated to 39 on the published index scale (record calibration 2026-08-02). Abandonment Policy applies a 60% multiplier to weighted overall health and gives it a ceiling of 34.",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 43,
"calibrated": 39,
"calibration": "2026-08-02"
}
},
{
"code": "abandonment_overall_adjustment",
"params": {
"cap": 34,
"pct": 60
}
}
],
"value": 23,
"inputs": {
"security": 39,
"vitality": 25,
"community": 71,
"governance": 42,
"calibration": "2026-08-02",
"engineering": 42,
"ai_readiness": 44,
"abandonment_cap": 34,
"abandonment_state": "likely_abandoned",
"weighted_overall_raw": 43,
"abandonment_multiplier": 60,
"weighted_overall_before_abandonment": 39,
"overall_after_abandonment_multiplier": 23
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "at_risk",
"name": "Vitality",
"value": 25,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "critical",
"name": "Development activity",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"commits_last_year": 0,
"human_commit_share": 1,
"days_since_last_push": 1120,
"active_weeks_last_year": 0
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 1120 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "push_recency",
"params": {
"days": 1120
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "0/52 weeks with commits",
"points": 0,
"status": "missed",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 0
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "0 commits in the last year",
"points": 0,
"status": "missed",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 0
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "moderate",
"name": "Release discipline",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Signed-Releases. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_signed_releases"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"releases_count": 13,
"latest_release_tag": "v3.1.3",
"releases_from_tags": false,
"days_since_latest_release": 3010,
"mean_days_between_releases": 45
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "13 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 13
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 3010 days ago",
"points": 0,
"status": "missed",
"details": [
{
"code": "release_recency",
"params": {
"days": 3010
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~45 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 45
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "moderate",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"cap": 34,
"state": "likely_abandoned",
"guards": [],
"signals": [
"issue_rot",
"release_stall",
"scorecard_unmaintained"
],
"red_flag": true,
"multiplier_pct": 60,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": 1,
"unanswered_open_issues": 16,
"days_since_last_merged_pr": 3050,
"days_since_last_human_commit": 1727,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "no human commit for 1727 days; 3 unmet obligation(s): issues unanswered, releases stalled, Scorecard reports it unmaintained",
"points": 60,
"status": "partial",
"details": [
{
"code": "abandonment_flagged",
"params": {
"days": 1727,
"count": 3,
"signals": "issues unanswered, releases stalled, Scorecard reports it unmaintained"
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 71,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 59,
"inputs": {
"forks": 54,
"stars": 199,
"watchers": 20,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "199 stars",
"points": 37.3,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 199
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "54 forks",
"points": 14.4,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 54
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "20 watchers",
"points": 7.1,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 20
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"readme_badge_services": [],
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "weak",
"name": "Sustainability & Governance",
"value": 42,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 20,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 3,
"top_contributor_share": 0.984
},
"components": [
{
"key": "bus_factor",
"name": "Bus factor",
"detail": "1 contributor(s) cover half of all commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "bus_factor",
"params": {
"count": 1
}
}
],
"max_points": 54
},
{
"key": "commit_distribution",
"name": "Commit distribution",
"detail": "top contributor authored 98% of commits",
"points": 0.4,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 98
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "3 contributors",
"points": 4.1,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 3
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 51,
"inputs": {
"merged_prs": 2,
"open_issues": 35,
"closed_issues": 49,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 0.583,
"closed_unmerged_prs": 1,
"first_time_authors_30d": null,
"first_time_prs_merged_30d": null,
"first_time_prs_decided_30d": null
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "58% of issues closed",
"points": 24.5,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 58
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "2/3 decided PRs merged",
"points": 20,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 2,
"decided": 3
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"followers": 8,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "arguslab",
"public_repos": 31,
"account_age_days": 4638
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "organization-owned",
"points": 30,
"status": "met",
"details": [
{
"code": "owner_organization",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "8 followers of arguslab",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 8,
"login": "arguslab"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "31 public repos, account ~12 yr old",
"points": 23,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 31
}
},
{
"code": "account_age_years",
"params": {
"years": 12
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "weak",
"name": "Engineering Quality",
"value": 42,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "at_risk",
"name": "Engineering practices",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: CI-Tests. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_ci_tests"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 30,
"inputs": {
"has_ci": false,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"topics": [
"static-analysis",
"security",
"android"
],
"has_wiki": true,
"homepage": null,
"has_readme": true,
"has_docs_dir": false,
"has_description": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 30,
"status": "met",
"details": [],
"max_points": 30
},
{
"key": "documentation_directory",
"name": "Documentation directory",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": "3 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 3
}
}
],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "weak",
"name": "Security",
"value": 39,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): CI-Tests, Dangerous-Workflow, Packaging, Pinned-Dependencies, Signed-Releases, Token-Permissions. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"ci_tests",
"dangerous_workflow",
"packaging",
"pinned_dependencies",
"signed_releases",
"token_permissions"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 24,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 12,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 6,
"scorecard_aggregate": 2.4
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 5.2,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "branch protection not enabled on development/release branches",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "no pull request found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/30 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no workflows found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "0 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "no SAST tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file not detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "no releases found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "No tokens found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "1 existing vulnerabilities detected",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 6 resolved dependencies against OSV; 4 could not be assessed (no resolved version, an unsupported ecosystem, or beyond the reported package list). This repository publishes no package the index resolves, so the repository dependency graph was assessed instead. That graph mixes development and test pins with shipped dependencies, so only the declared runtime dependencies are scored; transitive findings are reported as context and excluded from the score. Reachability is not analyzed.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"indirect_dependencies_free_of_known_advisories",
"no_advisories_left_outstanding"
]
}
},
{
"code": "weights_renormalized",
"params": {}
},
{
"code": "advisories_scope_repository",
"params": {
"assessed": 6
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 4
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 2,
"affected_packages": 1,
"assessed_packages": 6,
"unassessed_packages": 4,
"affected_by_severity": "high 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 6,
"malicious_packages": 0,
"direct_malicious_packages": 0,
"withdrawn_malicious_packages": 0,
"installable_malicious_packages": 0
},
"components": [
{
"key": "no_dependency_reported_as_a_malicious_package",
"name": "No dependency reported as a malicious package",
"detail": "no dependency is reported as a malicious package",
"points": 100,
"status": "met",
"details": [
{
"code": "no_malicious_dependencies",
"params": {}
}
],
"max_points": 100
}
]
},
{
"key": "high_risk_jurisdiction_exposure",
"band": "exceptional",
"name": "High-Risk Jurisdiction Exposure",
"note": "Only high-confidence self-published location evidence affects this multiplier. Ambiguous matches are review-only; country evidence is not proof of nationality, citizenship, legal registration, malicious intent, or sanctions status.",
"notes": [
{
"code": "jurisdiction_evidence_limits",
"params": {}
}
],
"value": 100,
"inputs": {
"meaning": "self-published location evidence; not nationality or citizenship",
"red_flag": false,
"exposures": [],
"policy_countries": [
"Russia",
"Iran",
"North Korea"
],
"commit_weight_rule": {
"min_commits": 50,
"min_commit_share": 0.1
},
"review_only_matches": 0,
"below_threshold_exposures": [],
"assessed_self_published_locations": 4
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "weak",
"name": "AI Readiness",
"value": 44,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "critical",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 1,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.01,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "no CLAUDE.md / AGENTS.md / editor rules",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_instructions",
"params": {}
}
],
"max_points": 45
},
{
"key": "machine_readable_docs_llms_txt",
"name": "Machine-readable docs (llms.txt)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "legible_commit_history",
"name": "Legible commit history",
"detail": "1 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 0.5,
"status": "partial",
"details": [
{
"code": "legible_history",
"params": {
"legible": 1,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "moderate",
"name": "Verify loop (build / test / typecheck)",
"note": "Excluded from scoring (no data or not applicable): OpenSSF Scorecard: Pinned-Dependencies. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"openssf_scorecard_pinned_dependencies"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 57,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [],
"has_dockerfile": false,
"typed_language": true,
"bootstrap_files": [
"nativedroid/Makefile"
],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "nativedroid/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "nativedroid/Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Scala (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Scala"
}
}
],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "no agent-authored commits among the last 100",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_agent_authored_commits",
"params": {
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "no dependencies found",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "exceptional",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Scala",
"largest_source_bytes": 125345,
"source_files_sampled": 518,
"oversized_source_files": 4
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Scala (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Scala"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "4/518 source files over 60KB",
"points": 54.6,
"status": "partial",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 518,
"oversized": 4
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "weak",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [],
"has_mcp_signal": false,
"api_schema_files": [
"jawa/src/main/protobuf/java_signatures.proto",
"jawa/src/main/protobuf/summary.proto",
"jawa/src/main/protobuf/taint_result.proto",
"jnsaf/src/main/protobuf/jnsaf_grpc.proto",
"jnsaf/src/main/protobuf/nativedroid_grpc.proto",
"nativedroid/nativedroid/protobuf/java_signatures.proto",
"nativedroid/nativedroid/protobuf/jnsaf_grpc.proto",
"nativedroid/nativedroid/protobuf/nativedroid_grpc.proto",
"nativedroid/nativedroid/protobuf/summary.proto",
"nativedroid/nativedroid/protobuf/taint_result.proto"
]
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": "jawa/src/main/protobuf/java_signatures.proto, jawa/src/main/protobuf/summary.proto, jawa/src/main/protobuf/taint_result.proto, jnsaf/src/main/protobuf/jnsaf_grpc.proto, jnsaf/src/main/protobuf/nativedroid_grpc.proto, nativedroid/nativedroid/protobuf/java_signatures.proto, nativedroid/nativedroid/protobuf/jnsaf_grpc.proto, nativedroid/nativedroid/protobuf/nativedroid_grpc.proto, nativedroid/nativedroid/protobuf/summary.proto, nativedroid/nativedroid/protobuf/taint_result.proto",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "jawa/src/main/protobuf/java_signatures.proto, jawa/src/main/protobuf/summary.proto, jawa/src/main/protobuf/taint_result.proto, jnsaf/src/main/protobuf/jnsaf_grpc.proto, jnsaf/src/main/protobuf/nativedroid_grpc.proto, nativedroid/nativedroid/protobuf/java_signatures.proto, nativedroid/nativedroid/protobuf/jnsaf_grpc.proto, nativedroid/nativedroid/protobuf/nativedroid_grpc.proto, nativedroid/nativedroid/protobuf/summary.proto, nativedroid/nativedroid/protobuf/taint_result.proto"
}
}
],
"max_points": 40
},
{
"key": "mcp_server",
"name": "MCP server",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
},
{
"key": "runnable_examples",
"name": "Runnable examples",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 40
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? Carries a deliberately small weight: agent tooling is a real maintenance signal, but its absence must never gate the top of the scale (calibration saturates at raw 91, so 100/100 remains reachable with AI Readiness at zero)."
}
],
"classification": {
"labels": [],
"scores": {
"framework": 2,
"network-service": 3
},
"primary": null,
"evidence": [
{
"tier": "structure",
"label": "network-service",
"source": "api_schema",
"weight": 3
},
{
"tier": "description",
"label": "framework",
"source": "description:framework",
"weight": 2
}
],
"artifacts": [],
"confidence": "none",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": false
},
"metrics_version": "2.3.1"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch pypi package 'nativedroid' from its registry"
],
"report_type": "repository",
"generated_at": "2026-07-30T03:54:13.459180Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/a/arguslab/Argus-SAF.svg",
"full_name": "arguslab/Argus-SAF",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}