原始 JSON 报告 机器可读
{
"data": {
"repo": {
"topics": [
"penetration-testing",
"hacking-tools",
"hacking",
"pentest-tool",
"bugbounty",
"htb",
"docker-image",
"vulnerabilities",
"platform-independent",
"nightingale",
"cybersecurity",
"osint",
"owasp",
"pentesting"
],
"is_fork": false,
"size_kb": 123793,
"has_wiki": true,
"homepage": "https://nightingale-security.com/",
"languages": {
"Go": 38945,
"Shell": 91492,
"Python": 48436,
"Batchfile": 8475,
"Dockerfile": 106381,
"Go Template": 1822
},
"pushed_at": "2026-08-01T10:32:32Z",
"created_at": "2020-10-04T16:38:40Z",
"owner_type": "User",
"updated_at": "2026-07-30T21:53:59Z",
"description": "Nightingale Docker for Pentesters is a comprehensive Dockerized environment tailored for penetration testing and vulnerability assessment. It comes preconfigured with all essential tools and utilities required for efficient Vulnerability Assessment and Penetration Testing (VAPT), streamlining the setup process for security professionals.",
"is_archived": false,
"is_disabled": false,
"license_spdx": "GPL-3.0",
"default_branch": "main",
"license_spdx_raw": "GPL-3.0",
"primary_language": "Dockerfile",
"significant_languages": [
"Dockerfile",
"Shell",
"Python",
"Go"
]
},
"owner": {
"blog": "https://rajanagori.in",
"name": "Raja Nagori",
"type": "User",
"login": "RAJANAGORI",
"company": "Splunk",
"location": "Hyderabad, India",
"followers": 90,
"avatar_url": "https://avatars.githubusercontent.com/u/32300516?v=4",
"created_at": "2017-09-26T13:06:17Z",
"is_verified": null,
"public_repos": 79,
"account_age_days": 3233
},
"license": {
"state": "standard",
"spdx_id": "GPL-3.0",
"raw_spdx": "GPL-3.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v1.1.46",
"kind": "patch",
"published_at": "2026-08-01T10:32:32Z"
},
{
"tag": "v1.1.45",
"kind": "patch",
"published_at": "2026-07-01T11:08:02Z"
},
{
"tag": "v1.1.44",
"kind": "patch",
"published_at": "2026-06-01T12:01:28Z"
},
{
"tag": "v1.1.43",
"kind": "patch",
"published_at": "2026-05-01T10:33:21Z"
},
{
"tag": "v1.1.42",
"kind": "patch",
"published_at": "2026-04-01T10:24:41Z"
},
{
"tag": "v1.1.41",
"kind": "patch",
"published_at": "2026-03-01T10:06:34Z"
},
{
"tag": "v1.1.40",
"kind": "patch",
"published_at": "2026-02-20T15:07:05Z"
},
{
"tag": "v1.1.39",
"kind": "patch",
"published_at": "2026-02-19T19:27:12Z"
},
{
"tag": "v1.1.38",
"kind": "patch",
"published_at": "2026-02-01T10:06:41Z"
},
{
"tag": "v1.1.37",
"kind": "patch",
"published_at": "2026-01-01T10:06:11Z"
},
{
"tag": "v1.1.36",
"kind": "patch",
"published_at": "2025-12-01T10:06:36Z"
},
{
"tag": "v1.1.35",
"kind": "patch",
"published_at": "2025-11-01T10:05:17Z"
},
{
"tag": "v1.1.34",
"kind": "patch",
"published_at": "2025-10-20T08:25:24Z"
},
{
"tag": "v1.1.33",
"kind": "patch",
"published_at": "2025-10-01T10:05:38Z"
},
{
"tag": "v1.1.32",
"kind": "patch",
"published_at": "2025-09-01T10:05:45Z"
},
{
"tag": "v1.1.31",
"kind": "patch",
"published_at": "2025-08-01T10:05:46Z"
},
{
"tag": "v1.1.30",
"kind": "patch",
"published_at": "2025-07-01T10:07:33Z"
},
{
"tag": "v1.1.29",
"kind": "patch",
"published_at": "2025-06-18T04:00:49Z"
},
{
"tag": "v1.1.28",
"kind": "patch",
"published_at": "2025-06-18T03:57:37Z"
},
{
"tag": "v1.1.27",
"kind": "patch",
"published_at": "2025-06-17T16:15:05Z"
},
{
"tag": "v1.1.26",
"kind": "patch",
"published_at": "2025-06-17T15:59:16Z"
},
{
"tag": "v1.1.25",
"kind": "patch",
"published_at": "2025-06-16T10:07:33Z"
},
{
"tag": "v1.1.24",
"kind": "patch",
"published_at": "2025-06-09T10:07:29Z"
},
{
"tag": "v1.1.23",
"kind": "patch",
"published_at": "2025-06-02T10:07:21Z"
},
{
"tag": "v1.1.22",
"kind": "patch",
"published_at": "2025-05-31T14:15:31Z"
},
{
"tag": "v1.1.21",
"kind": "patch",
"published_at": "2025-05-29T17:11:12Z"
},
{
"tag": "v1.1.20",
"kind": "patch",
"published_at": "2025-05-29T15:51:55Z"
},
{
"tag": "v1.1.19",
"kind": "patch",
"published_at": "2025-04-30T14:20:04Z"
},
{
"tag": "v1.1.18",
"kind": "patch",
"published_at": "2025-04-29T11:04:37Z"
},
{
"tag": "v1.1.17",
"kind": "patch",
"published_at": "2025-04-25T18:53:26Z"
},
{
"tag": "v1.1.16",
"kind": "patch",
"published_at": "2025-04-08T10:22:12Z"
},
{
"tag": "v1.1.15",
"kind": "patch",
"published_at": "2025-04-07T19:59:51Z"
},
{
"tag": "v1.1.13",
"kind": "patch",
"published_at": "2025-04-07T10:07:54Z"
},
{
"tag": "v1.1.12",
"kind": "patch",
"published_at": "2025-03-31T10:07:25Z"
},
{
"tag": "v1.1.11",
"kind": "patch",
"published_at": "2025-03-24T10:07:28Z"
},
{
"tag": "v1.1.10",
"kind": "patch",
"published_at": "2025-03-17T10:07:06Z"
},
{
"tag": "v1.1.9",
"kind": "patch",
"published_at": "2025-03-13T10:53:55Z"
},
{
"tag": "v1.1.8",
"kind": "patch",
"published_at": "2025-03-10T10:06:04Z"
},
{
"tag": "v1.1.7",
"kind": "patch",
"published_at": "2025-03-09T10:37:15Z"
},
{
"tag": "v1.1.6",
"kind": "patch",
"published_at": "2025-03-09T07:22:10Z"
},
{
"tag": "v1.1.5",
"kind": "patch",
"published_at": "2025-03-09T07:02:57Z"
},
{
"tag": "v1.1.4",
"kind": "patch",
"published_at": "2025-02-27T20:40:30Z"
},
{
"tag": "v1.1.3",
"kind": "patch",
"published_at": "2025-02-27T20:38:06Z"
},
{
"tag": "v1.1.2",
"kind": "patch",
"published_at": "2025-02-27T20:35:05Z"
},
{
"tag": "v1.1.1",
"kind": "patch",
"published_at": "2024-11-07T19:44:05Z"
},
{
"tag": "arm64-v0.1",
"kind": "other",
"published_at": "2024-01-29T05:29:27Z"
},
{
"tag": "v0.0.2",
"kind": "patch",
"published_at": "2023-08-20T12:23:40Z"
},
{
"tag": "v0.0.1",
"kind": "patch",
"published_at": "2022-11-28T02:25:17Z"
},
{
"tag": "v1.0.0",
"kind": "major",
"published_at": "2024-07-04T18:16:19Z"
}
],
"recent_commits": [
{
"oid": "a925c150f5fcac669daf8cdc0f39141e28fdaf75",
"body": "fix(security): disable CGO during Go tool rebuild",
"is_bot": false,
"headline": "Merge pull request #193 from RAJANAGORI/fix/rebuild-cgo-enabled",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-28T04:47:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2e534405f57b6ca46fc36325d4967100a0e260ec",
"body": "After linux-libc-dev is purged, go install with CGO enabled fails because\nstdlib.h and other headers are missing. Match install-gitleaks.sh by defaulting\nCGO_ENABLED=0 so rebuild-go-binaries.sh succeeds in the final Docker stage.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(security): disable CGO during Go tool rebuild in final stage",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-28T04:45:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "60fcd9a6c537d2ea18275c82953a7462c24280a8",
"body": "…tions\n\nfix(security): rebuild Go tools at build time and expand CVE mitigations",
"is_bot": false,
"headline": "Merge pull request #190 from RAJANAGORI/fix/security-june-2026-mitiga…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-20T14:36:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8651ce34c5807211510b7a9d3ac2c78e43aa1fb1",
"body": "Wire rebuild-go-binaries.sh --audit into final image stages, purge MobSF\nCgbiPngFix.exe and libcups2t64, bump nightingale-go to Go 1.26.3, and add\nadvisory tooling for the June 2026 GHSA release.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(security): rebuild Go tools at build time and expand CVE mitigations",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-20T14:35:09Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "1d66c9450c6272e3848d1a1eb17e160837adefa1",
"body": "fix(security): auto-remediate OSS CVEs from Trivy run 26753431807",
"is_bot": false,
"headline": "Merge pull request #186 from RAJANAGORI/auto-remediate/trivy-26753431807",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-05T06:50:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3bdbb7a17e21c9ed93f94167d0680744bbfedb4",
"body": "fix(security): auto-remediate OSS CVEs from Trivy run 26999774025",
"is_bot": false,
"headline": "Merge pull request #187 from RAJANAGORI/auto-remediate/trivy-26999774025",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-05T06:49:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc6d8147c8008ccccde2a96b47788008364369ad",
"body": "Generated by .github/workflows/auto-remediate.yml.",
"is_bot": true,
"headline": "fix(security): auto-remediate OSS CVEs from Trivy run 26999774025",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-05T06:43:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "505be70fd98c0afb2631fd6c6e049118b0373eac",
"body": "- Added a step to set up QEMU for multi-architecture builds in the GitHub Actions workflow.\n- Updated the image pull command to use the image digest for better consistency.\n- Modified the entrypoint for the auditing process to use a bash command, improving flexibility in argument handling.",
"is_bot": false,
"headline": "chore: enhance multi-architecture support and auditing process",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-05T05:48:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8dab12b584bf9abe0bd9e50b6748f263ffff9570",
"body": "- Changed the Gitleaks installation command to pull from the correct repository (`github.com/zricethezav/gitleaks/v8`) instead of the outdated one.\n- Added an environment variable to enable static builds, ensuring compatibility with the final image's requirements.",
"is_bot": false,
"headline": "fix: update Gitleaks installation script to use the correct repository",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-06-04T10:44:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e8e77e1bc4d5fc5c8258c882576d93509bcd36a2",
"body": "Generated by .github/workflows/auto-remediate.yml.",
"is_bot": true,
"headline": "fix(security): auto-remediate OSS CVEs from Trivy run 26753431807",
"author_name": "github-actions[bot]",
"author_login": "github-actions[bot]",
"committed_at": "2026-06-01T12:00:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e46db8ca7c2670576b7a7c9c98e6bd1933c9292e",
"body": "- Introduced a new script for installing Gitleaks, ensuring it is built with the correct Go toolchain to avoid outdated binaries.\n- Updated Dockerfiles to copy and execute the Gitleaks installation script, enhancing the security and functionality of the image.\n- Adjusted permissions and cleanup steps in the Dockerfiles to streamline the build process and maintain a clean environment.",
"is_bot": false,
"headline": "chore: add Gitleaks installation script and update Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-27T12:25:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d2f017adee9b23f039c30af2ca58289dfaf35f63",
"body": "fix(security): auto-remediate OSS CVEs from Trivy run 26507692586",
"is_bot": false,
"headline": "Merge pull request #185 from RAJANAGORI/auto-remediate/trivy-26507692586",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-27T11:30:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b5d16ab4678be55240b1ecf5bf8d6bf831dacb41",
"body": "Generated by .github/workflows/auto-remediate.yml.",
"is_bot": false,
"headline": "fix(security): auto-remediate OSS CVEs from Trivy run 26507692586",
"author_name": "RAJANAGORI",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-27T11:25:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3a73c10e53972908ca7340bcd7f0ce9a0873b26a",
"body": "Trivy reports backport-chain fixes as a single comma-separated string in\n`FixedVersion` (e.g. minimatch \"10.2.3, 9.0.7, 8.0.6, 7.4.8, ...\").\n`_max_version` previously fell through to lexical `max()` which returned\nthe whole string, producing invalid pin syntax like `'minimatch@^10.2.3, 9.0.7, ...'`.\n[…]\nmanual-review instead of\n writing it into the shell script.\n\nCaught during the first production run (Trivy run 26507692586) before\nPR #185 was merged.\n\nCo-authored-by: Cursor <cursoragent@cursor.com>",
"is_bot": false,
"headline": "fix(auto-remediate): handle Trivy's multi-version FixedVersion strings",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-27T11:23:52Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "28f4efb38cb6800c789efd8c5302b71c640ecc34",
"body": "- Updated the audit-go-binaries.sh script to resolve the minimum Go version from a new go-min-version.txt file, improving flexibility in version management.\n- Adjusted Dockerfiles and workflow files to remove hardcoded minimum version references, ensuring consistency across the build process.\n- Enhanced workflows to trigger notifications and auto-remediation processes based on Trivy scan results, streamlining vulnerability management.",
"is_bot": false,
"headline": "chore: enhance Go binary auditing and version resolution",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-27T11:11:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25556de254fa68f8be1a87a7c63a95120d0938b5",
"body": "- Updated the minimum Go version to 1.26.2 across multiple Dockerfiles and scripts to address security vulnerabilities.\n- Modified workflow files to reflect the new minimum version for auditing Go binaries.\n- Enhanced the audit-go-binaries.sh script to default to the updated Go version, ensuring compliance with the latest standards.",
"is_bot": false,
"headline": "chore: update Go version and auditing scripts to 1.26.2",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-26T11:04:19Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "06683298def2879d231e32a469cd8a61302d592a",
"body": "- Added scripts for applying Debian and Python security updates to streamline the update process in Dockerfiles.\n- Updated Dockerfiles to execute the new security scripts, ensuring the latest security patches are applied efficiently.\n- Included additional dependencies in the web_vapt Dockerfile to support new functionalities.",
"is_bot": false,
"headline": "chore: enhance Dockerfiles with security update scripts",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-18T08:18:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9853c5af1dd4b31c1ed6a7996d3a5f4765bdb51d",
"body": "- Upgraded the Cosign installer version from v3.7.1 to v3.10.1 in the sign and attest container action, ensuring the latest features and security improvements are utilized.",
"is_bot": false,
"headline": "chore: update Cosign installer version in sign and attest action",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T11:23:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3ebf6cf8403487f1b08175360f6693feea3718c4",
"body": "- Updated workflow files to differentiate build steps for caching and non-caching scenarios by renaming build IDs to `build-cache` and `build-nocache`.\n- Introduced a new step to resolve and output the image digest from the build steps, enhancing the image signing process.\n- Adjusted conditions for signing and attesting container images to utilize the new digest resolution step.",
"is_bot": false,
"headline": "chore: refactor Docker image build steps in workflows",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T08:51:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80fef884ab466cfae0af027f7b4cec869fd9c1f6",
"body": "- Introduced a new GitHub Action for signing and attesting container images using Cosign, enhancing security and provenance for images pushed to GHCR.\n- Updated multiple workflow files to integrate the new action, ensuring images are signed and attested after being built and pushed.\n- Enhanced permissions in workflows to support the new signing and attestation process.",
"is_bot": false,
"headline": "chore: add sign and attest container image action to workflows",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T08:49:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "72a35aa3f80dfd06160c87fa8a8918a1f0aca691",
"body": "- Introduced a new script for installing Findomain, replacing the previous Go installation method.\n- Updated Dockerfiles to copy and execute the Findomain installation script, ensuring compatibility across architectures.\n- Cleaned up temporary installation files to optimize the Docker image build process.",
"is_bot": false,
"headline": "chore: add Findomain installation script and update Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T08:32:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a0a37059af6715f4a0e3fa14031ac0b693bced7",
"body": "- Updated Dockerfiles to remove incompatible binaries and added a new script for pruning vulnerable Go binaries.\n- Introduced a new script to audit Go binaries, ensuring compliance with minimum version requirements.\n- Enhanced the installation process for the `findomain` tool to ensure it is built from source with the correct toolchain.\n- Cleaned up unnecessary files from the Mobile Security Framework to optimize the image size.",
"is_bot": false,
"headline": "chore: enhance Dockerfiles with Go binary pruning and auditing scripts",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T05:14:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66a5dbee023ad77074bfc0a7006dfc18fd3a9c65",
"body": "- Added a new script to install Trufflehog from source, addressing issues with the `go install` method due to replace directives in `go.mod`.\n- Updated Dockerfiles to copy and execute the installation script, ensuring a consistent build process across architectures.\n- Removed the previous installation method for Trufflehog to streamline the Docker build process.",
"is_bot": false,
"headline": "chore: implement Trufflehog installation script in Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T04:23:43Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bcabf9c38c3fd8cfa39d065bd7b17c63efb41f85",
"body": "- Updated Go version to 1.26.1 across multiple Dockerfiles to address security vulnerabilities.\n- Replaced the installation method for Trufflehog and Amass to compile from source using the local Go toolchain.\n- Introduced new scripts for auditing Go binaries and rebuilding them to ensure compliance \n[…]\nnts.\n- Added npm and pip security upgrade scripts to enhance package management security.\n- Updated the vulnerability library purge list to include additional libraries for better security management.",
"is_bot": false,
"headline": "chore: update Dockerfiles and add Go binary auditing scripts",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-17T04:12:09Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "ee9d1cbf833858b3d6bbd4a8bcc45eec768a5e76",
"body": "- Added a section detailing how to request access to the hosted GUI at nightingale-security.com.\n- Included a note to review GUI screenshots before raising access requests.",
"is_bot": false,
"headline": "docs: enhance README with hosted GUI access information",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-07T11:45:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a84979501984614e2aceab359f4e55256fe5188c",
"body": null,
"is_bot": false,
"headline": "commit",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-05-03T17:16:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "15e8452ed4487765cf19ab1f050ecb9b3cbc5ce3",
"body": "- Commented out the Nightingale logo for cleaner presentation.\n- Added a support section with a table showcasing DigitalOcean sponsorship and the Nightingale logo.",
"is_bot": false,
"headline": "docs: update README to include project support and logo",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-20T17:00:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "53ae4eaad1afa8c98f785bdf689c41fc74e7908c",
"body": "- Commented out the cloning of the dirb repository in both main and ARM64 wordlist Dockerfiles to streamline the build process.",
"is_bot": false,
"headline": "chore: comment out dirb cloning in wordlist Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T16:00:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "faa919502bab8c09371521cfbe7df2d7e30433cf",
"body": "…iles\n\n- Added a command to apply Debian security updates after merging tool layers and programming copies in the Dockerfiles.\n- Updated Go version from 1.23.2 to 1.23.12 in both the main and ARM64 Dockerfiles to ensure the latest patch level for stdlib CVEs.\n- Modified the setuptools version requirement to allow for updates in the programming language Dockerfiles.",
"is_bot": false,
"headline": "chore: apply Debian security updates and update Go version in Dockerf…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T13:10:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "39aa9adb04c8f9a890994ab0e838c6140e6dae5e",
"body": "…-github/workflows/actions/setup-go-6\n\nchore(deps): Bump actions/setup-go from 5 to 6 in /.github/workflows",
"is_bot": false,
"headline": "Merge pull request #136 from RAJANAGORI/dependabot/github_actions/dot…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:58:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "346f2f8a6c049e379cdb50d9d3f9db877393d69f",
"body": "…-github/workflows/actions/github-script-8\n\nchore(deps): Bump actions/github-script from 7 to 8 in /.github/workflows",
"is_bot": false,
"headline": "Merge pull request #137 from RAJANAGORI/dependabot/github_actions/dot…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:58:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1f1bd11146594ea694a0383455b57229ce94fcca",
"body": "…-github/workflows/github/codeql-action-4\n\nchore(deps): Bump github/codeql-action from 3 to 4 in /.github/workflows",
"is_bot": false,
"headline": "Merge pull request #143 from RAJANAGORI/dependabot/github_actions/dot…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:58:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba69bd28eb58e5b6719569a6b185098e22ca8108",
"body": "…-github/workflows/actions/checkout-6\n\nchore(deps): bump actions/checkout from 4 to 6 in /.github/workflows",
"is_bot": false,
"headline": "Merge pull request #150 from RAJANAGORI/dependabot/github_actions/dot…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:57:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "75c7246c8f95f9a555fdd2c3d676fcb74accc9d4",
"body": "…-github/workflows/actions/upload-artifact-6\n\nchore(deps): bump actions/upload-artifact from 4 to 6 in /.github/workflows",
"is_bot": false,
"headline": "Merge pull request #151 from RAJANAGORI/dependabot/github_actions/dot…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:57:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c982a7289d9411b55a210cdae19ee383009ea68a",
"body": "…gale-go/github.com/schollz/progressbar/v3-3.19.0\n\nchore(deps): bump github.com/schollz/progressbar/v3 from 3.18.0 to 3.19.0 in /nightingale-go",
"is_bot": false,
"headline": "Merge pull request #156 from RAJANAGORI/dependabot/go_modules/nightin…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:57:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41bb36072ab4051a728ab5dc56b4ec3d03fed71f",
"body": "…/python-3.14.3-slim\n\nchore(deps): bump python from 3.12.11-slim to 3.14.3-slim in /Dockerfiles",
"is_bot": false,
"headline": "Merge pull request #161 from RAJANAGORI/dependabot/docker/Dockerfiles…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:56:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ec1d8790546ad5208e29192e34ec67b538d41495",
"body": "…e/arm64/v8/Dockerfiles/python-3.14.3-slim\n\nchore(deps): bump python from 3.12.11-slim to 3.14.3-slim in /architecture/arm64/v8/Dockerfiles",
"is_bot": false,
"headline": "Merge pull request #162 from RAJANAGORI/dependabot/docker/architectur…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:56:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8ffe089d4ab5056967e9f7e8ae829c78a98dc20",
"body": "…/ruby-4.0.2-slim\n\nchore(deps): bump ruby from 3.4.5-slim to 4.0.2-slim in /Dockerfiles",
"is_bot": false,
"headline": "Merge pull request #165 from RAJANAGORI/dependabot/docker/Dockerfiles…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:56:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "1d8393cbeb72b3ff488850d605d5fc7dcf93368c",
"body": "…e/arm64/v8/Dockerfiles/ruby-4.0.2-slim\n\nchore(deps): bump ruby from 3.4.5-slim to 4.0.2-slim in /architecture/arm64/v8/Dockerfiles",
"is_bot": false,
"headline": "Merge pull request #166 from RAJANAGORI/dependabot/docker/architectur…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-18T12:55:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb3fd3a1c336c3c633a9727349a5e75fe756a80b",
"body": "- Modified the verification command for Impacket installation to check for the new script format (secretsdump.py) instead of the previous binary (impacket-secretsdump).\n- This change ensures compatibility with Impacket version 0.13 and above, enhancing the reliability of the AD tooling setup.",
"is_bot": false,
"headline": "fix: update AD tooling verification in Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-04-06T16:10:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6169cd44c4e6c03b23aa84cf890859722a6cfca4",
"body": "- Removed the ad_tools_venv from the PATH and updated related commands to use a centralized Python virtual environment located at /opt/venv3.\n- Adjusted healthcheck and bashrc updates to reflect the new installation paths for improved consistency across Dockerfiles.\n- This change enhances the clarity and maintainability of the Docker setup for AD/Windows pentesting tools.",
"is_bot": false,
"headline": "fix: streamline Dockerfile and network VAPT setup",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-25T14:20:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3efd6e96e904ff06838bc7b3608f1284b40e84c3",
"body": "…installation\n\n- Added installation of Impacket, BloodHound, and Neo4j to the network VAPT Dockerfiles for improved AD/Windows pentesting capabilities.\n- Updated PATH environment variable to include new tool binaries.\n- Enhanced healthcheck to verify the installation of new tools.\n- Documented included tools in the comments for better clarity on available functionalities.",
"is_bot": false,
"headline": "feat: enhance Dockerfiles with AD/Windows pentesting tools and Neo4j …",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-25T13:55:31Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d15b7f356da07875a79ac96bcdb10d20d54b3a21",
"body": "- Revised the README to provide a clearer overview of Nightingale, including a quick start guide and detailed sections on why to use Nightingale and how to navigate the wiki.\n- Enhanced the CONTRIBUTING.md with updated setup instructions for building and running Nightingale, including commands for both default and ARM64 images.\n- Added a new RELEASE_TEMPLATE.md for consistent release notes and an ISSUE_TEMPLATE for bug reporting to streamline contributions and feedback.",
"is_bot": false,
"headline": "docs: update README and CONTRIBUTING for clarity and setup instructions",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-25T02:05:41Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "646a48791b3898b7440c8d0327ef29702477ebb5",
"body": "Bumps ruby from 3.4.5-slim to 4.0.2-slim.\n\n---\nupdated-dependencies:\n- dependency-name: ruby\n dependency-version: 4.0.2-slim\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump ruby in /architecture/arm64/v8/Dockerfiles",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-23T05:55:03Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9ba44f76437b97054491dc9916b7aa8cc92468a7",
"body": "Bumps ruby from 3.4.5-slim to 4.0.2-slim.\n\n---\nupdated-dependencies:\n- dependency-name: ruby\n dependency-version: 4.0.2-slim\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump ruby from 3.4.5-slim to 4.0.2-slim in /Dockerfiles",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-03-23T05:54:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad5a219f539e6f2772288297f2a203b5a8b1377a",
"body": "…ymlinks\n\n- Adjusted file permissions for copied scripts in the Dockerfile to enhance security.\n- Added commands to create symlinks for 'python' and 'pip' to ensure compatibility with scripts expecting these commands.\n- This change streamlines the setup process and improves usability for Python-based tools.",
"is_bot": false,
"headline": "chore: update Dockerfile for improved script permissions and Python s…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-21T05:03:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bb848d348f1233568d3c378345aa23a951a2b296",
"body": "- Eliminated the Go builder stage from both the main and ARM64 Dockerfiles, simplifying the build process.\n- Updated the .dockerignore to exclude the entire gui directory while allowing the go_backend subdirectory to be included, ensuring necessary files are available during the Docker build.\n- This change streamlines the Docker image creation by focusing on the metasploit framework without the Go backend integration.",
"is_bot": false,
"headline": "refactor: remove Go backend build stage from Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-21T04:50:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "41b011fe731f5cf9fbe5f22f3dfb93dc207f46c1",
"body": "- Modified .dockerignore to exclude the entire gui directory while allowing the go_backend subdirectory to be included.\n- This change ensures that the Go backend files are available during the Docker build process while keeping other gui files ignored.",
"is_bot": false,
"headline": "chore: update .dockerignore to refine gui exclusions",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-21T04:45:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3354b4b1f8f7e12197e9af01a426c9fe7258d4cc",
"body": "…tions\n\n- Added a Go builder stage to compile the Go backend binary and copy it to the final image.\n- Updated the installation process for trufflehog to handle potential GitHub release asset unavailability.\n- Included additional web security tools (nikto) in the web_vapt Dockerfile for enhanced vulnerability scanning.\n- Improved permissions and symlink creation for Python and pip commands in the ARM64 Dockerfile.",
"is_bot": false,
"headline": "feat: enhance Dockerfile for Go backend integration and tool installa…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-21T04:30:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4c4f4a753c05182c396da3fa70814fb8312eebda",
"body": "- Upgraded Trivy installation from version 0.57.0 to 0.69.2 in the GitHub Actions workflow.\n- This change ensures the use of the latest features and security updates for Trivy.",
"is_bot": false,
"headline": "chore: update Trivy version in workflow",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-03-02T06:07:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6c67ea3f7fe2bf1703258f1da47d6fe19611aca1",
"body": "feat: update Trivy workflow to include community images",
"is_bot": false,
"headline": "Merge pull request #164 from RAJANAGORI/update/trivy-image",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-02-24T14:55:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8d2a1895f8843f9f69a62604f2f3fa6eb4eb6f2a",
"body": "- Added new community images for both frontend and backend in the Trivy workflow.\n- This change enhances the scanning process by including additional relevant images.",
"is_bot": false,
"headline": "feat: update Trivy workflow to include community images",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-02-24T14:48:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b7f3a485c740eaeee04c12552bb6c453eb0825ed",
"body": "- Updated help messages for the community commands to clarify usage and directory options.\n- Introduced new functions for standalone mode, including directory creation and environment file management.\n- Added functionality to generate a complete standalone Docker Compose setup for the community edition.\n- Implemented self-signed SSL certificate generation for the standalone Nginx configuration.",
"is_bot": false,
"headline": "feat: enhance community command functionality and help display",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-02-20T15:06:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "609b4b10894eb81abb979e5b495c6b80faa3c025",
"body": "- Added command handling for various operations including clone, build, update, start, and community commands.\n- Implemented a help function to guide users on command usage.\n- Introduced security checks for command execution to mitigate potential command injection risks.\n- Removed unused constants and functions to streamline the codebase.",
"is_bot": false,
"headline": "feat: implement command handling and help display in main application",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-02-19T19:26:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0af36ab96768b8f38f6f1bb39a5043b96e0948d8",
"body": null,
"is_bot": false,
"headline": "change",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-02-16T21:02:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c32fb016463d1783c198fb75ad1aff3871db8006",
"body": "Bumps python from 3.12.11-slim to 3.14.3-slim.\n\n---\nupdated-dependencies:\n- dependency-name: python\n dependency-version: 3.14.3-slim\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump python in /architecture/arm64/v8/Dockerfiles",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-09T06:07:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "30fdf4a458b49ef70dbb846a1b5c3dd06c841293",
"body": "Bumps python from 3.12.11-slim to 3.14.3-slim.\n\n---\nupdated-dependencies:\n- dependency-name: python\n dependency-version: 3.14.3-slim\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump python in /Dockerfiles",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2026-02-09T06:07:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eec0d9c023f0331071c99917620de3b06b777650",
"body": null,
"is_bot": false,
"headline": "fix: correct typo in README regarding CI/CD integration",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-01-25T19:06:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9a451348716882d7a240b928d5c9d14e356bbcce",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' of https://github.com/RAJANAGORI/Nightingale",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-01-15T14:20:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0819ca5b000eb61b3ae00d6bd44c155fe1639621",
"body": "- Commented out the backend and frontend images in the Trivy workflow to prevent unnecessary scanning.\n- This change helps streamline the workflow by focusing on the relevant images only.",
"is_bot": false,
"headline": "chore: comment out unused Docker images in Trivy workflow",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-01-15T14:19:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5a8e5ce9a97eb4bf39e755c9a40732fe6d9c01b5",
"body": "feat(helm): upgrade chart to v1.1.0",
"is_bot": false,
"headline": "Merge pull request #158 from RAJANAGORI/helm",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2026-01-07T18:12:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "24b134880b9178abf180b65ac73157cea63ae812",
"body": null,
"is_bot": false,
"headline": "fix: update ttyd command to opne as writeable",
"author_name": "Jinesh Nagori",
"author_login": "jineshnagori",
"committed_at": "2026-01-03T12:15:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ba481e8158e59e52cdd7c6b3350172ea75e3bad5",
"body": "- Standardized templates using _helpers.tpl for consistent labeling and naming.\n- Added `ServiceAccount` resource for better RBAC and cloud identity integration.\n- Implemented `Liveness` and `Readiness` probes in Deployment for health monitoring.\n- Upgraded `Ingress` to `networking.k8s.io/v1` with m\n[…]\ncci:7://file:///Users/jineshnagori/Documents/important/Development/Nightingale/charts/nightingale/values.yaml:0:0-0:0).\n- Rewrote chart `README.md` with detailed configuration tables and usage guides.",
"is_bot": false,
"headline": "feat(helm): upgrade chart to v1.1.0",
"author_name": "Jinesh Nagori",
"author_login": "jineshnagori",
"committed_at": "2026-01-03T11:42:23Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "a847feec9fc845ba04a53a7c40db42c98f236945",
"body": "Bumps [github.com/schollz/progressbar/v3](https://github.com/schollz/progressbar) from 3.18.0 to 3.19.0.\n- [Release notes](https://github.com/schollz/progressbar/releases)\n- [Commits](https://github.com/schollz/progressbar/compare/v3.18.0...v3.19.0)\n\n---\nupdated-dependencies:\n- dependency-name: github.com/schollz/progressbar/v3\n dependency-version: 3.19.0\n dependency-type: direct:production\n update-type: version-update:semver-minor\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump github.com/schollz/progressbar/v3 in /nightingale-go",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-12-29T05:16:18Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c664d726c48b1231c856fd696f5768c6987c0f93",
"body": "Bumps [actions/upload-artifact](https://github.com/actions/upload-artifact) from 4 to 6.\n- [Release notes](https://github.com/actions/upload-artifact/releases)\n- [Commits](https://github.com/actions/upload-artifact/compare/v4...v6)\n\n---\nupdated-dependencies:\n- dependency-name: actions/upload-artifact\n dependency-version: '6'\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/upload-artifact in /.github/workflows",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-12-24T13:47:32Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49fea4ac2d0de0ee4616af2653203cfe75e30f51",
"body": "Bumps [actions/checkout](https://github.com/actions/checkout) from 4 to 6.\n- [Release notes](https://github.com/actions/checkout/releases)\n- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)\n- [Commits](https://github.com/actions/checkout/compare/v4...v6)\n\n---\nupdated-dependenc\n[…]\n:\n- dependency-name: actions/checkout\n dependency-version: '6'\n dependency-type: direct:production\n update-type: version-update:semver-major\n...\n\nSigned-off-by: dependabot[bot] <support@github.com>",
"is_bot": true,
"headline": "chore(deps): bump actions/checkout from 4 to 6 in /.github/workflows",
"author_name": "dependabot[bot]",
"author_login": "dependabot[bot]",
"committed_at": "2025-12-24T13:47:28Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "5443cad98651ccd15402f6b108af399ecac047c7",
"body": "- Updated comments in both standard and ARM64 Dockerfiles to clarify that OpenJDK 21 is already included in the base image.\n- Removed the redundant copy command for OpenJDK from the Dockerfiles, streamlining the build process.",
"is_bot": false,
"headline": "chore: remove unnecessary OpenJDK copy in Dockerfiles",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-24T09:57:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f66b7502ce81683bf1cc8bc8a18e4ba3eaf7ef34",
"body": "- Replaced OpenJDK 23 with OpenJDK 21 LTS in both standard and ARM64 Dockerfiles.\n- Updated JAVA_HOME and related paths to reflect the new OpenJDK version.\n- Adjusted comments and documentation to ensure consistency with the updated Java version.",
"is_bot": false,
"headline": "chore: update Java environment in Dockerfiles to OpenJDK 21 LTS",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-24T09:37:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "cdf0b42404eb804b50c66d9c2a410a77cd640501",
"body": "- Changed base image from OpenJDK 26 to OpenJDK 23 for both standard and ARM64 Dockerfiles.\n- Updated JAVA_HOME and related paths to reflect the new OpenJDK version.\n- Adjusted comments and documentation to ensure consistency with the updated Java version.",
"is_bot": false,
"headline": "chore: update Java environment in Dockerfiles to OpenJDK 23",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-21T15:16:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a0017001cf2f463c664fd2fa61a3084dfdd8d7a",
"body": "Feature/code optimisation",
"is_bot": false,
"headline": "Merge pull request #149 from RAJANAGORI/feature/code-optimisation",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-13T10:23:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7a338625f5c747537383e4802b79346b1028d6b",
"body": null,
"is_bot": false,
"headline": "Merge branch 'main' into feature/code-optimisation",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-13T10:21:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "17d3bcb82c28ef4410b83dafc9555a7f0447ccf1",
"body": "…mprovements\n\n- Revised section header for clarity by removing versioning.\n- Highlighted major performance improvements, including significant Docker image size reduction and security enhancements.",
"is_bot": false,
"headline": "docs: update README to reflect optimization updates and performance i…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-13T10:14:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "66f9bd37118ca073dafaa4d5b08ab61d9595ae44",
"body": "- Changed Docker image tags from 'stable-optimized' to 'stable' for consistency across all services and Dockerfiles.\n- Updated references in Docker Compose, Dockerfiles, and GitHub Actions workflows to align with the new image tagging scheme.\n- Ensured that ARM64 configurations reflect the same changes for improved clarity and uniformity.",
"is_bot": false,
"headline": "chore: update Docker configurations to remove 'optimized' tags",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-13T10:07:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "16e64bf647ddd3ba307120d88eac6dbf665af3cc",
"body": "- Changed Docker image tags for backend and frontend services from 'arm64-optimized' to 'arm64' for consistency.\n- Adjusted volume mounts and working directories to ensure proper file access and organization within the containers.",
"is_bot": false,
"headline": "chore: update Docker Compose configuration for ARM64 services",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-12-13T10:05:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b61b03a757ebb9ae7da7bc186b5573ff0fa95ecd",
"body": "…-interactive shells\n\n- Updated error handling to differentiate between interactive and non-interactive shells, allowing safer execution in interactive environments.\n- Retained strict error handling for non-interactive scripts to ensure robust script execution.",
"is_bot": false,
"headline": "refactor: improve error handling in banner.sh for interactive and non…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-03T09:42:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b379356e56e095daf1190ef91e731dd96887a176",
"body": "… Dockerfile paths for ARM64 builds\n\n- Modified file paths in the workflow to point to the new architecture-specific Dockerfiles located in 'architecture/arm64/v8/'.\n- Ensured all build steps are aligned with the updated directory structure for improved organization and clarity.",
"is_bot": false,
"headline": "refactor: update GitHub Actions workflow to use architecture-specific…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-02T04:38:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fcfab1a2aaac7509cc6acf2628966e80b3611f6a",
"body": "- Changed platform specifications from linux/amd64 to linux/arm64 across multiple build steps to ensure compatibility with ARM64 architecture.\n- Updated Docker image tags to reflect the optimized ARM64 builds for clarity and consistency.",
"is_bot": false,
"headline": "chore: update GitHub Actions workflow to target ARM64 architecture",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-02T04:32:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5758430965af502999870a972a3acbf80d4a69e0",
"body": "- Updated the workflow name from 'Docker Image stable' to 'Docker Image ARM64' to better reflect its purpose and target architecture.",
"is_bot": false,
"headline": "chore: rename GitHub Actions workflow for clarity",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-02T04:19:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b2f8751cfd0cde2ed2bda6ffa2641177515c9fec",
"body": "- Updated workflow to allow manual dispatch with input parameters for build type and force rebuild options.\n- Improved job conditions to enable selective execution based on user input and event types.\n- Changed Docker image tags to 'arm64-optimized' for better clarity and consistency across builds.\n\n[…]\nug output to provide detailed information about the build configuration and environment variables.\n- Introduced standalone jobs for targeted builds of dependent images, improving workflow flexibility.",
"is_bot": false,
"headline": "feat: enhance GitHub Actions workflow with flexible build options",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-02T04:16:18Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "89992bbd75b1ea42dd6c1c0457ec9c83d194660b",
"body": "- Added missing semicolon in the verification command for curl installation, ensuring proper execution of the script.\n- Improved error handling for critical tool checks in the Dockerfile.",
"is_bot": false,
"headline": "fix: correct syntax error in Dockerfile for ARM64 builds",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-02T04:12:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4310528d1887c3da76c3f9d1fd9cc52e0d57b094",
"body": "- Removed input parameters for build type and force rebuild, streamlining the workflow dispatch process.\n- Updated job conditions to simplify execution logic based on event types.\n- Changed Docker image tags from 'arm64-optimized' to 'arm64' for consistency across builds.\n- Enhanced debug output by removing unnecessary environment variable prints, focusing on essential information.",
"is_bot": false,
"headline": "refactor: simplify GitHub Actions workflow for ARM64 builds",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T18:16:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "21af58164684145bf6b6bfb6e1855f8a734c928e",
"body": "- Added conditional execution for jobs based on event type and input parameters, allowing for more flexible build triggers.\n- Improved debug output to provide clearer information about the build configuration and environment variables.\n- Introduced standalone jobs for dependent builds, enabling targeted image builds based on user input.\n- Updated Docker build and push steps to utilize architecture-specific Dockerfiles for optimized ARM64 images.",
"is_bot": false,
"headline": "refactor: enhance GitHub Actions workflow for ARM64 builds",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T18:12:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d46549d3159b35672f6457143c762f9f2864c40a",
"body": "…mages\n\n- Changed references in the Dockerfiles to use the arm64-optimized image for better compatibility with ARM architecture.\n- Removed the redundant copy command for the home directory to streamline the build process.",
"is_bot": false,
"headline": "refactor: update Dockerfiles to use architecture-specific optimized i…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T17:57:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e514f725a7d75b8d410d23dd5b76a07f48160e5b",
"body": "…configuration\n\n- Removed unnecessary whitespace in metadata labels for improved clarity.\n- Added support for overriding Node.js version with a build argument, allowing for greater flexibility in the environment setup.",
"is_bot": false,
"headline": "refactor: update programming_language Dockerfiles to enhance Node.js …",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T14:05:33Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d3841dd963bf99c61aaeb7868727f511746038c7",
"body": "…l utilities\n\n- Added curl and git to the installation list for enhanced functionality and version control support.\n- Improved comments for clarity regarding the purpose of the installed packages.",
"is_bot": false,
"headline": "refactor: update programming_language Dockerfile to include additiona…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T13:48:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "6a44ffb75fe3a744209bf50b3ed77587cd9a9fcc",
"body": "- Introduced input parameters for the workflow to allow users to select the build type and optionally force a rebuild.\n- Added descriptions and default values for better usability and clarity in the workflow dispatch process.",
"is_bot": false,
"headline": "feat: add input parameters for GitHub Actions workflow",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T13:33:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d8179be04826af8ae450811ec48944c362363de4",
"body": "…ration\n\n- Changed base images to optimized versions for improved performance and consistency across architectures.\n- Updated tool copy commands to reflect the new optimized image references.\n- Enhanced metadata labels for better clarity and organization.\n- Added Node.js installation via NVM in the programming language Dockerfile for expanded functionality.",
"is_bot": false,
"headline": "refactor: update Dockerfiles for optimized base images and tool integ…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T13:31:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "31309dfd9e3f5d4171c3f01f569140898d480c12",
"body": "…ntegration\n\n- Enhanced Dockerfile with comprehensive metadata and updated base image references for better clarity and organization.\n- Transitioned to stable versions of dependent images for consistency in tool availability.\n- Optimized environment variable setup and adjusted paths for Go binaries.\n- Cleaned up unnecessary build arguments and improved cleanup commands to reduce image size.",
"is_bot": false,
"headline": "refactor: update Dockerfile for improved multi-stage build and tool i…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-11-01T12:10:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "534a01d7ced70d13773f063424a5b2b6a9507040",
"body": "…utput handling\n\n- Removed ttyd binary from the Dockerfile due to compatibility issues with OpenSSL, and implemented a source build with proper library linking.\n- Added installation steps for libwebsockets and ttyd, including necessary dependencies and verification of successful builds.\n- Enhanced banner.sh to fix output buffering issues for ttyd, ensuring smoother terminal interactions.",
"is_bot": false,
"headline": "refactor: update Dockerfile and banner.sh for ttyd installation and o…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-31T17:56:49Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a6d13d1ce062b58da6c7cdac0dcbdb465d0f3cbe",
"body": "- Updated the Dockerfile to allow overriding the Node.js version and added installation of Node.js via NVM.\n- Integrated WeTTY installation into the final image.\n- Improved verification steps for installed tools and removed unnecessary cleanup commands for better readability.",
"is_bot": false,
"headline": "refactor: streamline Dockerfile for Node.js and WeTTY installation",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-29T08:45:54Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4217438484520681494e9eb645abff9080666559",
"body": "… and health check\n\n- Updated the Dockerfile to streamline the ttyd installation process, including dependency management and cleanup.\n- Added verification for ttyd installation to ensure successful setup.\n- Modified the health check command in docker-compose to improve reliability by checking the process status instead of the version.",
"is_bot": false,
"headline": "refactor: enhance Dockerfile and docker-compose for ttyd installation…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-29T04:06:42Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4bf2e6672afb36684db483866c0d0faaa6719d7",
"body": "…move GoTTY\n\n- Removed GoTTY installation steps and replaced them with ttyd installation from source.\n- Simplified the RUN command for better readability and efficiency.\n- Updated comments for clarity and organization of the installation process.",
"is_bot": false,
"headline": "refactor: update Dockerfile to streamline installation process and re…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-29T03:57:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "eccafca56596230d69bf4c9d1f3b97ada3b53e70",
"body": "- Updated Dockerfile to include comprehensive OCI-compliant metadata labels for better image documentation and tracking.\n- Added build arguments for flexibility in image creation.\n- Enhanced the installation process by adding essential packages and verifying their presence.\n- Improved environment va\n[…]\nlocations and added custom binaries to the PATH.\n- Cleaned up temporary files and ensured proper permissions for scripts.\n- Updated comments for clarity and added build instructions for user guidance.",
"is_bot": false,
"headline": "feat: enhance Dockerfile with improved metadata and environment setup",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-29T03:28:10Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "3f04b7f472482c0bf39148483c537066785dae0d",
"body": null,
"is_bot": false,
"headline": "Add Nightingale architecture diagram to assets for project documentation",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-29T03:13:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "26e6131db9cd3b4fdc8835094921a5c7ccc8f541",
"body": "- Updated the `startDockerContainer` function to accept a protocol argument (http/https) for improved flexibility.\n- Modified access URL logging to reflect the chosen protocol.\n- Enhanced help documentation to include protocol options for starting the container.",
"is_bot": false,
"headline": "feat: add protocol support for starting Docker container",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-20T08:22:07Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "9625c45825c812fde21f3c3a4ad420ea36c2dda8",
"body": "- Changed the access URL for the running Docker container from HTTPS to HTTP for consistency and to avoid potential connection issues.\n- Updated command arguments for GoTTY to include new options for improved functionality and reconnection handling.",
"is_bot": false,
"headline": "fix: update access URL from HTTPS to HTTP in main.go",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-20T08:16:51Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "68f008dcb588bc42e38b0863478e9c84a7344063",
"body": "…tion\n\n- Added 'bash' to the list of installed packages for improved shell functionality.\n- Included verification for 'bash' installation to ensure it remains available after cleanup.\n- Enhanced error handling for critical tools to improve robustness of the Dockerfile.",
"is_bot": false,
"headline": "chore: update Dockerfile to include bash in installation and verifica…",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-19T07:45:11Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0b149500ecf26205575199e2ccc03ea1837c7b10",
"body": "- Added 'main' to .bashrc in the Dockerfile for improved initialization.\n- Removed redundant environment variable exports from the Dockerfile and moved them to banner.sh for better organization.\n- Enhanced the help function and added aliases in banner.sh to streamline user experience.",
"is_bot": false,
"headline": "refactor: update Dockerfile and banner.sh for environment setup",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-19T07:25:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7870a46783128367f59f55e6a2746a68eafc0a66",
"body": "- Added environment variable exports for GoTTY configuration in the Dockerfile, including GOTTY_URL, GOTTY_KEY, and GOTTY_CERT.\n- Enhanced the user environment setup by appending these variables to the .bashrc file for easier access during container usage.",
"is_bot": false,
"headline": "chore: update Dockerfile to configure GoTTY environment variables",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-19T07:15:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "60c38a646e1f3da8778a95c1a4c725d4db601167",
"body": null,
"is_bot": false,
"headline": "Added GoTTY (Go-based web terminal) with HTTPS support",
"author_name": "Raja Nagori",
"author_login": "RAJANAGORI",
"committed_at": "2025-10-19T07:01:05Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 49,
"commits_last_year": 222,
"latest_release_at": "2026-08-01T10:32:32Z",
"latest_release_tag": "v1.1.46",
"releases_from_tags": false,
"days_since_last_push": 2,
"active_weeks_last_year": 31,
"days_since_latest_release": 2,
"mean_days_between_releases": 23.6
},
"artifacts": {
"collected": true,
"structure": [
"tree.compose",
"tree.dockerfile",
"tree.helm",
"tree.k8s"
],
"declarations": []
},
"community": {
"has_readme": true,
"has_license": true,
"readme_badges": {
"hosts": [
"github.com",
"shields.io",
"www.bestpractices.dev"
],
"total": 6,
"header": 0,
"collected": true,
"has_inspect_badge": false
},
"has_description": true,
"has_contributing": true,
"health_percentage": 100,
"has_issue_template": false,
"has_code_of_conduct": true,
"has_pull_request_template": true
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 58,
"stars": 313,
"watchers": 10,
"fork_history": {
"days": [
{
"date": "2021-08-28",
"count": 1
},
{
"date": "2021-12-24",
"count": 1
},
{
"date": "2022-01-22",
"count": 1
},
{
"date": "2022-02-06",
"count": 1
},
{
"date": "2022-03-22",
"count": 1
},
{
"date": "2022-03-27",
"count": 1
},
{
"date": "2022-04-15",
"count": 1
},
{
"date": "2022-05-18",
"count": 1
},
{
"date": "2022-06-19",
"count": 1
},
{
"date": "2022-06-20",
"count": 2
},
{
"date": "2022-07-12",
"count": 1
},
{
"date": "2022-07-16",
"count": 1
},
{
"date": "2022-08-07",
"count": 1
},
{
"date": "2022-08-29",
"count": 1
},
{
"date": "2022-09-02",
"count": 1
},
{
"date": "2022-09-03",
"count": 1
},
{
"date": "2022-09-27",
"count": 1
},
{
"date": "2022-12-17",
"count": 1
},
{
"date": "2023-01-20",
"count": 1
},
{
"date": "2023-03-12",
"count": 1
},
{
"date": "2023-06-04",
"count": 1
},
{
"date": "2023-07-15",
"count": 1
},
{
"date": "2023-08-10",
"count": 1
},
{
"date": "2023-11-01",
"count": 1
},
{
"date": "2024-05-22",
"count": 1
},
{
"date": "2024-07-14",
"count": 1
},
{
"date": "2024-07-21",
"count": 1
},
{
"date": "2024-07-24",
"count": 2
},
{
"date": "2024-09-29",
"count": 1
},
{
"date": "2024-12-03",
"count": 1
},
{
"date": "2025-01-29",
"count": 1
},
{
"date": "2025-02-07",
"count": 6
},
{
"date": "2025-02-09",
"count": 3
},
{
"date": "2025-02-10",
"count": 1
},
{
"date": "2025-03-28",
"count": 1
},
{
"date": "2025-05-31",
"count": 1
},
{
"date": "2025-06-27",
"count": 1
},
{
"date": "2025-07-21",
"count": 1
},
{
"date": "2025-09-04",
"count": 1
},
{
"date": "2025-09-18",
"count": 1
},
{
"date": "2025-10-19",
"count": 1
},
{
"date": "2026-03-07",
"count": 1
},
{
"date": "2026-03-23",
"count": 1
},
{
"date": "2026-03-26",
"count": 1
},
{
"date": "2026-03-28",
"count": 1
},
{
"date": "2026-07-08",
"count": 2
},
{
"date": "2026-07-26",
"count": 1
}
],
"complete": true,
"collected": 57,
"total_forks": 58
},
"star_history": null,
"open_issues_and_prs": 23
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"nightingale-go/go.mod"
],
"largest_source_bytes": 38945,
"source_files_sampled": 7,
"oversized_source_files": 0,
"agent_instruction_files": [],
"agent_instruction_max_bytes": null
},
"dependencies": {
"manifests": [
"nightingale-go/go.mod"
],
"advisories": {
"error": null,
"scope": "repository_graph",
"source": "osv",
"findings": [
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.29.0",
"severity": "unknown",
"ecosystem": "go",
"cvss_score": null,
"advisory_ids": [
"GO-2026-5024"
],
"fixed_version": "0.44.0",
"advisory_count": 1,
"oldest_advisory_days": 73
}
],
"collected": true,
"malicious": [],
"truncated": false,
"by_severity": {
"unknown": 1
},
"advisory_count": 1,
"affected_count": 1,
"assessed_count": 5,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 13,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "github.com/schollz/progressbar/v3",
"manifest": "nightingale-go/go.mod",
"ecosystem": "go",
"version_constraint": "v3.19.0"
}
],
"all_dependencies": {
"error": null,
"source": "github-sbom",
"packages": [
{
"name": "github.com/schollz/progressbar/v3",
"direct": true,
"version": "v3.19.0",
"ecosystem": "go"
},
{
"name": "github.com/mitchellh/colorstring",
"direct": false,
"version": "v0.0.0-20190213212951-d06e56a500db",
"ecosystem": "go"
},
{
"name": "github.com/rivo/uniseg",
"direct": false,
"version": "v0.4.7",
"ecosystem": "go"
},
{
"name": "golang.org/x/sys",
"direct": false,
"version": "v0.29.0",
"ecosystem": "go"
},
{
"name": "golang.org/x/term",
"direct": false,
"version": "v0.28.0",
"ecosystem": "go"
},
{
"name": "libfreerdp-client3-3",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libfreerdp2-2",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libfreerdp3-3",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libgbm1",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libgl1-mesa-dri",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libglx-mesa0",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libwinpr2-2",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "libwinpr3-3",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "linux-libc-dev",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "mesa-libgallium",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "packaging",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "requests",
"direct": false,
"version": null,
"ecosystem": "pypi"
},
{
"name": "steghide",
"direct": false,
"version": null,
"ecosystem": "pypi"
}
],
"collected": true,
"truncated": false,
"total_count": 18,
"direct_count": 1,
"indirect_count": 17
}
},
"maintainership": {
"issues": {
"open_prs": 12,
"merged_prs": 55,
"open_issues": 11,
"closed_ratio": 0.851,
"closed_issues": 63,
"closed_unmerged_prs": 41
},
"bus_factor": 1,
"bot_contributors": 2,
"top_contributors": [
{
"type": "User",
"login": "RAJANAGORI",
"commits": 660,
"avatar_url": "https://avatars.githubusercontent.com/u/32300516?v=4"
},
{
"type": "User",
"login": "Sidbhasin13",
"commits": 59,
"avatar_url": "https://avatars.githubusercontent.com/u/110635179?v=4"
},
{
"type": "User",
"login": "jineshnagori",
"commits": 19,
"avatar_url": "https://avatars.githubusercontent.com/u/71936891?v=4"
},
{
"type": "User",
"login": "luckyster895",
"commits": 3,
"avatar_url": "https://avatars.githubusercontent.com/u/26063121?v=4"
},
{
"type": "User",
"login": "rajanagori-hl60",
"commits": 2,
"avatar_url": "https://avatars.githubusercontent.com/u/65770246?v=4"
},
{
"type": "User",
"login": "anantshri",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/236843?v=4"
},
{
"type": "User",
"login": "kingthorin",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/7570458?v=4"
},
{
"type": "User",
"login": "dexter-11",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/55249292?v=4"
}
],
"contributors_sampled": 8,
"top_contributor_share": 0.885
},
"quality_signals": {
"has_ci": true,
"has_tests": false,
"ci_workflows": [
"auto-remediate.yml",
"clean_github_hosted_runner.yaml",
"docker-image.yaml",
"multi-os-arm64.yaml",
"nightingale-go.yaml",
"trivy.yml"
],
"has_docs_dir": false,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 6,
"reason": "binaries present in source code",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#binary-artifacts"
},
{
"name": "Branch-Protection",
"score": null,
"reason": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#branch-protection"
},
{
"name": "CI-Tests",
"score": 8,
"reason": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 5,
"reason": "badge detected: Passing",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/21 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 6,
"reason": "project has 2 contributing companies or organizations -- score normalized to 6",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#contributors"
},
{
"name": "Dangerous-Workflow",
"score": 10,
"reason": "no dangerous workflow patterns detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dangerous-workflow"
},
{
"name": "Dependency-Update-Tool",
"score": 10,
"reason": "update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 10,
"reason": "25 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": 10,
"reason": "packaging workflow detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 0,
"reason": "dependency not pinned by hash detected -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#pinned-dependencies"
},
{
"name": "SAST",
"score": 10,
"reason": "SAST tool is run on all commits",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 10,
"reason": "security policy file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#security-policy"
},
{
"name": "Signed-Releases",
"score": 0,
"reason": "Project has not signed or included provenance with any releases.",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#signed-releases"
},
{
"name": "Token-Permissions",
"score": 0,
"reason": "detected GitHub workflow tokens with excessive permissions",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#token-permissions"
},
{
"name": "Vulnerabilities",
"score": 9,
"reason": "1 existing vulnerabilities detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#vulnerabilities"
}
],
"commit": "a925c150f5fcac669daf8cdc0f39141e28fdaf75",
"ran_at": "2026-08-04T03:06:39Z",
"aggregate_score": 6,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": true
},
"contribution_flow": {
"collected": true,
"recent_prs": {
"merged_7d": 0,
"decided_7d": 0,
"merged_30d": 0,
"authors_30d": 0,
"decided_30d": 0,
"sample_size": 60,
"window_days": 30,
"sample_exhausted": false,
"authors_probed_30d": 0,
"newcomer_merged_30d": 0,
"bot_prs_excluded_30d": 0,
"newcomer_authors_30d": 0,
"newcomer_decided_30d": 0
},
"ci_last_run_at": "2026-08-02T04:25:09Z",
"oldest_open_prs": [
{
"number": 167,
"created_at": "2026-04-20T06:04:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 170,
"created_at": "2026-04-20T06:04:16Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 171,
"created_at": "2026-04-20T06:04:19Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 172,
"created_at": "2026-04-20T06:04:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 173,
"created_at": "2026-04-20T06:04:25Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 183,
"created_at": "2026-05-25T07:46:59Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 184,
"created_at": "2026-05-25T07:47:05Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 191,
"created_at": "2026-06-22T05:53:20Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 192,
"created_at": "2026-06-22T05:53:22Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 194,
"created_at": "2026-06-28T12:41:58Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 195,
"created_at": "2026-07-01T11:08:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 196,
"created_at": "2026-07-06T05:53:21Z",
"last_comment_at": null,
"last_comment_author": null
}
],
"last_merged_pr_at": "2026-06-28T04:47:25Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": [
{
"number": 29,
"created_at": "2023-08-04T06:39:42Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 36,
"created_at": "2023-10-09T05:04:56Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 37,
"created_at": "2023-10-11T04:09:13Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 42,
"created_at": "2024-03-24T16:22:38Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 56,
"created_at": "2024-05-27T16:14:08Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 65,
"created_at": "2024-08-28T10:56:10Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 74,
"created_at": "2024-09-26T16:19:42Z",
"last_comment_at": "2024-10-23T13:10:39Z",
"last_comment_author": "RAJANAGORI"
},
{
"number": 79,
"created_at": "2024-11-05T13:10:07Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 80,
"created_at": "2024-11-06T13:54:24Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 85,
"created_at": "2024-12-28T16:41:06Z",
"last_comment_at": null,
"last_comment_author": null
},
{
"number": 102,
"created_at": "2025-04-26T10:38:17Z",
"last_comment_at": null,
"last_comment_author": null
}
]
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/RAJANAGORI/Nightingale",
"host": "github.com",
"name": "Nightingale",
"owner": "RAJANAGORI"
},
"metrics": {
"overall": {
"key": "overall",
"band": "good",
"name": "Overall health",
"note": "The weighted overall 65 is calibrated to 75 on the published index scale (record calibration 2026-08-02).",
"notes": [
{
"code": "overall_calibration",
"params": {
"raw": 65,
"calibrated": 75,
"calibration": "2026-08-02"
}
}
],
"value": 75,
"inputs": {
"security": 68,
"vitality": 88,
"community": 75,
"governance": 49,
"calibration": "2026-08-02",
"engineering": 54,
"ai_readiness": 41,
"weighted_overall_raw": 65
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "excellent",
"name": "Vitality",
"value": 88,
"weight": 0.21,
"metrics": [
{
"key": "development_activity",
"band": "excellent",
"name": "Development activity",
"note": null,
"notes": [],
"value": 86,
"inputs": {
"commits_last_year": 222,
"human_commit_share": 0.91,
"days_since_last_push": 2,
"active_weeks_last_year": 31
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "31/52 weeks with commits",
"points": 21.5,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 31
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "222 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 222
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "25 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 49,
"latest_release_tag": "v1.1.46",
"releases_from_tags": false,
"days_since_latest_release": 2,
"mean_days_between_releases": 23.6
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "49 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 49
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 2 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 2
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~23.6 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 23.6
}
}
],
"max_points": 27
},
{
"key": "openssf_scorecard_signed_releases",
"name": "OpenSSF Scorecard: Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"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": 37,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 37 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 37
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "good",
"name": "Community & Adoption",
"value": 75,
"weight": 0.17,
"metrics": [
{
"key": "popularity",
"band": "moderate",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 60,
"inputs": {
"forks": 58,
"stars": 313,
"watchers": 10,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "313 stars",
"points": 40.5,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 313
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "58 forks",
"points": 14.6,
"status": "partial",
"details": [
{
"code": "forks",
"params": {
"count": 58
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "10 watchers",
"points": 5.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 10
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "excellent",
"name": "Community health",
"note": null,
"notes": [],
"value": 92,
"inputs": {
"has_readme": true,
"has_license": true,
"readme_badges": 6,
"has_contributing": true,
"has_issue_template": false,
"has_code_of_conduct": true,
"readme_badge_services": [
"github.com",
"shields.io",
"www.bestpractices.dev"
],
"has_pull_request_template": true
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (GPL-3.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "GPL-3.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 18,
"status": "met",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 13.5,
"status": "met",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 6.3,
"status": "met",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "weak",
"name": "Sustainability & Governance",
"value": 49,
"weight": 0.23,
"metrics": [
{
"key": "maintainer_resilience",
"band": "at_risk",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 28,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 8,
"top_contributor_share": 0.885
},
"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 88% of commits",
"points": 2.6,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 88
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "8 contributors",
"points": 10.8,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 8
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 6,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "moderate",
"name": "Issue & PR responsiveness",
"note": "Excluded from scoring (no data or not applicable): Newcomer PR acceptance. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"newcomer_pr_acceptance"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 61,
"inputs": {
"merged_prs": 55,
"open_issues": 11,
"closed_issues": 63,
"prs_merged_7d": 0,
"prs_decided_7d": 0,
"prs_merged_30d": 0,
"prs_decided_30d": 0,
"issue_closed_ratio": 0.851,
"closed_unmerged_prs": 41,
"first_time_authors_30d": 0,
"first_time_prs_merged_30d": 0,
"first_time_prs_decided_30d": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "85% of issues closed",
"points": 35.7,
"status": "partial",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 85
}
}
],
"max_points": 42
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "55/96 decided PRs merged",
"points": 17.2,
"status": "partial",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 55,
"decided": 96
}
}
],
"max_points": 30
},
{
"key": "newcomer_pr_acceptance",
"name": "Newcomer PR acceptance",
"detail": "no first-time contributor's PR decided in 30d",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_newcomer_prs",
"params": {
"days": 30
}
}
],
"max_points": 13
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/21 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "moderate",
"name": "Ownership & stewardship",
"note": "Excluded from scoring (no data or not applicable): Verified domain. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"verified_domain"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 61,
"inputs": {
"followers": 90,
"owner_type": "User",
"is_verified": null,
"owner_login": "RAJANAGORI",
"public_repos": 79,
"account_age_days": 3233
},
"components": [
{
"key": "ownership_backing",
"name": "Ownership backing",
"detail": "personal (user) account",
"points": 10,
"status": "partial",
"details": [
{
"code": "owner_personal",
"params": {}
}
],
"max_points": 30
},
{
"key": "verified_domain",
"name": "Verified domain",
"detail": "not applicable to user accounts",
"points": 0,
"status": "excluded",
"details": [
{
"code": "not_applicable_to_user_accounts",
"params": {}
}
],
"max_points": 20
},
{
"key": "owner_reach",
"name": "Owner reach",
"detail": "90 followers of RAJANAGORI",
"points": 14.1,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 90,
"login": "RAJANAGORI"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "79 public repos, account ~8 yr old",
"points": 25,
"status": "met",
"details": [
{
"code": "public_repos",
"params": {
"count": 79
}
},
{
"code": "account_age_years",
"params": {
"years": 8
}
}
],
"max_points": 25
}
]
}
],
"description": "Will the project survive its people — bus factor, responsiveness, who backs it, and package upkeep?"
},
{
"key": "engineering",
"band": "moderate",
"name": "Engineering Quality",
"value": 54,
"weight": 0.19,
"metrics": [
{
"key": "engineering_practices",
"band": "weak",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 40,
"inputs": {
"has_ci": true,
"has_tests": false,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "6 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 6
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 16
},
{
"key": "pre_commit_hooks",
"name": "Pre-commit hooks",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 9.6
},
{
"key": "editorconfig",
"name": ".editorconfig",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.4
},
{
"key": "openssf_scorecard_ci_tests",
"name": "OpenSSF Scorecard: CI-Tests",
"detail": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
"points": 16,
"status": "partial",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "good",
"name": "Documentation",
"note": null,
"notes": [],
"value": 75,
"inputs": {
"topics": [
"penetration-testing",
"hacking-tools",
"hacking",
"pentest-tool",
"bugbounty",
"htb",
"docker-image",
"vulnerabilities",
"platform-independent",
"nightingale",
"cybersecurity",
"osint",
"owasp",
"pentesting"
],
"has_wiki": true,
"homepage": "https://nightingale-security.com/",
"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://nightingale-security.com/",
"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": "14 topics",
"points": 10,
"status": "met",
"details": [
{
"code": "topics_count",
"params": {
"count": 14
}
}
],
"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": "good",
"name": "Security",
"value": 68,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "moderate",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 60,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 17,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 1,
"scorecard_aggregate": 6
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "binaries present in source code",
"points": 4.5,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "branch_protection",
"name": "Branch-Protection",
"detail": "internal error: error during branchesHandler.setup: internal error: some github tokens can't read classic branch protection rules: https://github.com/ossf/scorecard-action/blob/main/docs/authentication/fine-grained-auth-token.md",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 7.5
},
{
"key": "ci_tests",
"name": "CI-Tests",
"detail": "5 out of 6 merged PRs checked by a CI test -- score normalized to 8",
"points": 2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "badge detected: Passing",
"points": 1.2,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/21 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 2 contributing companies or organizations -- score normalized to 6",
"points": 1.5,
"status": "partial",
"details": [],
"max_points": 2.5
},
{
"key": "dangerous_workflow",
"name": "Dangerous-Workflow",
"detail": "no dangerous workflow patterns detected",
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "dependency_update_tool",
"name": "Dependency-Update-Tool",
"detail": "update tool detected",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "25 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 10",
"points": 7.5,
"status": "met",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "sast",
"name": "SAST",
"detail": "SAST tool is run on all commits",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 5,
"status": "met",
"details": [],
"max_points": 5
},
{
"key": "signed_releases",
"name": "Signed-Releases",
"detail": "Project has not signed or included provenance with any releases.",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "token_permissions",
"name": "Token-Permissions",
"detail": "detected GitHub workflow tokens with excessive permissions",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "vulnerabilities",
"name": "Vulnerabilities",
"detail": "1 existing vulnerabilities detected",
"points": 6.8,
"status": "partial",
"details": [],
"max_points": 7.5
}
]
},
{
"key": "dependency_advisories",
"band": "exceptional",
"name": "Dependency advisories",
"note": "Excluded from scoring (no data or not applicable): Indirect dependencies free of known advisories, No advisories left outstanding. Remaining weights renormalized. Matched 5 resolved dependencies against OSV; 13 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": 5
}
},
{
"code": "advisories_unassessed",
"params": {
"count": 13
}
},
{
"code": "advisories_repo_graph_caveat",
"params": {}
},
{
"code": "advisories_reachability",
"params": {}
}
],
"value": 100,
"inputs": {
"source": "osv",
"advisories": 1,
"affected_packages": 1,
"assessed_packages": 5,
"unassessed_packages": 13,
"affected_by_severity": "unknown 1",
"direct_affected_packages": 0
},
"components": [
{
"key": "direct_dependencies_free_of_known_advisories",
"name": "Direct dependencies free of known advisories",
"detail": "no direct dependency carries a known advisory",
"points": 35,
"status": "met",
"details": [
{
"code": "no_direct_advisories",
"params": {}
}
],
"max_points": 35
},
{
"key": "indirect_dependencies_free_of_known_advisories",
"name": "Indirect dependencies free of known advisories",
"detail": "transitive set not separable from development and test dependencies in this scope",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_scope_not_separable",
"params": {}
}
],
"max_points": 25
},
{
"key": "no_advisories_left_outstanding",
"name": "No advisories left outstanding",
"detail": "no advisory carries a publication date",
"points": 0,
"status": "excluded",
"details": [
{
"code": "advisories_no_publication_date",
"params": {}
}
],
"max_points": 40
}
]
},
{
"key": "malicious_dependencies",
"band": "exceptional",
"name": "Malicious dependencies",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"source": "osv",
"meaning": "reported as a malicious package by the OpenSSF corpus; the remedy is removal or moving off the compromised name, never an upgrade of the same artifact. Versions the registry has since pulled are listed but not scored",
"packages": [],
"red_flag": false,
"assessed_packages": 5,
"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": 8
},
"components": [
{
"key": "policy_exposure_multiplier",
"name": "Policy exposure multiplier",
"detail": "no confirmed policy-scope location match",
"points": 100,
"status": "met",
"details": [
{
"code": "jurisdiction_no_match",
"params": {}
}
],
"max_points": 100
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "weak",
"name": "AI Readiness",
"value": 41,
"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.934,
"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": "85 of 91 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 85,
"sampled": 91
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "weak",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 37,
"inputs": {
"has_nix": false,
"has_tests": false,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": false,
"bootstrap_files": [],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.03,
"toolchain_manifests": [
"nightingale-go/go.mod"
],
"dependency_bot_commit_share": 0.07
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "nightingale-go/go.mod (toolchain convention, no task runner)",
"points": 12.6,
"status": "partial",
"details": [
{
"code": "toolchain_convention",
"params": {
"files": "nightingale-go/go.mod"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "reproducible_environment",
"name": "Reproducible environment",
"detail": "Dockerfile, lockfile",
"points": 10,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Dockerfile, lockfile"
}
}
],
"max_points": 10
},
{
"key": "demonstrated_agent_practice",
"name": "Demonstrated agent practice",
"detail": "3 of the last 100 commits agent-authored or agent-credited",
"points": 6,
"status": "partial",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 3,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "7 of the last 100 commits are automated dependency updates",
"points": 8,
"status": "met",
"details": [
{
"code": "dependency_bot_commits",
"params": {
"count": 7,
"sampled": 100
}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "moderate",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 55,
"inputs": {
"primary_language": "Dockerfile",
"largest_source_bytes": 38945,
"source_files_sampled": 7,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Dockerfile without a type-check config",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_typecheck_config_language",
"params": {
"language": "Dockerfile"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/7 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 7,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"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": [
"application"
],
"labels": [
"network-service"
],
"scores": {
"network-service": 11
},
"primary": "network-service",
"evidence": [
{
"tier": "structure",
"label": "network-service",
"source": "tree.helm",
"weight": 4
},
{
"tier": "structure",
"label": "network-service",
"source": "tree.k8s",
"weight": 4
},
{
"tier": "structure",
"label": "network-service",
"source": "tree.compose",
"weight": 3
}
],
"artifacts": [],
"confidence": "medium",
"host_extension": false,
"runs_as_process": true,
"consumed_by_code": false
},
"metrics_version": "2.5.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch go package 'github.com/rajanagori/nightingale-go' from its registry"
],
"report_type": "repository",
"generated_at": "2026-08-04T03:07:03.028626Z",
"schema_version": "0.30.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/r/RAJANAGORI/Nightingale.svg",
"full_name": "RAJANAGORI/Nightingale",
"license_state": "standard",
"license_spdx": "GPL-3.0"
}