原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 41482,
"has_wiki": true,
"homepage": "https://fosslight.org",
"languages": {
"Python": 261358
},
"pushed_at": "2026-07-30T02:44:49Z",
"created_at": "2021-01-22T08:16:32Z",
"owner_type": "Organization",
"updated_at": "2026-07-30T02:44:53Z",
"description": "FOSSLight Dependency Scanner",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Python",
"significant_languages": [
"Python"
]
},
"owner": {
"blog": null,
"name": "FOSSLight",
"type": "Organization",
"login": "fosslight",
"company": null,
"location": null,
"followers": 38,
"avatar_url": "https://avatars.githubusercontent.com/u/82345686?v=4",
"created_at": "2021-04-11T23:10:33Z",
"is_verified": null,
"public_repos": 22,
"account_age_days": 1935
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": null,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v4.1.47",
"kind": "patch",
"published_at": "2026-07-30T02:44:27Z"
},
{
"tag": "v4.1.46",
"kind": "patch",
"published_at": "2026-07-24T04:33:34Z"
},
{
"tag": "v4.1.45",
"kind": "patch",
"published_at": "2026-07-09T07:35:10Z"
},
{
"tag": "v4.1.44",
"kind": "patch",
"published_at": "2026-07-09T05:41:10Z"
},
{
"tag": "v4.1.43",
"kind": "patch",
"published_at": "2026-06-25T00:23:00Z"
},
{
"tag": "v4.1.42",
"kind": "patch",
"published_at": "2026-06-11T07:21:10Z"
},
{
"tag": "v4.1.41",
"kind": "patch",
"published_at": "2026-06-01T02:56:29Z"
},
{
"tag": "v4.1.40",
"kind": "patch",
"published_at": "2026-05-28T08:21:39Z"
},
{
"tag": "v4.1.39",
"kind": "patch",
"published_at": "2026-04-23T05:39:38Z"
},
{
"tag": "v4.1.38",
"kind": "patch",
"published_at": "2026-04-17T01:55:21Z"
},
{
"tag": "v4.1.37",
"kind": "patch",
"published_at": "2026-04-09T05:39:01Z"
},
{
"tag": "v4.1.36",
"kind": "patch",
"published_at": "2026-04-03T05:55:06Z"
},
{
"tag": "v4.1.35",
"kind": "patch",
"published_at": "2026-03-26T04:48:05Z"
},
{
"tag": "v4.1.34",
"kind": "patch",
"published_at": "2026-03-13T01:21:12Z"
},
{
"tag": "v4.1.33",
"kind": "patch",
"published_at": "2026-03-06T00:19:34Z"
},
{
"tag": "v4.1.32",
"kind": "patch",
"published_at": "2026-02-05T07:02:57Z"
},
{
"tag": "v4.1.31",
"kind": "patch",
"published_at": "2026-01-26T05:42:23Z"
},
{
"tag": "v4.1.30",
"kind": "patch",
"published_at": "2026-01-23T08:10:21Z"
},
{
"tag": "v4.1.29",
"kind": "patch",
"published_at": "2026-01-23T05:33:21Z"
},
{
"tag": "v4.1.28",
"kind": "patch",
"published_at": "2026-01-16T01:43:04Z"
},
{
"tag": "v4.1.27",
"kind": "patch",
"published_at": "2026-01-14T08:31:43Z"
},
{
"tag": "v4.1.26",
"kind": "patch",
"published_at": "2026-01-13T05:21:54Z"
},
{
"tag": "v4.1.25",
"kind": "patch",
"published_at": "2025-12-24T01:51:32Z"
},
{
"tag": "v4.1.24",
"kind": "patch",
"published_at": "2025-12-12T03:02:43Z"
},
{
"tag": "v4.1.23",
"kind": "patch",
"published_at": "2025-11-12T08:25:48Z"
},
{
"tag": "v4.1.22",
"kind": "patch",
"published_at": "2025-10-16T01:34:12Z"
},
{
"tag": "v4.1.21",
"kind": "patch",
"published_at": "2025-09-23T00:38:15Z"
},
{
"tag": "v4.1.20",
"kind": "patch",
"published_at": "2025-09-02T09:52:17Z"
},
{
"tag": "v4.1.19",
"kind": "patch",
"published_at": "2025-07-17T08:10:15Z"
},
{
"tag": "v4.1.18",
"kind": "patch",
"published_at": "2025-07-11T07:21:23Z"
},
{
"tag": "v4.1.17",
"kind": "patch",
"published_at": "2025-07-09T00:04:41Z"
},
{
"tag": "v4.1.16",
"kind": "patch",
"published_at": "2025-07-01T08:10:28Z"
},
{
"tag": "v4.1.15",
"kind": "patch",
"published_at": "2025-06-26T09:10:11Z"
},
{
"tag": "v4.1.14",
"kind": "patch",
"published_at": "2025-06-12T06:17:24Z"
},
{
"tag": "v4.1.13",
"kind": "patch",
"published_at": "2025-06-09T09:13:51Z"
},
{
"tag": "v4.1.12",
"kind": "patch",
"published_at": "2025-05-09T06:14:31Z"
},
{
"tag": "v4.1.11",
"kind": "patch",
"published_at": "2025-04-23T05:19:12Z"
},
{
"tag": "v4.1.10",
"kind": "patch",
"published_at": "2025-04-16T06:23:51Z"
},
{
"tag": "v4.1.9",
"kind": "patch",
"published_at": "2025-03-17T09:56:58Z"
},
{
"tag": "v4.1.8",
"kind": "patch",
"published_at": "2025-02-27T08:34:18Z"
},
{
"tag": "v4.1.7",
"kind": "patch",
"published_at": "2025-02-14T05:49:58Z"
},
{
"tag": "v4.1.6",
"kind": "patch",
"published_at": "2025-01-16T11:40:54Z"
},
{
"tag": "v4.1.5",
"kind": "patch",
"published_at": "2025-01-06T08:40:35Z"
},
{
"tag": "v4.1.4",
"kind": "patch",
"published_at": "2024-12-09T06:04:30Z"
},
{
"tag": "v4.1.3",
"kind": "patch",
"published_at": "2024-12-05T01:40:48Z"
},
{
"tag": "v4.1.2",
"kind": "patch",
"published_at": "2024-10-30T13:33:41Z"
},
{
"tag": "v4.1.1",
"kind": "patch",
"published_at": "2024-10-10T01:10:56Z"
},
{
"tag": "v4.1.0",
"kind": "minor",
"published_at": "2024-10-08T05:09:21Z"
},
{
"tag": "v4.0.0",
"kind": "major",
"published_at": "2024-09-06T11:08:02Z"
},
{
"tag": "v3.15.6",
"kind": "patch",
"published_at": "2024-08-28T06:04:56Z"
},
{
"tag": "v3.15.5",
"kind": "patch",
"published_at": "2024-07-24T03:41:19Z"
},
{
"tag": "v3.15.4",
"kind": "patch",
"published_at": "2024-06-26T07:05:51Z"
},
{
"tag": "v3.15.3",
"kind": "patch",
"published_at": "2024-06-20T06:08:04Z"
},
{
"tag": "v3.15.2",
"kind": "patch",
"published_at": "2024-06-14T09:59:50Z"
},
{
"tag": "v3.15.1",
"kind": "patch",
"published_at": "2024-06-10T01:48:32Z"
},
{
"tag": "v3.15.0",
"kind": "minor",
"published_at": "2024-05-22T02:34:16Z"
},
{
"tag": "v3.14.3",
"kind": "patch",
"published_at": "2024-05-16T06:55:17Z"
},
{
"tag": "v3.14.2",
"kind": "patch",
"published_at": "2024-05-08T08:15:18Z"
},
{
"tag": "v3.14.1",
"kind": "patch",
"published_at": "2024-04-26T07:18:24Z"
},
{
"tag": "v3.14.0",
"kind": "minor",
"published_at": "2024-02-29T07:57:55Z"
},
{
"tag": "v3.13.9",
"kind": "patch",
"published_at": "2024-01-05T09:41:42Z"
},
{
"tag": "v3.13.8",
"kind": "patch",
"published_at": "2023-12-27T07:35:40Z"
},
{
"tag": "v3.13.7",
"kind": "patch",
"published_at": "2023-12-22T04:04:10Z"
},
{
"tag": "v3.13.6",
"kind": "patch",
"published_at": "2023-11-09T03:32:08Z"
},
{
"tag": "v3.13.5",
"kind": "patch",
"published_at": "2023-10-13T04:24:57Z"
},
{
"tag": "v3.13.4",
"kind": "patch",
"published_at": "2023-05-19T06:05:48Z"
},
{
"tag": "v3.13.3",
"kind": "patch",
"published_at": "2023-05-08T09:22:06Z"
},
{
"tag": "v3.13.2",
"kind": "patch",
"published_at": "2023-04-18T09:12:17Z"
},
{
"tag": "v3.13.1",
"kind": "patch",
"published_at": "2023-04-07T06:08:22Z"
},
{
"tag": "v3.13.0",
"kind": "minor",
"published_at": "2023-03-22T08:24:10Z"
},
{
"tag": "v3.12.7",
"kind": "patch",
"published_at": "2023-03-09T09:10:30Z"
},
{
"tag": "v3.12.6",
"kind": "patch",
"published_at": "2023-02-23T06:39:42Z"
},
{
"tag": "v3.12.5",
"kind": "patch",
"published_at": "2023-01-27T07:21:33Z"
},
{
"tag": "v3.12.4",
"kind": "patch",
"published_at": "2023-01-05T08:56:18Z"
},
{
"tag": "v3.12.3",
"kind": "patch",
"published_at": "2022-12-22T08:53:49Z"
},
{
"tag": "v3.12.2",
"kind": "patch",
"published_at": "2022-11-24T08:32:32Z"
},
{
"tag": "v3.12.1",
"kind": "patch",
"published_at": "2022-10-27T06:48:23Z"
},
{
"tag": "v3.12.0",
"kind": "minor",
"published_at": "2022-10-04T09:19:09Z"
},
{
"tag": "v3.11.7",
"kind": "patch",
"published_at": "2022-09-15T08:15:00Z"
},
{
"tag": "v3.11.6",
"kind": "patch",
"published_at": "2022-09-01T08:45:30Z"
},
{
"tag": "v3.11.5",
"kind": "patch",
"published_at": "2022-08-23T01:40:21Z"
},
{
"tag": "v3.11.4",
"kind": "patch",
"published_at": "2022-08-22T23:52:57Z"
},
{
"tag": "v3.11.3",
"kind": "patch",
"published_at": "2022-08-12T00:51:24Z"
},
{
"tag": "v3.11.2",
"kind": "patch",
"published_at": "2022-07-22T06:07:49Z"
},
{
"tag": "v3.11.1",
"kind": "patch",
"published_at": "2022-07-07T00:29:28Z"
},
{
"tag": "v3.11.0",
"kind": "minor",
"published_at": "2022-06-16T08:50:58Z"
},
{
"tag": "v3.10.1",
"kind": "patch",
"published_at": "2022-05-10T05:36:08Z"
},
{
"tag": "v3.10.0",
"kind": "minor",
"published_at": "2022-05-10T03:04:02Z"
},
{
"tag": "v3.9.4",
"kind": "patch",
"published_at": "2022-04-11T08:45:01Z"
},
{
"tag": "v3.9.3",
"kind": "patch",
"published_at": "2022-03-11T05:37:12Z"
},
{
"tag": "v3.9.2",
"kind": "patch",
"published_at": "2022-02-14T05:57:28Z"
},
{
"tag": "v3.9.1",
"kind": "patch",
"published_at": "2022-02-10T08:08:08Z"
},
{
"tag": "v3.9.0",
"kind": "minor",
"published_at": "2022-01-13T04:10:36Z"
},
{
"tag": "v3.8.0",
"kind": "minor",
"published_at": "2021-12-24T05:34:55Z"
},
{
"tag": "v3.7.6",
"kind": "patch",
"published_at": "2021-11-18T09:57:05Z"
},
{
"tag": "v3.7.5",
"kind": "patch",
"published_at": "2021-11-04T06:25:58Z"
},
{
"tag": "v3.7.4",
"kind": "patch",
"published_at": "2021-10-21T08:34:14Z"
},
{
"tag": "v3.7.3",
"kind": "patch",
"published_at": "2021-10-07T04:53:40Z"
},
{
"tag": "v3.7.2",
"kind": "patch",
"published_at": "2021-09-30T06:06:39Z"
},
{
"tag": "v3.7.1",
"kind": "patch",
"published_at": "2021-09-16T08:47:57Z"
}
],
"recent_commits": [
{
"oid": "cd7a025324582a7ed71b676993391daee395b76f",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-07-30T02:44:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5954e604c65f910a47fb6ecfabe17aa1be65ff8b",
"body": "…, and Maven projects (#328)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(java): add Java version compatibility checks for Gradle, Android…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-28T23:54:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "abcefff4490faa8a3f91d728ae36162683f847ac",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(cocoapods): exclude subspec names from OSS Name (#329)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-28T23:52:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "df872d6e2a77c43d3711df937a178f671a32be66",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-07-24T04:33:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "74ccfaebe5f444e5a20272c0b6b4f0024651fc01",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(scanner): detect Android and Gradle project types (#325)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-22T07:20:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0cde4b50cbeb6bf941f64dd8809aad399c63f0ae",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(gradle): refactor Gradle-related code (#327)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-22T07:20:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "690d239e6f0f23f8af5583578ba9cd56bae30028",
"body": "…ion (#326)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(gradle): upgrade jk1 plugin and improve licenseReport configurat…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-14T07:59:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "690d8cbc416061e14d84def56759028ca4f4c73e",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-07-09T07:35:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3c70340296b622da15e24b1fe7345df9f05af479",
"body": "* feat(dependency): add running time output to cover sheet and result log\n\n* chore(deps): upgrade fosslight_util to 2.2.2",
"is_bot": false,
"headline": "Add running time output to cover sheet and result log (#322)",
"author_name": "Jkbang",
"author_login": "bjk7119",
"committed_at": "2026-07-09T07:34:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f50bab294cb7ef7e3e5067a66b29e410167dc579",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-07-09T05:44:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c44fa55c6a5c18a7b336beaf64bb3ef1a545ef58",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(swift): normalize purl generation to include git host (#324)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-09T04:20:57Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ca69f096e5a955188e6debd86717c180a13caec",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "chore(github): update GitHub Actions (#323)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-07T05:20:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f829c31b2f78e417af075377c2077e5ff03f155b",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "chore(ci): update REUSE settings in publish-release workflow (#321)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-02T08:22:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c927fd8f656f8772ac2c5197d2ad11344bf20841",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "chore(reuse): migrate to REUSE v6 and update license rules (#320)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-02T06:05:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d704f7e1176eef6e274c958d5a57669d1b14c3f4",
"body": null,
"is_bot": false,
"headline": "Remove description in PULL_REQUEST_TEMPLATE.md",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-07-02T05:05:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "04308d9c9895a308cb1c21780b36dc64d923558a",
"body": null,
"is_bot": false,
"headline": "Update README.md Contributing Guide",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-29T04:23:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "286989007b8d3b7177a61ad6a9c14258f282137f",
"body": null,
"is_bot": false,
"headline": "Update README.md update Korean Guide",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-29T03:09:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5d5df77f1389c8f6fdd26a8887b8f10bce5d4bc8",
"body": null,
"is_bot": false,
"headline": "Update README.md change How to report issue",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-29T02:59:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "91d6446ab0d6eb0289358b4b50a6854bc642ba1b",
"body": null,
"is_bot": false,
"headline": "Update README.md How to report issue",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-29T02:56:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9e1a29e8283c1484adcd6cd51700430909f15acc",
"body": null,
"is_bot": false,
"headline": "Delete CONTRIBUTING.md",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-29T02:06:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fae9d8f8ac51d14f68ea9d3946661eaf041ccfed",
"body": null,
"is_bot": false,
"headline": "Update README.md commit message update",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-26T04:55:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6b04d9fea2ba8a933d9df8e094ea3db3ac590450",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-06-25T00:23:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a7b394c443888f3349ae95e6cb559842300c0ba9",
"body": "… and Kotlin DSL (#314)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(dependency): replace Gradle license analysis with jk1 for Groovy…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-23T08:10:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d410e130f53fe09f384cd62e8cdea6522aa21b4",
"body": "Fix a couple of deprecation warnings for Node.js 20.",
"is_bot": false,
"headline": "chore(ci): Update GitHub Actions to latest major release (#318)",
"author_name": "Christoph Grüninger",
"author_login": "gruenich",
"committed_at": "2026-06-23T06:03:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d6e857f7690e781d04937667ac829ebc3fec3e06",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "ci(tox): run flake8 directly instead of pytest-flake8 (#316)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-15T08:50:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fa6c0d552aeffe739f0b9c268d6ade04500158c3",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-06-11T07:21:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6278468fed0fabc5e2e5623b622ecbed7b7aaab1",
"body": "…pendency runs (#315)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(windows11): handle encoding difference between scanner all and de…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-06-11T05:46:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dbfcbb5e134291cd8334b2e3877a33b7181b9b21",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-06-01T02:56:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32fee48d426905bc07a0495ba3b7e58989e1a23d",
"body": "* fix(yarn): improve PnP mode detection and Berry-compatible install options\n* fix(yarn): modify env cmd for cross-platform support\n\n---------\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Improve PnP mode detection and Berry-compatible install options (#313)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-06-01T02:41:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9edefb65421533daf395e9a12274ab024337674f",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-05-28T08:22:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7c417e868aacf6b850fe53ca564ddd9a51fd2a80",
"body": "…d add local paths to comments for scanner info and dep sheet (#312)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(dependency-scanner): strip root path from local package output an…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-05-20T00:38:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49df30d1bac24fc992fb6e8f7d8bb91d76cb404d",
"body": "…lready present (#311)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(gradle): avoid failing when gradlew exists and allDeps input is a…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-05-12T00:26:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4edf33020a35f8f685ecc00cf9fecf3a847d2751",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "refactor(maven): change package URL output to Google Maven format (#310)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-27T06:39:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "89e95743c68dc09394e1bf9ddaecbb82b0f6888f",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-04-23T05:39:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1168ea12a4bb9935a71074c1b773c05fc375db1a",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(windows11): prevent potential encoding issue (#309)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-21T00:52:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1cd7553c5cb437f52b05a23fbe93672a25c0ccbc",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-04-17T01:55:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9c2695a9e4440efc11eb18c7f829bb2b41b63cad",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(kotlin): support Android projects using build.gradle.kts (#307)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-17T00:58:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1e032e070d5093a50b1cc0b066eaf2180fc0dddd",
"body": "…talled (#308)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(info): show fail message when manifest is found but go is not ins…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-15T06:29:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "203acab1f64525df2280aeeeee805595c00bfd95",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "chore(win11 local): normalize UTF-8 encoding across environments (#305)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-13T05:28:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6570d213aab261795677c1127a4018e62513ccf1",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-04-09T05:39:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fb4feb4b6a1502e84f559b4a45fa91a24aa3e0af",
"body": "The following vulnerabilities are fixed by pinning transitive dependencies:\n- https://snyk.io/vuln/SNYK-PYTHON-PILLOW-6514866\n\nCo-authored-by: snyk-bot <snyk-bot@snyk.io>",
"is_bot": false,
"headline": "fix: requirements.txt to reduce vulnerabilities (#306)",
"author_name": "Jkbang",
"author_login": "bjk7119",
"committed_at": "2026-04-08T02:18:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a88705959dfa4abf3ce26768e4a296033a81fc3b",
"body": "…ion (#304)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(node): use explicit npm path for global license-checker installat…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-07T08:27:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43bff7b1a0062a8f8620ca770d6f8ce247ad77ad",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-04-03T05:55:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2368bf5e8b4d4ceb9440b8d7aa1712748029599a",
"body": "…(#303)\n\n* fix(encoding): handle non-UTF-8 system encoding in subprocess output\n* fix(coderabbit): fix coderabbit review\n\n---------\n\nSigned-off-by: 석지영 <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "fix(encoding): handle non-UTF-8 system encoding in subprocess output …",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-04-03T05:53:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31ece2eda0f23fd9c006201760c0adf3868d51b6",
"body": "Signed-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(license-checker): add local installation of license-checker (#301)",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-01T09:13:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88b37ab094e8a65f1e2417fa05b7523780b9aedb",
"body": "…yproject.toml (#302)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "feat(python): support Python 3.13/3.14 and migrate from setup.py to p…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-04-01T07:47:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "35737cd777176c18b756d0dac86369903b977c4f",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-03-26T04:48:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "84d67516557e97d9ddb6b8c8aad1d46637291a45",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.34 → 4.1.35",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-03-26T04:48:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "642c1b07d16cae7837971a026e27fedeca31f9b2",
"body": "…300)\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "chore(log): remove trailing period from guide URLs in log messages (#…",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-03-24T01:17:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e9dfc4585c7b39f54a3a63b569db2b5d126195a",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "docs(guide): update fosslight.org guide url (#299)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-03-23T09:05:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3319ce6aee479856488daf6354caabcdebff47ed",
"body": "…tection (#298)\n\nSigned-off-by: woocheol <jayden6659@gmail.com>",
"is_bot": false,
"headline": "fix(gradle_scan): prevent java/android overlap during build.gradle de…",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-03-20T06:54:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aae5f60713c8456f55fc09da8811fc67a62aa016",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-03-13T01:21:35Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1dcabf39703681c22fbb2f52bdfbef9a2d2427a0",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.33 → 4.1.34",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-03-13T01:21:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d163f07678b4195a2eeda8ba898adf4fb3d95eb9",
"body": "…(#294)\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "refactor(pub): replace flutter_oss_licenses with local cache parsing …",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-03-13T01:20:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "11c0e06904cf39edff899e2f28151c7dd7309d3a",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-03-06T00:20:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "78826e12ed56fc12bccf164530185ded9fc2a939",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.32 → 4.1.33",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-03-06T00:19:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88ef5bdc6813200d04970d1d3ba2e987f82611d4",
"body": "* Fix pnpm workspace install and json parsing\n* Fix the missing type guards for dict\n\n---------\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Fix pnpm workspace install and json parsing (#293)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-03-05T09:00:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8115a35d91b6f32f16a757c24ffe9609f3e1c41d",
"body": "* Collect and print custom dn url for maven/gradle\n* Add maven test case and fallback case\n\n---------\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Collect and print custom dn url for maven/gradle (#289)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-03-05T07:58:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b0818ac350176c8fdda165bc647f559b2796665",
"body": "Remove \"Type of change\" section from PR default template",
"is_bot": false,
"headline": "Merge pull request #292 from fosslight/github_template",
"author_name": "Woocheol",
"author_login": "woocheol-lge",
"committed_at": "2026-03-05T00:08:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6e17432fe7250f007c2715945d74e141ed805dab",
"body": null,
"is_bot": false,
"headline": "chore: add initial coderabbit configuration",
"author_name": "Soim",
"author_login": "soimkim",
"committed_at": "2026-02-26T02:46:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "727665483f90c6542cdc1620e4e81e48861994d8",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-02-05T07:03:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "844f526ec7371faf5296b2ac3a8b465fe8a199c9",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.31 → 4.1.32",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-02-05T07:03:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c0525dffdd980ea731591dd520de9f1522781c28",
"body": "* Change pypi license priority order\n* Add license-file info\n\n---------\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Change pypi license priority order (#288)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-02-05T06:24:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "88e3bd7c541c24f97565b1c87c19d5fd2e606c97",
"body": null,
"is_bot": false,
"headline": "Update help message (#284)",
"author_name": "Jkbang",
"author_login": "bjk7119",
"committed_at": "2026-01-28T07:41:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6960937d67efe4c89c378ce87cb4d14ddab747e2",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Check npm pkg version existence in registry (#286)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-28T03:28:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "edf2be1d7946a36b16c9a85874df691d7a690a9e",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-26T05:42:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "135e130c0ced91827cb1e099d92669ed6821a123",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.30 → 4.1.31",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-26T05:42:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "08e39b87199b64970130b7517bdd8f7a15e3aad1",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Fix the yarn bug when it checks url exists (#285)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-26T05:38:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aac43802d42c75d1792c11bf131b7329588e1869",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-23T08:10:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "562cb143aa9e4cef0ac052542a44a28a82bd3f82",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.29 → 4.1.30",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-23T08:10:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ba849d3eb98dc970c697b8ed30cef3ef0b40456",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Fix skipped path log not printed when all_mode (#283)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-23T08:09:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5c261df874cd42ed6548ecc8ebb7581425c4e29",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-23T05:33:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3ac499dbc81a899ac00c59d02d3b29e26ac2a3d",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.28 → 4.1.29",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-23T05:33:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e66a93cc0a3680cb3b6b4eef60138eb9adabbd0",
"body": "* Remove duplicated exclude login for all mode\n* Separate cli and main\n\n---------\n\nSigned-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Remove duplicated exclude logic for all mode (#282)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-23T05:30:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "040738b5b9cbffa7a76dba317043c0caa77a186f",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-16T01:43:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21532a2019f3b588ce22e0f62d3d575ee0073014",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.27 → 4.1.28",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-16T01:43:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d03ed8aafc2eadd6191860d9b37b0fc2e4b72a92",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Replace exclude function to fosslight_util (#281)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-16T01:41:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cd0e6e5e646073c0c3ad3b9d498824a998b84913",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-14T08:32:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8556af68caf3229fdeacc1c6f8c58e810e0876b9",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.26 → 4.1.27",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-14T08:31:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4df4152e6d6570ad5b514c6c0084cf32457fa109",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Run dotnet restore for all .sln and .csproj (#280)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-14T08:31:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "782afb6749bd7cebb95a345a05b17cee7fdff03f",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-13T05:22:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3e3864e4ef748a006bbcae8f2e768918a502f899",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.25 → 4.1.26",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2026-01-13T05:22:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "36e7a36c103d1dc6c0bf2e339300b538c0fbc4c3",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Add auto-restore for Nuget CPM projects (#279)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-13T05:21:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac1e3eb8cdb136b533c4082c56fd7b234f089bed",
"body": null,
"is_bot": false,
"headline": "Add how to use -e option (#276)",
"author_name": "Jkbang",
"author_login": "bjk7119",
"committed_at": "2026-01-12T08:58:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "aecfb8abc9291f659d9fa496f6067a1c48851930",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Add dotnet restore cmd when analyzing nuget (#275)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-12T08:57:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b38094c711f4afe9723648462a93c36075bcce9d",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Refine npm/yarn dn urls via registry lookup (#278)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2026-01-05T08:11:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b38084f82f6364464f87a437f305692c1c68e67",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Fix maven direct/transitive bug (#277)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2025-12-31T08:47:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d56e79cbeae17063606661ee782207ecce01535e",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Modify comment in scanner info sheet (#274)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2025-12-29T04:55:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7f59468d9b2cc54c4d93a3ef433567108750f0bb",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Fix to detect manifest file when path included (#273)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2025-12-24T07:51:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d82414914c1c9e0600f776e70416c6ad4fd55908",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-12-24T01:51:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5f29df58eebc907a9344186cb4f1ed1c75a42eb",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.24 → 4.1.25",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-12-24T01:51:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12f4e221eae0b9e4738d4a3e3f61494ae317ee59",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Update supported format (#272)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2025-12-23T09:28:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75b7ab039b212e0e3e8295bc227f0b44464ce9c5",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-12-12T03:03:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "397a92fb4eb861ad02b66dab0a65f0dba29574d4",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.23 → 4.1.24",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-12-12T03:02:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7e4cf557f3b8ded9b32e9e6c165f66ae3eed40ef",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Add to get license from pom additionally (#271)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2025-12-12T02:49:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6727c81da54dc89256f27d563e9a9204b6be44b8",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-11-12T08:26:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3d3c053fb0969f6d1d9feb612ab85379cd0355aa",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.22 → 4.1.23",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-11-12T08:26:02Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32f2c700fff8b8e31526ffb62eb64f8c784b6a27",
"body": "Signed-off-by: 석지영/책임연구원/SW공학(연)Open Source TP <jiyeong.seok@lge.com>",
"is_bot": false,
"headline": "Distinguish flutter sdk in package list (#270)",
"author_name": "Jiyeong Seok",
"author_login": "dd-jy",
"committed_at": "2025-11-12T08:13:29Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4bfb3b166c1d0a2ac57019697d2a8161c284461a",
"body": null,
"is_bot": true,
"headline": "Update ChangeLog",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-10-16T01:34:46Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "402f4a298625ab4a807d60aa4d299a217863be29",
"body": null,
"is_bot": true,
"headline": "Bump version: 4.1.21 → 4.1.22",
"author_name": "github-actions[bot]",
"author_login": "FOSSLight-dev",
"committed_at": "2025-10-16T01:34:29Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 100,
"commits_last_year": 111,
"latest_release_at": "2026-07-30T02:44:27Z",
"latest_release_tag": "v4.1.47",
"releases_from_tags": false,
"days_since_last_push": 0,
"active_weeks_last_year": 33,
"days_since_latest_release": 0,
"mean_days_between_releases": 11.6
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 62,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": false
},
"ecosystem": {
"packages": [
{
"name": "fosslight_dependency",
"exists": true,
"license": "Apache-2.0",
"keywords": [
"Programming Language :: Python :: 3",
"Programming Language :: Python :: 3.10",
"Programming Language :: Python :: 3.11",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14"
],
"ecosystem": "pypi",
"matches_repo": true,
"registry_url": "https://pypi.org/project/fosslight_dependency/",
"is_deprecated": false,
"latest_version": "4.1.47",
"repository_url": "https://github.com/fosslight/fosslight_dependency_scanner",
"versions_count": 115,
"total_downloads": null,
"dependents_count": null,
"deprecation_note": null,
"maintainers_count": null,
"monthly_downloads": null,
"first_published_at": "2021-01-21T10:21:57.352073Z",
"latest_published_at": "2026-07-30T02:47:49.754260Z",
"latest_version_yanked": null,
"days_since_latest_publish": 0
}
]
},
"popularity": {
"forks": 19,
"stars": 38,
"watchers": 4,
"fork_history": {
"days": [
{
"date": "2021-03-04",
"count": 1
},
{
"date": "2021-03-05",
"count": 1
},
{
"date": "2021-07-27",
"count": 1
},
{
"date": "2021-08-23",
"count": 1
},
{
"date": "2021-08-30",
"count": 1
},
{
"date": "2021-10-18",
"count": 1
},
{
"date": "2021-11-16",
"count": 1
},
{
"date": "2021-11-24",
"count": 1
},
{
"date": "2022-07-21",
"count": 1
},
{
"date": "2022-10-24",
"count": 1
},
{
"date": "2023-04-13",
"count": 1
},
{
"date": "2023-07-29",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2024-07-20",
"count": 1
},
{
"date": "2024-08-10",
"count": 1
},
{
"date": "2024-09-12",
"count": 1
},
{
"date": "2024-10-17",
"count": 1
},
{
"date": "2025-06-23",
"count": 1
},
{
"date": "2025-09-01",
"count": 1
}
],
"complete": true,
"collected": 19,
"total_forks": 19
},
"star_history": null,
"open_issues_and_prs": 2
},
"ai_readiness": {
"has_nix": true,
"example_dirs": [
"example",
"examples",
"samples"
],
"has_llms_txt": false,
"has_dockerfile": false,
"has_mcp_signal": false,
"bootstrap_files": [
"tests/test_npm2/node_modules/body-parser/node_modules/debug/Makefile",
"tests/test_npm2/node_modules/express/node_modules/debug/Makefile",
"tests/test_npm2/node_modules/finalhandler/node_modules/debug/Makefile",
"tests/test_npm2/node_modules/json-stringify-safe/Makefile",
"tests/test_npm2/node_modules/progress/Makefile",
"tests/test_npm2/node_modules/send/node_modules/debug/Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"tests/test_android/sunflower/app/build.gradle",
"tests/test_android/sunflower/build.gradle",
"tests/test_android2/sunflower/app/build.gradle",
"tests/test_android2/sunflower/build.gradle",
"tests/test_cargo/Cargo.toml",
"tests/test_gradle/jib/build.gradle",
"tests/test_gradle2/build.gradle",
"tests/test_gradle2/spinnaker-extensions/build.gradle.kts",
"tests/test_gradle2/spinnaker-project-plugin/build.gradle",
"tests/test_kotlin/sunflower/app/build.gradle.kts",
"tests/test_kotlin/sunflower/build.gradle.kts",
"tests/test_kotlin2/sunflower/app/build.gradle.kts",
"tests/test_kotlin2/sunflower/build.gradle.kts",
"tests/test_maven1/lombok.maven/lombok-maven-plugin/pom.xml",
"tests/test_maven1/lombok.maven/pom.xml",
"tests/test_maven1/lombok.maven/test-maven-lombok/pom.xml",
"tests/test_maven2/pom.xml",
"tests/test_maven_custom_repo/pom.xml",
"tests/test_mod/go.mod",
"tests/test_nuget/test_nuget_proj.csproj"
],
"largest_source_bytes": 42697,
"source_files_sampled": 56,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"pyproject.toml",
"requirements-dev.txt",
"setup.cfg"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "sha.js",
"direct": false,
"version": "2.4.11",
"severity": "critical",
"ecosystem": "npm",
"cvss_score": 9.1,
"advisory_ids": [
"GHSA-95m3-7q98-8xr5"
],
"fixed_version": "2.4.12",
"advisory_count": 1,
"oldest_advisory_days": 342
},
{
"name": "ch.qos.logback:logback-classic",
"direct": false,
"version": "1.2.3",
"severity": "high",
"ecosystem": "maven",
"cvss_score": 7.1,
"advisory_ids": [
"GHSA-vmq6-5m68-f53m"
],
"fixed_version": "1.4.12",
"advisory_count": 1,
"oldest_advisory_days": 973
},
{
"name": "Microsoft.Extensions.Caching.Memory",
"direct": false,
"version": "6.0.1",
"severity": "high",
"ecosystem": "nuget",
"cvss_score": 8.6,
"advisory_ids": [
"GHSA-qj66-m88j-hmgj"
],
"fixed_version": "9.0.0-rc.2.24473.5",
"advisory_count": 1,
"oldest_advisory_days": 659
},
{
"name": "node-forge",
"direct": false,
"version": "1.3.1",
"severity": "high",
"ecosystem": "npm",
"cvss_score": 8.6,
"advisory_ids": [
"GHSA-2328-f5f3-gj25",
"GHSA-554w-wpv2-vw27",
"GHSA-5gfm-wpxj-wjgq",
"GHSA-5m6q-g25r-mvwx",
"GHSA-65ch-62r8-g69g",
"GHSA-ppp5-5v6c-4jwp",
"GHSA-q67f-28xg-22rw"
],
"fixed_version": "1.4.0",
"advisory_count": 7,
"oldest_advisory_days": 245
},
{
"name": "org.apache.commons:commons-lang3",
"direct": false,
"version": "3.8.1",
"severity": "moderate",
"ecosystem": "maven",
"cvss_score": 6.5,
"advisory_ids": [
"GHSA-j288-q9x7-2f5v"
],
"fixed_version": "3.18.0",
"advisory_count": 1,
"oldest_advisory_days": 383
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "0.26.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5024"
],
"fixed_version": "0.44.0",
"advisory_count": 1,
"oldest_advisory_days": 68
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "0.14.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5970"
],
"fixed_version": "0.39.0",
"advisory_count": 1,
"oldest_advisory_days": 15
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"high": 3,
"unknown": 2,
"critical": 1,
"moderate": 1
},
"advisory_count": 13,
"affected_count": 7,
"assessed_count": 62,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 83,
"direct_affected_count": 0
},
"ecosystems": [
"pypi"
],
"dependencies": [
{
"name": "openpyxl",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "beautifulsoup4",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "lxml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "virtualenv",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "pyyaml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "lastversion",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "fosslight_util",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": ">=2.2.2"
},
{
"name": "PyGithub",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "requirements-parser",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "defusedxml",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "packageurl-python",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "igraph",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "matplotlib",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
},
{
"name": "pyaskalono",
"manifest": "pyproject.toml",
"ecosystem": "pypi",
"version_constraint": null
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "beautifulsoup4",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "defusedxml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "fosslight-util",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "igraph",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "lastversion",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "lxml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "matplotlib",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "openpyxl",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packageurl-python",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyaskalono",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pygithub",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyyaml",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requirements-parser",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "virtualenv",
"direct": true,
"version": null,
"ecosystem": "pypi"
},
{
"name": "anyhow",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "attohttpc",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "base64",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "env_logger",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "flate2",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "fs2",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "futures-util",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "getrandom",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "git2",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "http",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "lazy_static",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "log",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "nix",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "percent-encoding",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "rand",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "remove_dir_all",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "scopeguard",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "serde",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "serde_json",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tar",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tempfile",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "thiserror",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tiny_http",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "tokio-stream",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "toml",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "walkdir",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "windows-sys",
"direct": false,
"version": null,
"ecosystem": "crates"
},
{
"name": "github.com/charlievieth/fastwalk",
"direct": false,
"version": "1.0.8",
"ecosystem": "go"
},
{
"name": "github.com/gdamore/encoding",
"direct": false,
"version": "1.0.0",
"ecosystem": "go"
},
{
"name": "github.com/gdamore/tcell/v2",
"direct": false,
"version": "2.7.4",
"ecosystem": "go"
},
{
"name": "github.com/junegunn/go-shellwords",
"direct": false,
"version": "0.0.0-20240813092932-a62c48c52e97",
"ecosystem": "go"
},
{
"name": "github.com/lucasb-eyer/go-colorful",
"direct": false,
"version": "1.2.0",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-isatty",
"direct": false,
"version": "0.0.20",
"ecosystem": "go"
},
{
"name": "github.com/mattn/go-runewidth",
"direct": false,
"version": "0.0.15",
"ecosystem": "go"
},
{
"name": "github.com/rivo/uniseg",
"direct": false,
"version": "0.4.7",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "0.26.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": false,
"version": "0.25.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/text",
"direct": false,
"version": "0.14.0",
"ecosystem": "go"
},
{
"name": "ch.qos.logback:logback-classic",
"direct": false,
"version": "1.2.3",
"ecosystem": "maven"
},
{
"name": "javax.validation:validation-api",
"direct": false,
"version": "2.0.1.Final",
"ecosystem": "maven"
},
{
"name": "javax.xml.bind:jaxb-api",
"direct": false,
"version": "2.3.1",
"ecosystem": "maven"
},
{
"name": "junit:junit",
"direct": false,
"version": "4.13.2",
"ecosystem": "maven"
},
{
"name": "org.apache.commons:commons-lang3",
"direct": false,
"version": "3.8.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugin-tools:maven-plugin-annotations",
"direct": false,
"version": "3.6.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-antrun-plugin",
"direct": false,
"version": "3.0.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-assembly-plugin",
"direct": false,
"version": "3.3.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-checkstyle-plugin",
"direct": false,
"version": "3.1.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-clean-plugin",
"direct": false,
"version": "3.1.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-compiler-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-dependency-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-deploy-plugin",
"direct": false,
"version": "3.0.0-M1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-enforcer-plugin",
"direct": false,
"version": "1.7",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-gpg-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-help-plugin",
"direct": false,
"version": "3.2.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-install-plugin",
"direct": false,
"version": "3.0.0-M1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-jar-plugin",
"direct": false,
"version": "3.2.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-javadoc-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-jxr-plugin",
"direct": false,
"version": "3.1.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-plugin-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-plugin-plugin",
"direct": false,
"version": "3.6.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-pmd-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-pmd-plugin",
"direct": false,
"version": "3.14.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-project-info-reports-plugin",
"direct": false,
"version": "3.1.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-release-plugin",
"direct": false,
"version": "3.0.0-M4",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-resources-plugin",
"direct": false,
"version": "3.2.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-scm-plugin",
"direct": false,
"version": "1.11.2",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-scm-publish-plugin",
"direct": false,
"version": "3.1.0",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-site-plugin",
"direct": false,
"version": "3.9.1",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-source-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-plugin",
"direct": false,
"version": "3.0.0-M5",
"ecosystem": "maven"
},
{
"name": "org.apache.maven.plugins:maven-surefire-report-plugin",
"direct": false,
"version": "3.0.0-M5",
"ecosystem": "maven"
},
{
"name": "org.apache.maven:maven-core",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.apache.maven:maven-plugin-api",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.codehaus.mojo:tidy-maven-plugin",
"direct": false,
"version": "1.1.0",
"ecosystem": "maven"
},
{
"name": "org.codehaus.mojo:versions-maven-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.jacoco:jacoco-maven-plugin",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.owasp:dependency-check-maven",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.projectlombok:lombok",
"direct": false,
"version": null,
"ecosystem": "maven"
},
{
"name": "org.projectlombok:lombok",
"direct": false,
"version": "1.18.20",
"ecosystem": "maven"
},
{
"name": "org.projectlombok:lombok-maven-plugin",
"direct": false,
"version": "1.18.20.1-SNAPSHOT",
"ecosystem": "maven"
},
{
"name": "org.slf4j:slf4j-api",
"direct": false,
"version": "1.7.30",
"ecosystem": "maven"
},
{
"name": "org.sonatype.plexus:plexus-build-api",
"direct": false,
"version": "0.0.7",
"ecosystem": "maven"
},
{
"name": "org.springframework.data:spring-data-r2dbc",
"direct": false,
"version": "1.5.0-M1",
"ecosystem": "maven"
},
{
"name": "@types/node",
"direct": false,
"version": "9.6.57",
"ecosystem": "npm"
},
{
"name": "axios",
"direct": false,
"version": "^0.21.1",
"ecosystem": "npm"
},
{
"name": "dayjs",
"direct": false,
"version": "^1.8.29",
"ecosystem": "npm"
},
{
"name": "eslint",
"direct": false,
"version": "^7.28.0",
"ecosystem": "npm"
},
{
"name": "express",
"direct": false,
"version": "^4.17.1",
"ecosystem": "npm"
},
{
"name": "https-proxy-agent",
"direct": false,
"version": "^5.0.0",
"ecosystem": "npm"
},
{
"name": "jasmine",
"direct": false,
"version": "~3.5.0",
"ecosystem": "npm"
},
{
"name": "jsdoc",
"direct": false,
"version": "^3.6.7",
"ecosystem": "npm"
},
{
"name": "jshint",
"direct": false,
"version": "^2.11.0",
"ecosystem": "npm"
},
{
"name": "jsonwebtoken",
"direct": false,
"version": "^8.5.1",
"ecosystem": "npm"
},
{
"name": "lodash",
"direct": false,
"version": "^4.17.21",
"ecosystem": "npm"
},
{
"name": "mock-fs",
"direct": false,
"version": "^4.12.0",
"ecosystem": "npm"
},
{
"name": "nock",
"direct": false,
"version": "^10.0.6",
"ecosystem": "npm"
},
{
"name": "node-forge",
"direct": false,
"version": "1.3.1",
"ecosystem": "npm"
},
{
"name": "node-mocks-http",
"direct": false,
"version": "^1.8.1",
"ecosystem": "npm"
},
{
"name": "nyc",
"direct": false,
"version": "^15.1.0",
"ecosystem": "npm"
},
{
"name": "proxyquire",
"direct": false,
"version": "^2.1.3",
"ecosystem": "npm"
},
{
"name": "q",
"direct": false,
"version": "2.0.x",
"ecosystem": "npm"
},
{
"name": "qs",
"direct": false,
"version": "^6.9.4",
"ecosystem": "npm"
},
{
"name": "rc",
"direct": false,
"version": "1.2.8",
"ecosystem": "npm"
},
{
"name": "rootpath",
"direct": false,
"version": "^0.1.2",
"ecosystem": "npm"
},
{
"name": "scmp",
"direct": false,
"version": "^2.1.0",
"ecosystem": "npm"
},
{
"name": "sha.js",
"direct": false,
"version": "2.4.11",
"ecosystem": "npm"
},
{
"name": "typescript",
"direct": false,
"version": "^2.9.2",
"ecosystem": "npm"
},
{
"name": "url-parse",
"direct": false,
"version": "^1.5.0",
"ecosystem": "npm"
},
{
"name": "xmlbuilder",
"direct": false,
"version": "^13.0.2",
"ecosystem": "npm"
},
{
"name": "Google.Protobuf",
"direct": false,
"version": "3.21.6",
"ecosystem": "nuget"
},
{
"name": "Grpc.AspNetCore.Server",
"direct": false,
"version": "2.48.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Bcl.AsyncInterfaces",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Caching.Abstractions",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Caching.Memory",
"direct": false,
"version": "6.0.1",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.DependencyInjection.Abstractions",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Logging.Abstractions",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Options",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Microsoft.Extensions.Primitives",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "Newtonsoft.Json",
"direct": false,
"version": "13.0.1",
"ecosystem": "nuget"
},
{
"name": "System.Buffers",
"direct": false,
"version": "4.5.1",
"ecosystem": "nuget"
},
{
"name": "System.Memory",
"direct": false,
"version": "4.5.4",
"ecosystem": "nuget"
},
{
"name": "System.Numerics.Vectors",
"direct": false,
"version": "4.5.0",
"ecosystem": "nuget"
},
{
"name": "System.Runtime.CompilerServices.Unsafe",
"direct": false,
"version": "6.0.0",
"ecosystem": "nuget"
},
{
"name": "System.Threading.Tasks.Extensions",
"direct": false,
"version": "4.5.4",
"ecosystem": "nuget"
},
{
"name": "flake8",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pyinstaller",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "pytest-cov",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "setuptools",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "tox",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 145,
"direct_count": 14,
"indirect_count": 131
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 265,
"open_issues": 2,
"closed_ratio": 0.833,
"closed_issues": 10,
"closed_unmerged_prs": 48
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "dd-jy",
"commits": 398,
"avatar_url": "https://avatars.githubusercontent.com/u/50347670?v=4"
},
{
"type": "User",
"login": "FOSSLight-dev",
"commits": 120,
"avatar_url": "https://avatars.githubusercontent.com/u/82562963?v=4"
},
{
"type": "User",
"login": "bjk7119",
"commits": 59,
"avatar_url": "https://avatars.githubusercontent.com/u/81218204?v=4"
},
{
"type": "User",
"login": "woocheol-lge",
"commits": 31,
"avatar_url": "https://avatars.githubusercontent.com/u/96866418?v=4"
},
{
"type": "User",
"login": "soimkim",
"commits": 28,
"avatar_url": "https://avatars.githubusercontent.com/u/4284712?v=4"
},
{
"type": "User",
"login": "k2heart",
"commits": 12,
"avatar_url": "https://avatars.githubusercontent.com/u/53289112?v=4"
},
{
"type": "User",
"login": "JustinWonjaePark",
"commits": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/33045921?v=4"
},
{
"type": "User",
"login": "snyk-bot",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/19733683?v=4"
},
{
"type": "User",
"login": "syleeeee",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/6274210?v=4"
},
{
"type": "User",
"login": "fhdufhdu",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/32770312?v=4"
}
],
"contributors_sampled": 17,
"top_contributor_share": 0.599
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"publish-release.yml",
"pull-request.yml",
"release-drafter.yml"
],
"has_docs_dir": false,
"linter_configs": [
".eslintrc",
".eslintrc.json",
".eslintrc.yml",
"tox.ini"
],
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"yarn.lock"
],
"scorecard": null,
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-30T02:45:34Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-07-28T23:54:13Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 41,
"created_at": "2021-08-10T11:50:16Z",
"last_comment_at": "2021-08-27T00:41:29Z",
"last_comment_author": "dd-jy"
},
{
"number": 135,
"created_at": "2023-04-14T13:35:45Z",
"last_comment_at": "2023-04-17T07:06:06Z",
"last_comment_author": "dd-jy"
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/fosslight/fosslight_dependency_scanner",
"host": "github.com",
"name": "fosslight_dependency_scanner",
"owner": "fosslight"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": "The weighted overall 64 is calibrated to 73 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 64,
"calibrated": 73,
"calibration": "2026-08-02"
}
}
],
"value": 73,
"inputs": {
"security": 21,
"vitality": 91,
"community": 51,
"governance": 67,
"calibration": "2026-08-02",
"engineering": 79,
"ai_readiness": 53,
"weighted_overall_raw": 64
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 91,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"commits_last_year": 111,
"human_commit_share": 0.6,
"days_since_last_push": 0,
"active_weeks_last_year": 33
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "33/52 weeks with commits",
"points": 22.8,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 33
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "111 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 111
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "exceptional",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"releases_count": 100,
"latest_release_tag": "v4.1.47",
"releases_from_tags": false,
"days_since_latest_release": 0,
"mean_days_between_releases": 11.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "100 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 100
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 0 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 0
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~11.6 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 11.6
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "abandonment",
"band": "exceptional",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "moderate",
"name": "Community & Adoption",
"value": 51,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "weak",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 39,
"inputs": {
"forks": 19,
"stars": 38,
"watchers": 4,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "38 stars",
"points": 25.4,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 38
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "19 forks",
"points": 10.5,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 19
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "4 watchers",
"points": 2.7,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 4
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "good",
"name": "Community health",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": null,
"has_contributing": false,
"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": 0,
"status": "missed",
"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": "good",
"name": "Sustainability & Governance",
"value": 67,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "weak",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 17,
"top_contributor_share": 0.599
},
"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 60% of commits",
"points": 9,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 60
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "17 contributors",
"points": 13.5,
"status": "met",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 17
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"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": 84,
"inputs": {
"merged_prs": 265,
"open_issues": 2,
"closed_issues": 10,
"prs_merged_7d": null,
"prs_decided_7d": null,
"prs_merged_30d": null,
"prs_decided_30d": null,
"issue_closed_ratio": 0.833,
"closed_unmerged_prs": 48,
"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": "83% of issues closed",
"points": 35,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 83
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "265/313 decided PRs merged",
"points": 25.4,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 265,
"decided": 313
}
}
],
"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": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": null,
"notes": [],
"value": 62,
"inputs": {
"followers": 38,
"owner_type": "Organization",
"is_verified": null,
"owner_login": "fosslight",
"public_repos": 22,
"account_age_days": 1935
},
"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": "38 followers of fosslight",
"points": 11.4,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 38,
"login": "fosslight"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "22 public repos, account ~5 yr old",
"points": 20.5,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 22
}
},
{
"code": "account_age_years",
"params": {
"years": 5
}
}
],
"max_points": 25
}
]
},
{
"key": "package_maintenance",
"band": "exceptional",
"name": "Package maintenance",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"packages": [
"fosslight_dependency"
],
"ecosystems": "pypi",
"any_deprecated": false,
"min_days_since_publish": 0
},
"components": [
{
"key": "published_resolvable",
"name": "Published & resolvable",
"detail": "1 package(s) on pypi",
"points": 25,
"status": "met",
"details": [
{
"code": "packages_published",
"params": {
"count": 1,
"ecosystems": "pypi"
}
}
],
"max_points": 25
},
{
"key": "publish_recency",
"name": "Publish recency",
"detail": "latest publish 0 days ago",
"points": 35,
"status": "met",
"details": [
{
"code": "publish_recency",
"params": {
"days": 0
}
}
],
"max_points": 35
},
{
"key": "version_history",
"name": "Version history",
"detail": "115 published versions",
"points": 20,
"status": "met",
"details": [
{
"code": "published_versions",
"params": {
"count": 115
}
}
],
"max_points": 20
},
{
"key": "not_deprecated",
"name": "Not deprecated",
"detail": "active, not deprecated or yanked",
"points": 20,
"status": "met",
"details": [
{
"code": "package_not_deprecated",
"params": {}
}
],
"max_points": 20
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "good",
"name": "Engineering Quality",
"value": 79,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "excellent",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 88,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": true,
"has_linter_config": true,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"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": ".eslintrc, .eslintrc.json, .eslintrc.yml, tox.ini",
"points": 16,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc, .eslintrc.json, .eslintrc.yml, tox.ini"
}
}
],
"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": 6.4,
"status": "met",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [],
"has_wiki": true,
"homepage": "https://fosslight.org",
"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": "https://fosslight.org",
"points": 15,
"status": "met",
"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": null,
"points": 0,
"status": "missed",
"details": [],
"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": "at_risk",
"name": "Security",
"value": 21,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "critical",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Dependency lockfiles. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"dependency_lockfiles"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 1,
"inputs": {
"source": "file_signals",
"lockfiles": [
"yarn.lock"
],
"manifests": [
"pyproject.toml",
"requirements-dev.txt",
"setup.cfg"
],
"has_codeql_workflow": false,
"has_security_policy": false,
"has_dependabot_config": false
},
"components": [
{
"key": "security_policy_security_md",
"name": "Security policy (SECURITY.md)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 30
},
{
"key": "dependabot_config",
"name": "Dependabot config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 25
},
{
"key": "dependency_lockfiles",
"name": "Dependency lockfiles",
"detail": "published library — lockfiles are an application concern, not expected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "lockfiles_not_expected",
"params": {}
}
],
"max_points": 25
},
{
"key": "codeql_workflow",
"name": "CodeQL workflow",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 20
}
]
},
{
"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 62 resolved dependencies against OSV; 83 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": 62
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 83
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 13,
"affected_packages": 7,
"assessed_packages": 62,
"unassessed_packages": 83,
"affected_by_severity": "critical 1, high 3, moderate 1, unknown 2",
"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": 62,
"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": 5
},
"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": "moderate",
"name": "AI Readiness",
"value": 53,
"weight": 0.04,
"metrics": [
{
"key": "ai_agent_context",
"band": "weak",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.883,
"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": "53 of 60 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 53,
"sampled": 60
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_nix": true,
"has_tests": true,
"lockfiles": [
"yarn.lock"
],
"has_dockerfile": false,
"typed_language": false,
"bootstrap_files": [
"tests/test_npm2/node_modules/body-parser/node_modules/debug/Makefile",
"tests/test_npm2/node_modules/express/node_modules/debug/Makefile",
"tests/test_npm2/node_modules/finalhandler/node_modules/debug/Makefile",
"tests/test_npm2/node_modules/json-stringify-safe/Makefile",
"tests/test_npm2/node_modules/progress/Makefile",
"tests/test_npm2/node_modules/send/node_modules/debug/Makefile"
],
"has_devcontainer": false,
"has_linter_config": true,
"typecheck_configs": [],
"agent_commit_share": 0,
"toolchain_manifests": [
"tests/test_android/sunflower/app/build.gradle",
"tests/test_android/sunflower/build.gradle",
"tests/test_android2/sunflower/app/build.gradle",
"tests/test_android2/sunflower/build.gradle",
"tests/test_cargo/Cargo.toml",
"tests/test_gradle/jib/build.gradle",
"tests/test_gradle2/build.gradle",
"tests/test_gradle2/spinnaker-extensions/build.gradle.kts",
"tests/test_gradle2/spinnaker-project-plugin/build.gradle",
"tests/test_kotlin/sunflower/app/build.gradle.kts",
"tests/test_kotlin/sunflower/build.gradle.kts",
"tests/test_kotlin2/sunflower/app/build.gradle.kts",
"tests/test_kotlin2/sunflower/build.gradle.kts",
"tests/test_maven1/lombok.maven/lombok-maven-plugin/pom.xml",
"tests/test_maven1/lombok.maven/pom.xml",
"tests/test_maven1/lombok.maven/test-maven-lombok/pom.xml",
"tests/test_maven2/pom.xml",
"tests/test_maven_custom_repo/pom.xml",
"tests/test_mod/go.mod",
"tests/test_nuget/test_nuget_proj.csproj"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "tests/test_npm2/node_modules/body-parser/node_modules/debug/Makefile, tests/test_npm2/node_modules/express/node_modules/debug/Makefile, tests/test_npm2/node_modules/finalhandler/node_modules/debug/Makefile, tests/test_npm2/node_modules/json-stringify-safe/Makefile, tests/test_npm2/node_modules/progress/Makefile, tests/test_npm2/node_modules/send/node_modules/debug/Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "tests/test_npm2/node_modules/body-parser/node_modules/debug/Makefile, tests/test_npm2/node_modules/express/node_modules/debug/Makefile, tests/test_npm2/node_modules/finalhandler/node_modules/debug/Makefile, tests/test_npm2/node_modules/json-stringify-safe/Makefile, tests/test_npm2/node_modules/progress/Makefile, tests/test_npm2/node_modules/send/node_modules/debug/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": ".eslintrc, .eslintrc.json, .eslintrc.yml, tox.ini",
"points": 11,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": ".eslintrc, .eslintrc.json, .eslintrc.yml, tox.ini"
}
}
],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Nix, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Nix, lockfile"
}
}
],
"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": "OpenSSF Scorecard unavailable",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Python",
"largest_source_bytes": 42697,
"source_files_sampled": 56,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Python without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Python"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/56 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 56,
"oversized": 0
}
}
],
"max_points": 55
}
]
},
{
"key": "ai_interfaces",
"band": "weak",
"name": "Machine-readable interfaces",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"example_dirs": [
"example",
"examples",
"samples"
],
"has_mcp_signal": false,
"api_schema_files": []
},
"components": [
{
"key": "api_schema_openapi_graphql_proto",
"name": "API schema (OpenAPI/GraphQL/proto)",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"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": "example, examples, samples",
"points": 40,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "example, examples, samples"
}
}
],
"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": {
"top": [
"library"
],
"labels": [
"library"
],
"scores": {
"library": 6
},
"primary": "library",
"evidence": [
{
"tier": "distribution",
"label": "library",
"source": "registry:pypi",
"weight": 6
}
],
"artifacts": [],
"confidence": "medium",
"host_extension": false,
"runs_as_process": false,
"consumed_by_code": true
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"deps.dev does not index pypi:fosslight_dependency@4.1.47; advisories assessed against the repository dependency graph instead",
"OpenSSF Scorecard timed out after 240s; skipping Scorecard checks"
],
"report_type": "repository",
"generated_at": "2026-07-30T02:52:52.680416Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/f/fosslight/fosslight_dependency_scanner.svg",
"full_name": "fosslight/fosslight_dependency_scanner",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}