Звіт у форматі JSON машиночитний
{
"data": {
"repo": {
"topics": [],
"is_fork": false,
"size_kb": 19988,
"has_wiki": false,
"homepage": null,
"languages": {
"Go": 980603,
"HTML": 28131,
"Ruby": 1545,
"Shell": 172932,
"Makefile": 13913,
"Dockerfile": 1510,
"PowerShell": 19221
},
"pushed_at": "2026-07-18T11:05:40Z",
"created_at": "2025-12-19T05:35:09Z",
"owner_type": "User",
"updated_at": "2026-07-24T07:32:57Z",
"description": "Bash Guard for Coding Agents",
"is_archived": false,
"is_disabled": false,
"license_spdx": "Apache-2.0",
"default_branch": "main",
"license_spdx_raw": "Apache-2.0",
"primary_language": "Go",
"significant_languages": [
"Go",
"Shell"
]
},
"owner": {
"blog": null,
"name": null,
"type": "User",
"login": "xadnavyaai",
"company": null,
"location": null,
"followers": 4,
"avatar_url": "https://avatars.githubusercontent.com/u/166740392?v=4",
"created_at": "2024-04-11T16:24:11Z",
"is_verified": null,
"public_repos": 8,
"account_age_days": 833
},
"license": {
"state": "standard",
"spdx_id": "Apache-2.0",
"raw_spdx": "Apache-2.0",
"file_present": true,
"scorecard_found": true,
"profile_has_license": true
},
"activity": {
"releases": [
{
"tag": "v0.7.1",
"kind": "patch",
"published_at": "2026-07-18T11:06:52Z"
},
{
"tag": "v0.7.0",
"kind": "minor",
"published_at": "2026-07-18T10:51:41Z"
},
{
"tag": "v0.6.0",
"kind": "minor",
"published_at": "2026-02-27T20:03:49Z"
},
{
"tag": "v0.5.0",
"kind": "minor",
"published_at": "2026-01-31T00:39:58Z"
},
{
"tag": "v0.4.0",
"kind": "minor",
"published_at": "2026-01-30T06:37:55Z"
},
{
"tag": "v0.3.0",
"kind": "minor",
"published_at": "2026-01-23T11:46:50Z"
},
{
"tag": "v0.2.0",
"kind": "minor",
"published_at": "2026-01-19T09:25:06Z"
},
{
"tag": "v0.1.2",
"kind": "patch",
"published_at": "2026-01-17T09:58:59Z"
},
{
"tag": "v0.1.1",
"kind": "patch",
"published_at": "2026-01-16T11:37:58Z"
},
{
"tag": "v0.1.0",
"kind": "minor",
"published_at": "2026-01-16T10:27:06Z"
}
],
"recent_commits": [
{
"oid": "e9ae8aa6407b71313deb04f99dc9bc32831f00a0",
"body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: add release notes for v0.7.1",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-07-18T11:05:37Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "775fe302ee2cca4464d2188e832ec549f8e4bbe6",
"body": "generateSessionID() used only time.Now().UnixNano(). On platforms with a\ncoarse wall clock (notably Windows) two sessions started in the same clock\ntick received identical IDs and overwrote each other's session file. This\nsurfaced as a flaky/failing TestRunBehavioralProfile_DiffJSON on\nwindows-lates\n[…]\nD so uniqueness no longer depends on clock\nresolution. No code parses the numeric portion of the ID, so the format\nchange is safe.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix(session): make session IDs collision-safe on low-resolution clocks",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-07-18T10:57:32Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "be66983036e89fc3fbdb4492def03ac3eb3bade4",
"body": "Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: add release notes for v0.7.0",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-07-18T10:50:23Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "410ccb1c8277c0f5603b63335feaf1b3984db04c",
"body": "Document the new capabilities and refresh agent guidance for the\npost-Mythos defaults:\n\n- docs/ai-agent-threat-model.md — stage-by-stage AI agent threat mapping\n- docs/prompt-firewall.md — prompt firewall usage and detection classes\n- docs/blog/* — two narrative posts + behavioral action-graph asset\n[…]\ntegrations/openclaw plugin manifest, install-alias test script\n- README/FEATURES/cve-awareness updates; ignore local planning docs\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: post-Mythos threat model, prompt-firewall & agent-posture guidance",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-07-18T10:48:59Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "ec5fc0ca8e73089c1f8d1dda4532b60374325f17",
"body": "… commands\n\nExpose the new engines through the CLI dispatcher and help/init surfaces:\n\n- `llmtrace {connect,sync,scan,watch}` — LLM trace security analysis\n- `audit agent-posture` — AI agent OAuth/hygiene/behavioral audit\n- `scan boundaries --path .` — FFI / unsafe trust-boundary scan\n- `behavioral \n[…]\nve command surfaces, and the prompt-firewall command. Adds command-level\ntests for scan-boundaries, behavioral, and cve freshness.\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(cli): wire llmtrace, agent-posture, scan-boundaries & behavioral…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-07-18T10:48:39Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "f78c4a81d35a71e9dd54bfa10c178d27072900f6",
"body": "…ngines\n\nIntroduce five new security analysis libraries plus an expanded prompt\nfirewall, all consumed by the CLI layer:\n\n- llmtrace: Langfuse-compatible client that pulls LLM traces and scores\n them for prompt injection, cost anomalies, tool abuse, agent loops, and\n data exfiltration (reuses inte\n[…]\nsts for the previously untested llmtrace and agentposture\nengines. Config gains LLMTraceConfig wiring (LLMTRACE_*/LANGFUSE_* env).\n\nCo-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat(security): add LLM-trace, agent-posture, boundary & behavioral e…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-07-18T10:48:19Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "9d53ee0592efb5c24c4dc28f879ef6eeaf6f0d08",
"body": "- Introduced a helper function `setTestHome` to set the HOME environment variable for tests, ensuring consistent test behavior across platforms.\n- Updated multiple test functions to utilize `setTestHome`, improving test isolation and reliability.\n- Adjusted assertions in `TestListSessions` to expect exactly 2 sessions instead of a variable count based on initial state.",
"is_bot": false,
"headline": "test: Refactor session tests to set temporary home directory",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-28T07:07:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47d37a85b5760baed6db3998f3b2b4ee9ae16294",
"body": "Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: add release notes for v0.6.0",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T20:02:57Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "9e5e707df33c2a7a4cf8e05e140ec3c4544e5114",
"body": "feat: Windows platform support + critical path blocking fix",
"is_bot": false,
"headline": "Merge pull request #18 from xadnavyaai/feat_add_windows_support",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T19:56:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dcf141ed222f9d03d3130fcc41493345b8a1d40d",
"body": "- Run gofmt on openclaw.go, server.go, server_test.go\n- Fix init tests to set USERPROFILE on Windows (os.UserHomeDir uses it)\n- Fix CVE cache path test to set USERPROFILE on Windows\n- Fix OpenClaw seed paths test to use filepath.Join instead of hardcoded /\n- Fix sessiondiff tests to use filepath.Join for cross-platform paths\n- Fix Docker e2e test to check ~/.config/vectra-guard/ for init output\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: CI failures — gofmt, Windows test paths, Docker e2e init check",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T19:54:16Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "a0ce4e11b86b4cc6f9881f79de137cb02247b1c0",
"body": "`vg init` now writes to ~/.config/vectra-guard/config.yaml by default.\nUpdated 16 files across docs, templates, and scripts to reflect the\nnew config location and loading order (global → project → local).\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: update all references for global config default",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T19:46:01Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "886afb839de6960dd351cb0c78ad8b82d91a9756",
"body": "Previously `vg init` wrote vectra-guard.yaml to the current directory,\nbut config loading already searched ~/.config/vectra-guard/ as the\nglobal location. Now `vg init` defaults to the global home path so\nthe config is properly discovered regardless of cwd.\n\n- `vg init` → ~/.config/vectra-guard/conf\n[…]\n .vectra-guard/config.yaml (repo-scoped, unchanged)\n- `vg init --global` → explicit global flag (same as default)\n- Updated help text and tests\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: init writes config to ~/.config/vectra-guard/ by default",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T19:31:57Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3add6b15ff4c8d7a9ed98a2e536ebdccdf08c101",
"body": "Previously, the directory validator only recognized Unix absolute paths\n(/-prefixed), allowing commands like `rm -rf C:\\Windows` to bypass the\ncritical command blocker entirely. This adds:\n\n- Windows absolute path detection (isWindowsAbsPath, normalizeWindowsPath)\n- Windows system path patterns to r\n[…]\nking\n\nDiscovered during live Windows testing where `rm -rf C:\\Windows` passed\nthrough to soft delete and sandbox instead of being hard-blocked.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: hard-block Windows system directory deletion (rm -rf C:\\Windows)",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T19:19:44Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "2fa77eefb1c09495cf25031de4a93d511360e5c9",
"body": "Add Windows (amd64, arm64) binaries to release checklists, platform\nlists, and installation instructions across all release notes.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "docs: update release notes and checklist with Windows platform support",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T14:43:15Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "2b5df4f95b355c612f3fc97c0bf3f0688488668a",
"body": "- Added Windows installation instructions to documentation, including a one-line PowerShell script for easy setup.\n- Updated supported platforms to include Windows alongside macOS and Linux in various documentation files.\n- Enhanced CI workflows to support multi-platform builds, including Windows bi\n[…]\nes for both amd64 and arm64 architectures.\n- Improved installation scripts to ensure user-friendly installation processes across all platforms.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Expand installation and platform support for Vectra Guard",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T14:37:43Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "3f34080d92701569ff5594189da826dbd0989918",
"body": "…ection\n\n- Added a new API endpoint `/api/agents` to retrieve agent coverage information, including seeded agents and OpenClaw status.\n- Enhanced the dashboard UI to display agent coverage metrics and OpenClaw detection results, allowing users to refresh the data dynamically.\n- Introduced new data s\n[…]\nprovide detailed agent status.\n- Updated JavaScript functions to handle the display of agent information and OpenClaw details in the dashboard.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Implement agent coverage feature in dashboard with OpenClaw det…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T14:15:41Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "d9be09fd76812bbbff6ae0f7f420d4783b2f813f",
"body": "…irm option\n\n- Added support for auto-confirm prompts in the seeding process with a new `--yes` flag, enabling non-interactive mode.\n- Implemented smart detection for OpenClaw, allowing for separate handling of OpenClaw agent instructions during seeding.\n- Introduced new functions for merging and wr\n[…]\n integration with existing content.\n- Added comprehensive tests for OpenClaw detection and merging logic to ensure reliability and correctness.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Enhance seeding process with OpenClaw integration and auto-conf…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T13:38:56Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "fd359761841ebf30139a5af7568f5129177691c5",
"body": "…tions\n\nOpenClaw reads markdown instruction files (AGENTS.md) from workspace\ndirectories, not YAML plugin configs. Updated the openclaw target from\n.openclaw/plugins/vectraguard.yaml to .openclaw/AGENTS.md to match\nhow OpenClaw actually discovers and reads agent instructions.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "fix: Change openclaw seed target from YAML plugin to markdown instruc…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T13:07:59Z",
"body_truncated": false,
"is_coding_agent": true
},
{
"oid": "6146104f04625463a8b4772a682218caf0f1f734",
"body": "…ashboard docs\n\nEnhance `vg seed agents` to display workspace context (repo name, branch,\nproject type), agent coverage matrix, and VectraGuard protection status\ninstead of bare minimal output. Add git helpers (IsGitRepo, GetGitRemoteURL,\nParseRepoName) and workspace detection (DetectWorkspaceContex\n[…]\nrics, trust store, CVE summary, and system status. Add\ncomprehensive dashboard documentation at docs/dashboard.md and link it from\nFEATURES.md.\n\nCo-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>",
"is_bot": false,
"headline": "feat: Add rich seed agents output, security dashboard with SSE, and d…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T12:09:33Z",
"body_truncated": true,
"is_coding_agent": true
},
{
"oid": "7b8bbd39bfe55e403bc38f420c1f3f7d50e772b2",
"body": "- Added support for seeding OpenClaw plugin configuration, allowing users to integrate VectraGuard's security features into OpenClaw projects.\n- Updated documentation to reflect new seeding commands and available targets, including OpenClaw.\n- Enhanced README and FEATURES.md to detail the functionalities provided by the OpenClaw plugin, such as command gate, prompt firewall, and CVE scanning.\n- Included examples for seeding agent instructions for various platforms, including OpenClaw.",
"is_bot": false,
"headline": "feat: Introduce OpenClaw integration and enhance seeding capabilities",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-27T09:45:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b20f4dc6a0afa3a6bd08d48e3e5bb0fe209dc137",
"body": "…ases\n\n- Improved logic in install.sh to always add the installation directory to the user's PATH and create aliases for 'vectra-guard' in .bashrc, .zshrc, and .profile.\n- Ensured that the script checks for existing entries to avoid duplicates and provides clear instructions for users on how to apply changes in their current and future shell sessions.",
"is_bot": false,
"headline": "feat: Enhance install script to update shell config with PATH and ali…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-09T08:07:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0338fa88ca3d56eb4d79a72b2070dfb3130c9d7d",
"body": "- Introduced aliases 'vg' and 'vectraguard' for the 'vectra-guard' command in the user's shell configuration files (.bashrc, .zshrc).\n- This enhancement simplifies command usage for users after installation.",
"is_bot": false,
"headline": "feat: Add shell aliases for vectra-guard in install script",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-09T07:15:58Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3b4ade8178c3988d5321d1d7436960d5ab594796",
"body": "- Introduced a new document detailing a refined comment template for addressing incidents involving AI agents, specifically focusing on data loss scenarios.\n- Included guidance on using Vectra Guard to prevent accidental deletions and restore lost files, along with installation and usage instructions.\n- Enhanced the documentation to clarify the limitations of Vectra Guard in third-party environments.",
"is_bot": false,
"headline": "docs: Add refined comment for Claude Cowork incident response",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-09T04:52:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05893323583ba4d5b8f8441ac0f87b671cfb02a3",
"body": "- Adjusted counts for PY_EXTERNAL_HTTP and PY_REMOTE_HTTP based on the latest six-repo scan results, reflecting a decrease in detected instances.",
"is_bot": false,
"headline": "docs: Update HTTP rule counts in README for accuracy",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-08T19:24:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "81e527640f8d0e5a703cd5a5742da7a7837d41f0",
"body": "…or PATH\n\n- Implemented logic in install.sh to add the installation directory to the user's PATH in .bashrc, .zshrc, and .profile if not already present.\n- Ensured that the changes prompt the user to source their shell configuration or open a new terminal for the updates to take effect.",
"is_bot": false,
"headline": "feat: Add functionality to automatically update shell configuration f…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-02-08T18:25:04Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "25044be9d8c15d1cc30777e693302058eddaca80",
"body": null,
"is_bot": false,
"headline": "docs: add release notes for v0.5.0",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-31T00:38:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "80b49630e4e0f2c71349b3b61965f01fcba0f3b3",
"body": null,
"is_bot": false,
"headline": "docs: rerun six-repo scan and refresh reports",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-31T00:33:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c7e8795b97f36f5bb5b72aa7daea93e0ba79773e",
"body": "…nd-blog\n\nImprove detection (secrets + security scan), blog, verification & E2E tests",
"is_bot": false,
"headline": "Merge pull request #17 from xadnavyaai/fix/secret-scan-verification-a…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-31T00:28:12Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "773b3c9c13322e4591f6547561f1435fc12e29ac",
"body": "- Implemented checks for dangerous scripts (e.g., 'rm -rf /') to ensure detection of critical violations.\n- Added validation for session management, including session start, execution, and audit functionalities.\n- Included tests for the explain command to describe risks associated with scripts.\n- Added CVE sync and scan tests to verify functionality and handle disabled configurations.",
"is_bot": false,
"headline": "test: Add end-to-end validation for risky scripts and session management",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-31T00:24:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ebb33b3186b24ac3e4c835eddd2a0745e0b6cfa0",
"body": "- Simplify return in secrets scanner (S1008)\n- Omit redundant nil check in secscan (S1009)\n- Remove docs/blog/linkedin-posts-drafts.md",
"is_bot": false,
"headline": "fix: lint S1008/S1009 and remove LinkedIn post drafts",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-31T00:20:13Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a0c4af23c4cfde2f80fb18fb0786c95bead3d538",
"body": "- Enhanced `FEATURES.md` to order features by impact and provide clearer descriptions of high-impact functionalities.\n- Revised `GETTING_STARTED.md` to emphasize critical outcomes and streamline command usage steps.\n- Improved `README.md` to include a structured overview of features and their impact, guiding users through the high-impact path.\n- Adjusted `scripts/test-binary-e2e.sh` file permissions for consistency.",
"is_bot": false,
"headline": "docs: Update documentation to clarify feature impact and usage",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-31T00:14:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ea504b347a7c8e293b18d7c426385afe9163c8f",
"body": "…n behavior\n\n- Added detailed explanations of detection behavior for `scan-secrets` and `scan-security`, focusing on context-based flagging and false positive reduction.\n- Updated `FEATURES.md`, `GETTING_STARTED.md`, and `control-panel-security.md` to include new scanning guidelines and verification scripts.\n- Improved README.md to clarify the detection methods and their impact on secret scanning accuracy.",
"is_bot": false,
"headline": "docs: Enhance documentation for secret scanning features and detectio…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T23:54:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "20cea3d78da67ab95fbbcd22394a67958e73012f",
"body": "- Updated the secret scanning logic to require context for entropy candidates, reducing false positives from paths and slugs.\n- Enhanced tests to verify that only lines with secret context are flagged as potential secrets.\n- Added a new documentation file detailing the types of findings and the rationale behind the updated scanning approach.\n- Adjusted existing documentation to reflect improved detection methods and updated secret counts.",
"is_bot": false,
"headline": "refactor: Improve secret scanning accuracy and reduce false positives",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T23:51:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b6f6f2b016fbc1c4af9b213ca1bcfcbdb0ea6f0e",
"body": "…ification script\n\n- Add scanning-ai-agent-repos-what-we-found.md with numbers table updated\n for lockfile-skip run (~246K total), cross-check note vs similar-agent-scan-raw.txt\n- Add linkedin-posts-drafts.md with master draft\n- Add scripts/verify-secret-findings.go: sample secret findings per repo,\n verify match on line, classify TRUE_ISSUE vs FP (known-pattern vs entropy)",
"is_bot": false,
"headline": "docs: blog post with updated secret counts, cross-validation, and ver…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T11:07:30Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a5ce6958cd3d0cc928e6a7fd07ef00bd53526094",
"body": "…ntation\n\n- Updated `shouldSkipFile` function to skip various lockfiles to prevent inflated secret counts.\n- Added a new test case to verify that lockfiles do not produce findings during scans.\n- Expanded documentation in README.md to clarify the rationale behind skipping lockfiles and provided cross-validation counts for rule codes.",
"is_bot": false,
"headline": "feat: Enhance secret scanning by skipping lockfiles and update docume…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T10:55:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "019534f0a01c4d8ad3dd672db164450d99ec864c",
"body": "…imilar-repos\n\nfeat: Reports in vectra-guard tool format, similar-agent scan script and docs",
"is_bot": false,
"headline": "Merge pull request #16 from xadnavyaai/feat/reports-tool-format-and-s…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T08:28:40Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7bd62c05e46b7f115443d5842153ec1591768bde",
"body": "…and docs\n\n- scripts/test-similar-agent-repos.sh: clone-all for 6 AI agent repos,\n run scan-security + audit repo; VG_OUTPUT=json writes findings in\n tool format (vg audit repo --output json schema) to docs/reports/\n- docs/reports/: README (tool format schema, regenerate instructions),\n findings-\n[…]\ngent-findings.json (tool format), similar-agent-scan-raw.txt\n- docs/control-panel-security.md: testing section with clone-all,\n similar tools table (Huginn, Aider), release vs local, run instructions",
"is_bot": false,
"headline": "feat: reports in vectra-guard tool format, similar-agent scan script …",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T08:26:11Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "03cb7e11e1606e162a2713427102c32fe4c96f69",
"body": "security scanning, and CI/CD cleanup",
"is_bot": false,
"headline": "Merge pull request #15 from xadnavyaai/feat_tier_nexgen_blancket_tools",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T06:35:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8715c726a2b9cf3516bad855736cdbee5ab0501b",
"body": null,
"is_bot": false,
"headline": "style: go fmt for CI lint and quick checks",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T06:33:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "021c5ddd8a3a7606250413bfa5b75074c069cc3e",
"body": "- Added `.tmp/*` to `.gitignore` to exclude temporary files.\n- Removed outdated `CI_CD_CHANGES.md`, `GET_STARTED_WITH_CI.md`, `CI_CD_GUIDE.md`, `CI_CD_QUICKSTART.md`, and `CI_CD_SETUP_SUMMARY.md` files to streamline documentation.\n- Retained relevant CI/CD information in other documentation files.",
"is_bot": false,
"headline": "chore: Update .gitignore and remove obsolete CI/CD documentation",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-30T06:22:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b4cd4e6be951fdd74b4d6eda9247f2db9f6631df",
"body": "- Added `scan-security` command to scan source code for risky patterns in Go, Python, and C.\n- Implemented `runScanSecurity` function to analyze specified files or directories for security issues.\n- Created tests for the security scanning functionality, ensuring detection of risky patterns and validation of safe code.\n- Updated CLI help output to include the new security scanning command.",
"is_bot": false,
"headline": "feat: Introduce security scanning feature for source code",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-28T13:49:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3412a52753e15b3e80e21ca6d85b5324f1c474e9",
"body": "- Added global lockdown functionality to block guarded executions when enabled.\n- Introduced commands for enabling, disabling, and checking the status of lockdown.\n- Implemented prompt firewall to analyze prompts for potential injection risks.\n- Added tests for lockdown state management and prompt firewall behavior.\n- Enhanced CLI with new commands for lockdown and prompt firewall operations.\n- Comprehensive test coverage for new features to ensure reliability.",
"is_bot": false,
"headline": "feat: Implement global lockdown feature and prompt firewall",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-28T11:28:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "97a1be4be357faaef38c7cce6903a9763247c3b1",
"body": null,
"is_bot": false,
"headline": "docs: Add release notes for v0.3.0",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-23T11:45:56Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "215ff70da88d680e356c7af468d2f6f2ffa64e67",
"body": "feat: Add soft delete with auto-delete feature",
"is_bot": false,
"headline": "Merge pull request #12 from xadnavyaai/feature/soft-delete-auto-delete",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-23T11:44:45Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7ddc870f6bb54a1600427b000a11e9b90f0d6146",
"body": null,
"is_bot": false,
"headline": "fix: Format code for CI/CD compliance",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-23T11:42:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "49bd2795a4f6954513bbd6a7ff0c2fc98d62d3b4",
"body": "- Implement soft delete feature with rotating backups\n- Add auto-delete option for permanent deletion of old backups\n- Add comprehensive git protection (.git, .gitignore, etc.)\n- Implement CLI commands: restore, list, show, clean, delete, stats, auto-delete\n- Add extensive test coverage (28 tests)\n-\n[…]\nts:\n- 15 manager tests (soft delete, cleanup, auto-delete)\n- 6 restore tests (single file, directory, different location)\n- 7 git protection tests (detection, blocking, protection)\n\nAll tests passing.",
"is_bot": false,
"headline": "feat: Add soft delete with auto-delete feature",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-23T11:22:00Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "dc0274113cdae61c7443bbc6c738dab15615b157",
"body": "Test CI pipeline",
"is_bot": false,
"headline": "Merge pull request #11 from xadnavyaai/test-ci-pipeline",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T10:54:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8f203a2903f951ab942aadfdeced4943516b6961",
"body": "- Added environment variables for CI and Vectra Guard container in docker-compose.test.yml.\n- Updated Makefile to include build flags for CI environments to disable VCS information.\n- Configured GitHub Actions to set CI environment variable during Docker-based tests.\n- Introduced CI/CD Quick Start a\n[…]\narding.\n- Added a script to verify CI/CD setup and ensure all necessary files and configurations are in place.\n- Adjusted build commands in test scripts to include the new build flags for consistency.",
"is_bot": false,
"headline": "Enhance CI/CD setup and testing configuration",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T10:51:42Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "831edda405b3f191799abbb0a7b5d60d0351a15a",
"body": "- Adjusted formatting in context_test.go and exec_test.go to enhance code clarity.\n- Standardized spacing and alignment in various test functions across multiple files.\n- Ensured consistent style in comments and variable declarations for better maintainability.",
"is_bot": false,
"headline": "Refactor test files for improved readability and consistency",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T10:47:27Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "077fc16615554eae1b2c7333e86cadc2fb26330d",
"body": null,
"is_bot": false,
"headline": "Test CI pipeline",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T10:43:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "b9e3c840845f1ec5837cb5b807964dc9944cb883",
"body": "- Add automated testing for PRs and main branch\n- Add automated release workflow\n- Add comprehensive documentation\n- Configure multi-platform builds",
"is_bot": false,
"headline": "Add GitHub Actions CI/CD pipeline",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T10:43:10Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0257b42d033c70b2451a64ff2e7726eab05ed110",
"body": null,
"is_bot": false,
"headline": "feat: add CVE awareness and vulnerability scanning (v0.2.0)",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T09:22:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "05ae60c139f8e62bc308923834eb1081237c2a05",
"body": null,
"is_bot": false,
"headline": "docs: add release notes for v0.2.0",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T09:21:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "5eee51312ba105be28b1ca5b95f72cb995db16e6",
"body": "…nning\n\n- Introduced a new FEATURES.md file detailing the capabilities of Vectra Guard, including command risk protection, smart sandboxing, CVE scanning, and session auditing.\n- Updated README.md to link to the new FEATURES.md for easy access to detailed feature descriptions and workflows.\n- Enhanced agent templates (AGENTS.md, CLAUDE.md, CODEX.md) with CVE scanning workflows and best practices for dependency management.",
"is_bot": false,
"headline": "Add comprehensive feature guide and enhance documentation for CVE sca…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T09:19:52Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e4703f126e2e4a450b3434071b47cbf2b400cf2e",
"body": "… and README.md with CVE scanning instructions\n\n- Created a new config.yaml file to define agent rules and package state.\n- Updated GETTING_STARTED.md to include CVE scanning commands and their benefits.\n- Enhanced README.md with CVE scanning details and usage examples for better user guidance.",
"is_bot": false,
"headline": "Add configuration file for agent rules and enhance GETTING_STARTED.md…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T09:09:17Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f451b5753a9835b6c6d551b30e899e058a839ac7",
"body": "- Introduced CVE configuration options in CONFIGURATION.md and vectra-guard.example.yaml.\n- Implemented CVE sync and scan commands in the CLI for managing vulnerabilities.\n- Added support for fetching CVE data from OSV and caching results locally.\n- Enhanced Makefile to include a dedicated CVE test \n[…]\neflect new CVE commands and usage.\n- Created tests for CVE functionality, including package discovery and cache management.\n- Added internal structures for managing CVE data and vulnerability records.",
"is_bot": false,
"headline": "Add CVE awareness feature with local caching and scanning capabilities",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-19T08:52:56Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "22389b089525b1f7be1785209bef6e61f23deb26",
"body": "Refine tracking, auditing, and safety controls",
"is_bot": false,
"headline": "Merge pull request #10 from xadnavyaai/feat_VG-1-refinefeatures",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:53:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "47b19432a7396ca9accf87b9b544a5104b68b910",
"body": null,
"is_bot": false,
"headline": "Add agentic workflow examples",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:50:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dc10d3f3f1fcd9339856061b308cd4eb1926406d",
"body": null,
"is_bot": false,
"headline": "Add selective agent seeding",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:48:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "7b1bef0ab4e01e4ad7ce251f9eb4a136df3a6f82",
"body": null,
"is_bot": false,
"headline": "Update quick start commands and add uninstall",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:43:24Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "43f27b863ead5c3d6890749b14b871cdec9c59cb",
"body": null,
"is_bot": false,
"headline": "Allow noninteractive uninstall for testing",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:40:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "18a6fbfbe12c79ff53599b958636fb9d890292c9",
"body": null,
"is_bot": false,
"headline": "Update uninstaller for tracker and cache cleanup",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:36:36Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d423caa861332f1c1ee4f640b62bb468299d7027",
"body": null,
"is_bot": false,
"headline": "Default installer to user space",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:34:44Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "503ff2f373fc57a4da5d4a744ce0c9a416962682",
"body": null,
"is_bot": false,
"headline": "Add private key detection and notifier warnings",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T09:32:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "dda8169f0cee5bc037b5bba0a0f293c0ea2571da",
"body": null,
"is_bot": false,
"headline": "Rename shell protection in release notes",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T08:12:55Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a2e8081318cd974eb51bdde9aa8a5361f6254b9b",
"body": "- Added optional shell tracker installation instructions to GETTING_STARTED.md.\n- Updated README.md to reflect changes in shell tracking and command logging.\n- Implemented session auditing functionality, allowing users to audit commands executed within sessions.\n- Introduced tests for session audit summaries and command tracking to ensure reliability.\n- Improved command execution handling to block external HTTP(S) requests and sudo usage unless explicitly allowed.",
"is_bot": false,
"headline": "Enhance shell tracking and session auditing features",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T08:11:15Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "62b64e21221c9fc06059fbebec8f0681a413c558",
"body": "- Added a new shell tracker installation script to enable command tracking for bash, zsh, and fish.\n- Updated `install.sh` to prompt users for enabling the shell tracker during installation.\n- Introduced `runSessionRecord` function to log executed commands along with their exit codes and risk assess\n[…]\n\n- Enhanced session management by integrating command analysis and recording findings.\n- Updated documentation in `homebrew/vectra-guard.rb` to reflect the new shell tracker installation instructions.",
"is_bot": false,
"headline": "Implement shell tracker installation and command recording feature",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T07:34:02Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "1f1154c1e327fdc050fedbbf7a29578055cc9e5e",
"body": "- Implemented `pickSandboxRuntime` function to determine available sandbox runtimes (docker, podman, process).\n- Updated `buildSandboxConfig` to handle cases where the runtime is set to \"auto\" or empty, returning an error if no runtime is available.\n- Added tests for runtime selection and error scenarios in `sandbox_test.go` to ensure proper functionality.",
"is_bot": false,
"headline": "Add sandbox runtime selection and error handling",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T07:20:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "993a11024d898a355f39c6cf0db0df049106f97f",
"body": "- Added new entries to .gitignore for cache and temporary files.\n- Revised GETTING_STARTED.md to clarify command protection with `vectra-guard exec` and updated session management instructions.\n- Enhanced README.md by removing outdated universal shell protection instructions and emphasizing shell in\n[…]\ntion.\n- Improved session handling in the codebase, including workspace-specific session indexing and command tracking.\n- Added tests for session management and command execution to ensure reliability.",
"is_bot": false,
"headline": "Update documentation and improve session management",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-17T07:06:01Z",
"body_truncated": true,
"is_coding_agent": false
},
{
"oid": "7a5efc6577b2692bf546eb4452d1f8bc60b7f8d8",
"body": null,
"is_bot": false,
"headline": "Improve sandbox dependency installation checks",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T14:30:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a14314682406def0ce0138cc443ca043ecb1e123",
"body": "- Updated README.md to clarify the purpose of Vectra Guard and its protective capabilities.\n- Added roadmap instructions to AGENTS.md, CLAUDE.md, CODEX.md, vectra-guard.md, copilot-instructions.md, VS Code instructions, and windsurf rules, detailing how to capture plans and progress with `vectra-guard roadmap` commands.",
"is_bot": false,
"headline": "Enhance documentation with roadmap features",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T11:26:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "32d8684d3daec9620bbbefc99624ee614fbe7775",
"body": null,
"is_bot": false,
"headline": "Release v0.1.1: fix sandbox deps install",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T11:07:39Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e8b6f8197a5bfb3201b238f4b3e37a449e39a14",
"body": null,
"is_bot": false,
"headline": "docs: add package audit usage",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T10:25:09Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "0416013ebd81de5619750739f78a081db5170c42",
"body": "- Introduced new commands for auditing npm and python packages using `vectra-guard audit npm` and `vectra-guard audit python`.\n- Implemented auto-installation of required tools if missing, with an option to disable this feature.\n- Added tests for parsing audit outputs and logging results.\n- Updated documentation in GETTING_STARTED.md and README.md to include usage instructions for the new audit commands.\n- Enhanced help output to provide details on the new auditing capabilities.",
"is_bot": false,
"headline": "Add package auditing functionality for npm and python",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T10:22:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f015a6f9c46ad84990dc0e1e819e1de911163ae1",
"body": "- Deleted agent guidance documentation from AGENTS.md, CLAUDE.md, CODEX.md, vectra-guard.md, copilot-instructions.md, VS Code instructions, and windsurf rules.\n- This cleanup eliminates redundancy and streamlines the documentation for Vectra Guard's usage.",
"is_bot": false,
"headline": "Remove outdated agent instructions from multiple files",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:42:53Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f252e16e084a734162f92cebd2dc5cf6e66d1601",
"body": "- Removed redundant instructions and clarified the agentic usage section for Cursor/IDE in GETTING_STARTED.md.\n- Updated README.md to streamline the description of Vectra Guard's capabilities and enhance the agentic usage instructions.",
"is_bot": false,
"headline": "Refine agentic usage documentation in GETTING_STARTED.md and README.md",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:38:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "a1ada20e540d02b3fb5ac356b546aae61889ff2d",
"body": "…/IDE\n\n- Added a new section in GETTING_STARTED.md detailing the command for seeding agent instructions into the current repository.\n- Updated README.md to reflect the agentic usage right after installation, enhancing clarity for users.",
"is_bot": false,
"headline": "Update documentation to include agentic usage instructions for Cursor…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:29:37Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "12840bec36a26c5988bff88736dd0bac4669d89a",
"body": "- Added optional instructions for seeding Cursor/IDE agent files directly into the repository.\n- Updated README.md to clarify agent seeding commands for various environments, including a recommended CLI approach.",
"is_bot": false,
"headline": "Enhance documentation for agent seeding instructions",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:24:47Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4d334e2b8c946b4301bbe57fb809f7fc4b77611f",
"body": null,
"is_bot": false,
"headline": "Stabilize GitHub release test",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:20:06Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "3755eba6033d48d0f0de80acccd4b6de2a3f7c4d",
"body": null,
"is_bot": false,
"headline": "Fix false positives in release test",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:09:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "56cad53fa4dd0b8d1641542097ac07f2c735f979",
"body": null,
"is_bot": false,
"headline": "Add CLI seeding for agent instructions",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T09:02:00Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "f4422175618248ea72582ea6d8b1cd7607d361c6",
"body": "…E.md\n\n- Introduced a new YAML example demonstrating sandbox configuration with caching enabled.\n- Added corresponding bash commands to illustrate the caching benefits during npm installations.",
"is_bot": false,
"headline": "Add example configuration for cache-optimized secure sandbox in READM…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T08:53:48Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ff3b2aa52673dc85aea2f50ac91535b4cc19b1da",
"body": null,
"is_bot": false,
"headline": "Update v0.1.0 release notes",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T08:31:50Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "2921adc4a06829155fa86cfcbbc22cbe539b77a9",
"body": "- Introduced a new command `vectra-guard sandbox deps install` for installing sandbox dependencies (Docker/Podman + bubblewrap).\n- Updated README.md and SANDBOX.md to include installation instructions and usage examples for the new command.\n- Enhanced help output for the `sandbox` command to provide detailed usage information.\n- Refactored the install-sandbox-deps.sh script to act as a wrapper for the new command, improving usability and integration with vectra-guard.",
"is_bot": false,
"headline": "Add sandbox dependency installation command and update documentation",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T08:24:38Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "69db64ec3fd8af5434a812b036237737a14a3e00",
"body": "- Added checks to detect non-interactive sessions and disable cask binary linking to prevent sudo prompts.\n- Improved user feedback with informative messages regarding the installation process in non-interactive environments.",
"is_bot": false,
"headline": "Enhance non-interactive session handling in install script",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T08:12:16Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "080dc33c9fbf9f148427936cee0b1f1c62c5cdeb",
"body": "- Refactored the installation process to include a retry mechanism for handling hub-tool conflicts.\n- Introduced a function for installing Docker Desktop, enhancing code readability and maintainability.\n- Improved user feedback during installation, allowing for a more graceful handling of existing hub-tool binaries based on user input.",
"is_bot": false,
"headline": "Improve Docker Desktop installation logic in install script",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T08:08:08Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "22ab707797b8cbfcd53d0c067bce6aa8d9579bcb",
"body": "- Moved hub-tool conflict logic into a separate function for better readability and maintainability.\n- Improved user prompts and error handling during Docker Desktop installation to provide clearer instructions and options.\n- Ensured that the installation process can gracefully handle existing hub-tool binaries based on user input.",
"is_bot": false,
"headline": "Refactor hub-tool conflict handling in install script",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T08:04:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "c8def16e296dd37d0b30b916dfe59d82434f5ced",
"body": null,
"is_bot": false,
"headline": "Add --force option to deps installer",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T06:56:26Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ac2ead101d29d8867ad176915ee89c7c3bb4e2f0",
"body": null,
"is_bot": false,
"headline": "Add VG_FORCE prompt for Docker conflict",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T06:53:34Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4af5d6eb43fc58ed96fdd5c6d5d3d39109317227",
"body": null,
"is_bot": false,
"headline": "Handle Docker Desktop hub-tool conflict",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T06:48:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "bc2f5e706688ac49a2e6faaddc482ce1e5203e9b",
"body": null,
"is_bot": false,
"headline": "Switch installers to release artifacts",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T06:41:28Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "914938e48f00c369f9739ac560a20c68e9c31332",
"body": "…requisites\n\n- Added supported platforms (macOS and Debian Linux) to the GETTING_STARTED.md and README.md files.\n- Clarified prerequisites for installation, specifying the need for `git` and `go`.\n- Updated installation instructions to indicate that the tool builds from the main branch instead of downloading binaries.\n- Removed references to Windows support in various documentation sections.",
"is_bot": false,
"headline": "Update documentation to reflect platform support and installation pre…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T06:30:22Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "ad351ae6052565d85c075bd183551d9bc1f87601",
"body": "… script\n\n- Updated the installation script to support an optional INSTALL_DIR environment variable for testing purposes, defaulting to /usr/local/bin if not set.\n- Enhanced flexibility in the installation process to accommodate different environments.",
"is_bot": false,
"headline": "Allow overriding installation directory in the Vectra Guard installer…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T05:18:59Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "563e5055243ebab156c0626a2f118e5decf63f15",
"body": "- Updated the installation process to always build from the main branch instead of downloading a pre-built binary.\n- Added checks for Go installation and provided instructions for building from source if Go is not installed.\n- Enhanced error handling during the cloning and building process to improve user feedback and troubleshooting.\n- Created a temporary directory for building the binary, ensuring a cleaner installation process.",
"is_bot": false,
"headline": "Refactor installation script to build Vectra Guard from source",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T05:09:21Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0d29bff221b51235ff3984a75c7a951e1d05e9d",
"body": "…ks for protected directories\n\n- Updated validation logic to block commands attempting to access or delete protected directories by adding \"PROTECTED_DIRECTORY\" to the checks.\n- Ensured critical command detection includes new patterns for enhanced security during command execution.",
"is_bot": false,
"headline": "Enhance command validation in shell protection script to include chec…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T05:01:23Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "e7deddbe796018bbce21a340d8350e2a2b285fee",
"body": "…ution\n\n- Introduced a new critical code, \"PROTECTED_DIRECTORY_ACCESS\", to block commands that attempt to access or delete protected directories.\n- Updated the command validation logic to enhance safety during execution by preventing potentially dangerous operations on critical system directories.",
"is_bot": false,
"headline": "Add protection against accessing critical directories in command exec…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T04:58:05Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "d0ba3fe24cdd17ea378a9d30b11f19249cc71ae2",
"body": "…ility\n\n- Updated the command lowercase conversion logic to check the Bash version before applying syntax specific to Bash 4.0 and above.\n- Ensured compatibility with older Bash versions by using `tr` for lowercase conversion when necessary, enhancing the robustness of the script.",
"is_bot": false,
"headline": "Refactor lowercase conversion in shell protection script for compatib…",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T04:47:14Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "8476912f9d05b7d63587b3632d824241e03cb608",
"body": "- Implemented a new validation mechanism to block critical commands (e.g., dangerous deletions) regardless of guard level settings.\n- Updated command analysis to prioritize detection of critical risks before executing any commands.\n- Enhanced test coverage for home directory deletion patterns to ensure proper detection of dangerous commands.\n- Improved shell protection script to handle command validation more robustly, ensuring safety during execution.",
"is_bot": false,
"headline": "Enhance command execution safety by enforcing critical command checks",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-16T04:39:25Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "fff6b0c9fc73665e62378f933ccb3a99962fbd05",
"body": "- Added checks to detect multiple system directories in commands, enhancing protection against dangerous deletions.\n- Updated read commands to handle non-interactive modes more gracefully, ensuring default values are set when user input is not provided.\n- Improved comments for clarity on command patterns and their intended protections.",
"is_bot": false,
"headline": "Enhance shell protection script with improved command validation",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-14T20:54:01Z",
"body_truncated": false,
"is_coding_agent": false
},
{
"oid": "4e04d69b1ae2a012f1fc4d16e4bc8363c14a17f4",
"body": "- Added checks to ensure Vectra Guard commands are only executed in the appropriate shell (bash or zsh).\n- Updated hook registration to prevent errors when sourcing in the wrong shell environment.\n- Improved overall robustness of the integration by adding shell version checks.",
"is_bot": false,
"headline": "Enhance Vectra Guard integration in shell scripts",
"author_name": "xadnavyaai",
"author_login": "xadnavyaai",
"committed_at": "2026-01-14T20:35:11Z",
"body_truncated": false,
"is_coding_agent": false
}
],
"releases_count": 10,
"commits_last_year": 183,
"latest_release_at": "2026-07-18T11:06:52Z",
"latest_release_tag": "v0.7.1",
"releases_from_tags": false,
"days_since_last_push": 6,
"active_weeks_last_year": 10,
"days_since_latest_release": 6,
"mean_days_between_releases": 20.3
},
"community": {
"has_readme": true,
"has_license": true,
"has_description": true,
"has_contributing": false,
"health_percentage": 57,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"ecosystem": {
"packages": []
},
"popularity": {
"forks": 2,
"stars": 86,
"watchers": 5,
"fork_history": {
"days": [
{
"date": "2026-03-04",
"count": 1
},
{
"date": "2026-03-19",
"count": 1
}
],
"complete": true,
"collected": 2,
"total_forks": 2
},
"star_history": null,
"open_issues_and_prs": 0
},
"ai_readiness": {
"has_nix": false,
"example_dirs": [],
"has_llms_txt": false,
"has_dockerfile": true,
"has_mcp_signal": false,
"bootstrap_files": [
"Makefile"
],
"api_schema_files": [],
"has_devcontainer": false,
"typecheck_configs": [],
"toolchain_manifests": [
"go.mod"
],
"largest_source_bytes": 39044,
"source_files_sampled": 150,
"oversized_source_files": 0,
"agent_instruction_files": [
"CLAUDE.md",
"internal/seed/templates/.openclaw/AGENTS.md",
"internal/seed/templates/AGENTS.md",
"internal/seed/templates/CLAUDE.md"
],
"agent_instruction_max_bytes": 5180
},
"dependencies": {
"manifests": [
"go.mod"
],
"advisories": {
"error": null,
"scope": null,
"source": null,
"findings": [],
"collected": false,
"malicious": [],
"truncated": false,
"by_severity": {},
"advisory_count": 0,
"affected_count": 0,
"assessed_count": 0,
"malicious_count": 0,
"assessed_package": null,
"unassessed_count": 0,
"direct_affected_count": 0
},
"ecosystems": [
"go"
],
"dependencies": [
{
"name": "golang.org/x/mod",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.20.0"
},
{
"name": "golang.org/x/sys",
"manifest": "go.mod",
"ecosystem": "go",
"version_constraint": "v0.39.0"
}
],
"all_dependencies": {
"error": "GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository",
"source": null,
"packages": [],
"collected": false,
"truncated": false,
"total_count": null,
"direct_count": null,
"indirect_count": null
}
},
"maintainership": {
"issues": {
"open_prs": 0,
"merged_prs": 16,
"open_issues": 0,
"closed_ratio": 1,
"closed_issues": 2,
"closed_unmerged_prs": 0
},
"bus_factor": 1,
"bot_contributors": 0,
"top_contributors": [
{
"type": "User",
"login": "xadnavyaai",
"commits": 182,
"avatar_url": "https://avatars.githubusercontent.com/u/166740392?v=4"
},
{
"type": "User",
"login": "vikasflc",
"commits": 1,
"avatar_url": "https://avatars.githubusercontent.com/u/114921538?v=4"
}
],
"contributors_sampled": 2,
"top_contributor_share": 0.995
},
"quality_signals": {
"has_ci": true,
"has_tests": true,
"ci_workflows": [
"ci.yml",
"pr-quick-check.yml",
"release.yml"
],
"has_docs_dir": true,
"linter_configs": [],
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"security_signals": {
"lockfiles": [
"go.sum"
],
"scorecard": {
"checks": [
{
"name": "Binary-Artifacts",
"score": 10,
"reason": "no binaries found in the repo",
"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": 10,
"reason": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#ci-tests"
},
{
"name": "CII-Best-Practices",
"score": 0,
"reason": "no effort to earn an OpenSSF best practices badge detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#cii-best-practices"
},
{
"name": "Code-Review",
"score": 0,
"reason": "Found 0/22 approved changesets -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#code-review"
},
{
"name": "Contributors",
"score": 0,
"reason": "project has 0 contributing companies or organizations -- score normalized to 0",
"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": 0,
"reason": "no update tool detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#dependency-update-tool"
},
{
"name": "Fuzzing",
"score": 0,
"reason": "project is not fuzzed",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#fuzzing"
},
{
"name": "License",
"score": 10,
"reason": "license file detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#license"
},
{
"name": "Maintained",
"score": 5,
"reason": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#maintained"
},
{
"name": "Packaging",
"score": null,
"reason": "packaging workflow not detected",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#packaging"
},
{
"name": "Pinned-Dependencies",
"score": 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": 0,
"reason": "SAST tool is not run on all commits -- score normalized to 0",
"documentation_url": "https://github.com/ossf/scorecard/blob/c395761df6afe1a69e476bc60a013a94bcbc153f/docs/checks.md#sast"
},
{
"name": "Security-Policy",
"score": 4,
"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": "e9ae8aa6407b71313deb04f99dc9bc32831f00a0",
"ran_at": "2026-07-24T12:47:45Z",
"aggregate_score": 3.8,
"scorecard_version": "v5.5.0"
},
"has_codeql_workflow": false,
"has_security_policy": true,
"has_dependabot_config": false
},
"contribution_flow": {
"collected": true,
"ci_last_run_at": "2026-07-18T11:07:05Z",
"oldest_open_prs": [],
"last_merged_pr_at": "2026-02-27T19:56:26Z",
"ci_last_conclusion": "SUCCESS",
"oldest_open_issues": []
}
},
"config": {
"disabled_metrics": [],
"disabled_categories": [],
"disabled_components": {}
},
"source": {
"url": "https://github.com/xadnavyaai/vectraguard",
"host": "github.com",
"name": "vectraguard",
"owner": "xadnavyaai"
},
"metrics": {
"overall": {
"key": "overall",
"band": "moderate",
"name": "Overall health",
"note": null,
"notes": [],
"value": 54,
"inputs": {
"security": 38,
"vitality": 76,
"community": 42,
"governance": 41,
"engineering": 67
},
"components": []
},
"categories": [
{
"key": "vitality",
"band": "good",
"name": "Vitality",
"value": 76,
"weight": 0.22,
"metrics": [
{
"key": "development_activity",
"band": "moderate",
"name": "Development activity",
"note": null,
"notes": [],
"value": 66,
"inputs": {
"commits_last_year": 183,
"human_commit_share": 1,
"days_since_last_push": 6,
"active_weeks_last_year": 10
},
"components": [
{
"key": "push_recency",
"name": "Push recency",
"detail": "last push 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "push_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "commit_cadence",
"name": "Commit cadence",
"detail": "10/52 weeks with commits",
"points": 6.9,
"status": "partial",
"details": [
{
"code": "commit_cadence_weeks",
"params": {
"weeks": 10
}
}
],
"max_points": 36
},
{
"key": "commit_volume",
"name": "Commit volume",
"detail": "183 commits in the last year",
"points": 18,
"status": "met",
"details": [
{
"code": "commits_last_year",
"params": {
"count": 183
}
}
],
"max_points": 18
},
{
"key": "openssf_scorecard_maintained",
"name": "OpenSSF Scorecard: Maintained",
"detail": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 5,
"status": "partial",
"details": [],
"max_points": 10
}
]
},
{
"key": "release_discipline",
"band": "excellent",
"name": "Release discipline",
"note": null,
"notes": [],
"value": 90,
"inputs": {
"releases_count": 10,
"latest_release_tag": "v0.7.1",
"releases_from_tags": false,
"days_since_latest_release": 6,
"mean_days_between_releases": 20.3
},
"components": [
{
"key": "ships_releases",
"name": "Ships releases",
"detail": "10 releases published",
"points": 27,
"status": "met",
"details": [
{
"code": "releases_published",
"params": {
"count": 10
}
}
],
"max_points": 27
},
{
"key": "release_recency",
"name": "Release recency",
"detail": "latest release 6 days ago",
"points": 36,
"status": "met",
"details": [
{
"code": "release_recency",
"params": {
"days": 6
}
}
],
"max_points": 36
},
{
"key": "release_cadence",
"name": "Release cadence",
"detail": "a release every ~20.3 days",
"points": 27,
"status": "met",
"details": [
{
"code": "release_cadence",
"params": {
"gap": 20.3
}
}
],
"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": "excellent",
"name": "Abandonment",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"cap": null,
"state": "maintained",
"guards": [],
"signals": [],
"red_flag": false,
"multiplier_pct": 100,
"declared_reason": null,
"unverified_reason": null,
"unanswered_open_prs": null,
"unanswered_open_issues": null,
"days_since_last_merged_pr": null,
"days_since_last_human_commit": 6,
"days_since_last_human_commit_is_floor": false
},
"components": [
{
"key": "project_is_still_maintained",
"name": "Project is still maintained",
"detail": "last human commit 6 days ago",
"points": 100,
"status": "met",
"details": [
{
"code": "abandonment_maintained",
"params": {
"days": 6
}
}
],
"max_points": 100
}
]
}
],
"description": "Is the project alive — is code being written and are releases shipping?"
},
{
"key": "community",
"band": "at_risk",
"name": "Community & Adoption",
"value": 42,
"weight": 0.18,
"metrics": [
{
"key": "popularity",
"band": "at_risk",
"name": "Popularity & adoption",
"note": null,
"notes": [],
"value": 35,
"inputs": {
"forks": 2,
"stars": 86,
"watchers": 5,
"growth_state": "unverified",
"growth_factor_pct": 100,
"growth_unverified_reason": "no_history"
},
"components": [
{
"key": "stars",
"name": "Stars",
"detail": "86 stars",
"points": 31.3,
"status": "partial",
"details": [
{
"code": "stars",
"params": {
"count": 86
}
}
],
"max_points": 60
},
{
"key": "forks",
"name": "Forks",
"detail": "2 forks",
"points": 0,
"status": "missed",
"details": [
{
"code": "forks",
"params": {
"count": 2
}
}
],
"max_points": 25
},
{
"key": "watchers",
"name": "Watchers",
"detail": "5 watchers",
"points": 3.3,
"status": "partial",
"details": [
{
"code": "watchers",
"params": {
"count": 5
}
}
],
"max_points": 15
}
]
},
{
"key": "community_health",
"band": "moderate",
"name": "Community health",
"note": null,
"notes": [],
"value": 50,
"inputs": {
"has_readme": true,
"has_license": true,
"has_contributing": false,
"has_issue_template": false,
"has_code_of_conduct": false,
"has_pull_request_template": false
},
"components": [
{
"key": "readme",
"name": "README",
"detail": null,
"points": 22.5,
"status": "met",
"details": [],
"max_points": 22.5
},
{
"key": "license",
"name": "License",
"detail": "recognized license (Apache-2.0)",
"points": 22.5,
"status": "met",
"details": [
{
"code": "license_standard",
"params": {}
},
{
"code": "license_spdx",
"params": {
"spdx": "Apache-2.0"
}
}
],
"max_points": 22.5
},
{
"key": "contributing_guide",
"name": "CONTRIBUTING guide",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 18
},
{
"key": "code_of_conduct",
"name": "Code of conduct",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 13.5
},
{
"key": "issue_template",
"name": "Issue template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.2
},
{
"key": "pr_template",
"name": "PR template",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 6.3
}
]
}
],
"description": "Does the project have users, downloads, attention, and a welcoming setup for contributors?"
},
{
"key": "governance",
"band": "at_risk",
"name": "Sustainability & Governance",
"value": 41,
"weight": 0.24,
"metrics": [
{
"key": "maintainer_resilience",
"band": "critical",
"name": "Maintainer resilience (bus factor)",
"note": null,
"notes": [],
"value": 12,
"inputs": {
"bus_factor": 1,
"contributors_sampled": 2,
"top_contributor_share": 0.995
},
"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 100% of commits",
"points": 0.1,
"status": "partial",
"details": [
{
"code": "top_contributor_share",
"params": {
"share": 100
}
}
],
"max_points": 22.5
},
{
"key": "contributor_breadth",
"name": "Contributor breadth",
"detail": "2 contributors",
"points": 2.7,
"status": "partial",
"details": [
{
"code": "contributors_sampled",
"params": {
"count": 2
}
}
],
"max_points": 13.5
},
{
"key": "openssf_scorecard_contributors",
"name": "OpenSSF Scorecard: Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "responsiveness",
"band": "excellent",
"name": "Issue & PR responsiveness",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"merged_prs": 16,
"open_issues": 0,
"closed_issues": 2,
"issue_closed_ratio": 1,
"closed_unmerged_prs": 0
},
"components": [
{
"key": "issue_resolution",
"name": "Issue resolution",
"detail": "100% of issues closed",
"points": 46.8,
"status": "met",
"details": [
{
"code": "issues_closed_share",
"params": {
"share": 100
}
}
],
"max_points": 46.75
},
{
"key": "pr_acceptance",
"name": "PR acceptance",
"detail": "16/16 decided PRs merged",
"points": 38.2,
"status": "met",
"details": [
{
"code": "decided_prs_merged",
"params": {
"merged": 16,
"decided": 16
}
}
],
"max_points": 38.25
},
{
"key": "openssf_scorecard_code_review",
"name": "OpenSSF Scorecard: Code-Review",
"detail": "Found 0/22 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
}
]
},
{
"key": "stewardship",
"band": "at_risk",
"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": 33,
"inputs": {
"followers": 4,
"owner_type": "User",
"is_verified": null,
"owner_login": "xadnavyaai",
"public_repos": 8,
"account_age_days": 833
},
"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": "4 followers of xadnavyaai",
"points": 5,
"status": "partial",
"details": [
{
"code": "owner_followers",
"params": {
"count": 4,
"login": "xadnavyaai"
}
}
],
"max_points": 25
},
{
"key": "track_record",
"name": "Track record",
"detail": "8 public repos, account ~2 yr old",
"points": 11.5,
"status": "partial",
"details": [
{
"code": "public_repos",
"params": {
"count": 8
}
},
{
"code": "account_age_years",
"params": {
"years": 2
}
}
],
"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": 67,
"weight": 0.2,
"metrics": [
{
"key": "engineering_practices",
"band": "moderate",
"name": "Engineering practices",
"note": null,
"notes": [],
"value": 68,
"inputs": {
"has_ci": true,
"has_tests": true,
"has_editorconfig": false,
"has_linter_config": false,
"has_precommit_config": false
},
"components": [
{
"key": "ci_workflows",
"name": "CI workflows",
"detail": "3 workflow(s)",
"points": 24,
"status": "met",
"details": [
{
"code": "ci_workflows",
"params": {
"count": 3
}
}
],
"max_points": 24
},
{
"key": "tests_present",
"name": "Tests present",
"detail": null,
"points": 24,
"status": "met",
"details": [],
"max_points": 24
},
{
"key": "linter_config",
"name": "Linter config",
"detail": 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": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"points": 20,
"status": "met",
"details": [],
"max_points": 20
}
]
},
{
"key": "documentation",
"band": "moderate",
"name": "Documentation",
"note": null,
"notes": [],
"value": 65,
"inputs": {
"topics": [],
"has_wiki": false,
"homepage": null,
"has_readme": true,
"has_docs_dir": true,
"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": 25,
"status": "met",
"details": [],
"max_points": 25
},
{
"key": "documentation_homepage_site",
"name": "Documentation / homepage site",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 15
},
{
"key": "repository_description",
"name": "Repository description",
"detail": null,
"points": 10,
"status": "met",
"details": [],
"max_points": 10
},
{
"key": "topics",
"name": "Topics",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
},
{
"key": "wiki",
"name": "Wiki",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
}
],
"description": "Are baseline engineering and documentation practices in place?"
},
{
"key": "security",
"band": "at_risk",
"name": "Security",
"value": 38,
"weight": 0.16,
"metrics": [
{
"key": "security_posture",
"band": "at_risk",
"name": "Security posture",
"note": "Excluded from scoring (no data or not applicable): Branch-Protection, Packaging. Remaining weights renormalized.",
"notes": [
{
"code": "excluded_no_data",
"params": {
"components": [
"branch_protection",
"packaging"
]
}
},
{
"code": "weights_renormalized",
"params": {}
}
],
"value": 38,
"inputs": {
"source": "openssf_scorecard",
"checks_evaluated": 16,
"scorecard_version": "v5.5.0",
"checks_inconclusive": 2,
"scorecard_aggregate": 3.8
},
"components": [
{
"key": "binary_artifacts",
"name": "Binary-Artifacts",
"detail": "no binaries found in the repo",
"points": 7.5,
"status": "met",
"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": "2 out of 2 merged PRs checked by a CI test -- score normalized to 10",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "cii_best_practices",
"name": "CII-Best-Practices",
"detail": "no effort to earn an OpenSSF best practices badge detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 2.5
},
{
"key": "code_review",
"name": "Code-Review",
"detail": "Found 0/22 approved changesets -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "contributors",
"name": "Contributors",
"detail": "project has 0 contributing companies or organizations -- score normalized to 0",
"points": 0,
"status": "missed",
"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": "no update tool detected",
"points": 0,
"status": "missed",
"details": [],
"max_points": 7.5
},
{
"key": "fuzzing",
"name": "Fuzzing",
"detail": "project is not fuzzed",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "license",
"name": "License",
"detail": "license file detected",
"points": 2.5,
"status": "met",
"details": [],
"max_points": 2.5
},
{
"key": "maintained",
"name": "Maintained",
"detail": "6 commit(s) and 0 issue activity found in the last 90 days -- score normalized to 5",
"points": 3.8,
"status": "partial",
"details": [],
"max_points": 7.5
},
{
"key": "packaging",
"name": "Packaging",
"detail": "packaging workflow not detected",
"points": 0,
"status": "excluded",
"details": [
{
"code": "no_data",
"params": {}
}
],
"max_points": 5
},
{
"key": "pinned_dependencies",
"name": "Pinned-Dependencies",
"detail": "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 not run on all commits -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 5
},
{
"key": "security_policy",
"name": "Security-Policy",
"detail": "security policy file detected",
"points": 2,
"status": "partial",
"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
}
]
}
],
"description": "Are visible security and supply-chain practices strong, with no malicious dependency and no unresolved high-risk jurisdiction exposure?"
},
{
"key": "ai_readiness",
"band": "good",
"name": "AI Readiness",
"value": 81,
"weight": 0,
"metrics": [
{
"key": "ai_agent_context",
"band": "excellent",
"name": "Agent context & guidance",
"note": null,
"notes": [],
"value": 85,
"inputs": {
"has_llms_txt": false,
"legible_history_share": 0.81,
"agent_instruction_files": [
"CLAUDE.md",
"internal/seed/templates/.openclaw/AGENTS.md",
"internal/seed/templates/AGENTS.md",
"internal/seed/templates/CLAUDE.md"
],
"agent_instruction_max_bytes": 5180
},
"components": [
{
"key": "agent_instructions",
"name": "Agent instructions",
"detail": "CLAUDE.md, internal/seed/templates/.openclaw/AGENTS.md, internal/seed/templates/AGENTS.md, internal/seed/templates/CLAUDE.md",
"points": 45,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "CLAUDE.md, internal/seed/templates/.openclaw/AGENTS.md, internal/seed/templates/AGENTS.md, internal/seed/templates/CLAUDE.md"
}
}
],
"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": "81 of 100 human commits state their intent (structured subject or explanatory body)",
"points": 40,
"status": "met",
"details": [
{
"code": "legible_history",
"params": {
"legible": 81,
"sampled": 100
}
}
],
"max_points": 40
}
]
},
{
"key": "ai_verify_loop",
"band": "good",
"name": "Verify loop (build / test / typecheck)",
"note": null,
"notes": [],
"value": 71,
"inputs": {
"has_nix": false,
"has_tests": true,
"lockfiles": [
"go.sum"
],
"has_dockerfile": true,
"typed_language": true,
"bootstrap_files": [
"Makefile"
],
"has_devcontainer": false,
"has_linter_config": false,
"typecheck_configs": [],
"agent_commit_share": 0.17,
"toolchain_manifests": [
"go.mod"
],
"dependency_bot_commit_share": 0
},
"components": [
{
"key": "one_command_bootstrap",
"name": "One-command bootstrap",
"detail": "Makefile",
"points": 18,
"status": "met",
"details": [
{
"code": "file_list",
"params": {
"files": "Makefile"
}
}
],
"max_points": 18
},
{
"key": "automated_tests",
"name": "Automated tests",
"detail": null,
"points": 22,
"status": "met",
"details": [],
"max_points": 22
},
{
"key": "lint_format_config",
"name": "Lint / format config",
"detail": null,
"points": 0,
"status": "missed",
"details": [],
"max_points": 11
},
{
"key": "static_type_checking",
"name": "Static type checking",
"detail": "Go (statically typed)",
"points": 11,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"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": "17 of the last 100 commits agent-authored or agent-credited",
"points": 10,
"status": "met",
"details": [
{
"code": "agent_authored_commits",
"params": {
"count": 17,
"sampled": 100
}
}
],
"max_points": 10
},
{
"key": "automated_maintenance",
"name": "Automated maintenance",
"detail": "no automated dependency updates observed",
"points": 0,
"status": "missed",
"details": [
{
"code": "no_dependency_automation",
"params": {}
}
],
"max_points": 8
},
{
"key": "openssf_scorecard_pinned_dependencies",
"name": "OpenSSF Scorecard: Pinned-Dependencies",
"detail": "dependency not pinned by hash detected -- score normalized to 0",
"points": 0,
"status": "missed",
"details": [],
"max_points": 10
}
]
},
{
"key": "ai_code_legibility",
"band": "excellent",
"name": "Code legibility for models",
"note": null,
"notes": [],
"value": 100,
"inputs": {
"primary_language": "Go",
"largest_source_bytes": 39044,
"source_files_sampled": 150,
"oversized_source_files": 0
},
"components": [
{
"key": "type_checkable_code",
"name": "Type-checkable code",
"detail": "Go (statically typed)",
"points": 45,
"status": "met",
"details": [
{
"code": "statically_typed_language",
"params": {
"language": "Go"
}
}
],
"max_points": 45
},
{
"key": "manageable_file_sizes",
"name": "Manageable file sizes",
"detail": "0/150 source files over 60KB",
"points": 55,
"status": "met",
"details": [
{
"code": "oversized_source_files",
"params": {
"kb": 60,
"sampled": 150,
"oversized": 0
}
}
],
"max_points": 55
}
]
}
],
"description": "How well is the repo equipped to be developed and maintained with AI coding agents? An independent, experimental badge — weight 0.0, so it is surfaced on its own and does not affect the overall health score."
}
],
"metrics_version": "1.13.0"
},
"warnings": [
"Star history unavailable: GitHub GraphQL error: Resource not accessible by personal access token",
"Could not fetch go package 'github.com/vectra-guard/vectra-guard' from its registry",
"GitHub dependency-graph SBOM unavailable (404); the dependency graph may be disabled for this repository"
],
"report_type": "repository",
"generated_at": "2026-07-24T12:47:53.556665Z",
"schema_version": "0.27.0",
"badge_url": "https://raw.githubusercontent.com/inspect-software/badges/main/v1/x/xadnavyaai/vectraguard.svg",
"full_name": "xadnavyaai/vectraguard",
"license_state": "standard",
"license_spdx": "Apache-2.0"
}