RepoTrust

RAIT-09/obsidian-agent-client

Bring AI agents into Obsidian via Agent Client Protocol (ACP), such as Claude Code, Codex and Gemini CLI.

https://github.com/RAIT-09/obsidian-agent-client · commit 3d069c916365 · scored 2026-11-14 · scoring prov-4+qual-2+sec-2

RepoTrust ai badge RepoTrust quality badge RepoTrust security badge

Dispute this score or request a re-score Full report JSON

Scores

Pillar Score Signal Confidence Coverage
AI provenance (estimated AI-generated share) 2 explicit 95% 100%
Code quality 72 adequate 90% 100%
Security 53 weak 85% 100%

AI provenance

Explicit AI attribution on 1% of first-party code added; an estimated 1% including velocity signals.

AI tool Attributed commits Lines added
GitHub Copilot coding agent 16 282
Claude Code 11 580
OpenAI Codex 1 190

Current source lines last changed by AI-attributed commits: 132 of 27,032.

Too few lines in one group to compare finding densities.

Month Lines added Attributed to AI
2025-10 8,362 0%
2025-11 5,729 0%
2025-12 2,363 13%
2026-01 11,234 3%
2026-02 4,176 1%
2026-03 14,575 0%
2026-04 2,571 14%
2026-05 4,499 0%
2026-06 3,179 0%
2026-07 4,347 0%
2026-08 2,457 0%
2026-09 244 0%

Evidence

AI provenance describes how code was produced; it is not a quality judgment. Unless attribution is explicit, these are signals consistent with AI generation, not proof. Squash/rebase workflows, imported code, and rewritten history reduce accuracy.

Code quality

Code quality is adequate: test-to-source ratio 0.12, CI runs tests; 16% of function code in complex or long functions; 4% duplicated lines. Weakest area: type safety.

Area Score
Complexity (lizard) 63
Duplication 76
Code smells (Opengrep) 94
Tests and CI 68
Documentation 80
Type safety 40
Process (Scorecard review/maintenance) n/a

Most complex functions:

Security

Security posture is weak: 61 known vulnerabilities in 20 dependencies; 3 high-severity SAST findings; 12 high-severity workflow issues. Weakest area: posture.

Area Score
Secrets (gitleaks, tree + history) 100
Static analysis (Opengrep) 93
Vulnerable dependencies (OSV) 14
CI workflows (zizmor) 11
Posture (policy, updates, signing, lockfiles) 0
OpenSSF Scorecard n/a

Top findings

Severity Finding Location
high opengrep/javascript.lang.security.audit.spawn-shell-true: Found '$SPAWN' with '{shell: needsShell}'. This is dangerous because this call will spawn the command using a shell process. Doing so propagates current shell settings and variables, which makes it much easier for a malicious actor to execute commands. Use '{shell: false}' instead. [confidence low] src/acp/acp-client.ts:256
high opengrep/javascript.lang.security.detect-child-process: Detected calls to child_process from a function argument config. This could lead to a command injection if the input is user controllable. Try to avoid calls to child_process, and if it is needed ensure user input is correctly sanitized or sandboxed. [confidence low] src/acp/acp-client.ts:256
high opengrep/javascript.lang.security.detect-child-process: Detected calls to child_process from a function argument params. This could lead to a command injection if the input is user controllable. Try to avoid calls to child_process, and if it is needed ensure user input is correctly sanitized or sandboxed. [confidence low] src/acp/terminal-handler.ts:124
high osv/GHSA-g2v6-rqmx-r4w6: @vue/[email protected] (npm) is affected by GHSA-g2v6-rqmx-r4w6 package-lock.json
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 package-lock.json
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 package-lock.json
high osv/GHSA-3jxr-9vmj-r5cp: [email protected] (npm) is affected by GHSA-3jxr-9vmj-r5cp package-lock.json
high osv/GHSA-6j4f-fj2g-mc7p: [email protected] (npm) is affected by GHSA-6j4f-fj2g-mc7p package-lock.json
high osv/GHSA-mh99-v99m-4gvg: [email protected] (npm) is affected by GHSA-mh99-v99m-4gvg package-lock.json
high osv/GHSA-qhr7-859c-m2p7: [email protected] (npm) is affected by GHSA-qhr7-859c-m2p7 package-lock.json
high osv/GHSA-rgw5-rvv9-x895: [email protected] (npm) is affected by GHSA-rgw5-rvv9-x895 package-lock.json
high osv/GHSA-4c8g-83qw-93j6: [email protected] (npm) is affected by GHSA-4c8g-83qw-93j6 package-lock.json
high osv/GHSA-7p8r-x3mc-p8w7: [email protected] (npm) is affected by GHSA-7p8r-x3mc-p8w7 package-lock.json
high osv/GHSA-f65p-4m7j-42xc: [email protected] (npm) is affected by GHSA-f65p-4m7j-42xc package-lock.json
high osv/GHSA-fph4-wmhf-6fwf: [email protected] (npm) is affected by GHSA-fph4-wmhf-6fwf package-lock.json
high osv/GHSA-jqff-g426-hqxp: [email protected] (npm) is affected by GHSA-jqff-g426-hqxp package-lock.json
high osv/GHSA-qw65-cvwx-89v3: [email protected] (npm) is affected by GHSA-qw65-cvwx-89v3 package-lock.json

Static signals only: the scorer never runs the project's code. Secret findings are pattern matches that were not verified, and secret values are never stored.

Repository profile

Language Lines
TypeScript 30,043
JavaScript 95
Shell 49

Embed a badge

Maintainers can show these in a README. Badges update when the repository is re-scored.

[![RepoTrust ai](https://repotrust.synapticcyber.com/badge/github.com/RAIT-09/obsidian-agent-client/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/RAIT-09/obsidian-agent-client/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/RAIT-09/obsidian-agent-client/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/RAIT-09/obsidian-agent-client/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/RAIT-09/obsidian-agent-client/security.svg)](https://repotrust.synapticcyber.com/r/github.com/RAIT-09/obsidian-agent-client/)