RepoTrust

cytostack/openwolf

Portable project memory across Claude Code, Codex and OpenCode, plus token accounting measured from harness transcripts. Local file I/O, no API calls, no telemetry.

https://github.com/cytostack/openwolf · commit 8568f41aa8a9 · 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) 25 explicit 95% 100%
Code quality 63 weak 90% 100%
Security 65 weak 85% 100%

AI provenance

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

AI tool Attributed commits Lines added
Claude Code 40 9,704

Current source lines last changed by AI-attributed commits: 6,462 of 26,940.

Findings per 1,000 lines AI-attributed Other Ratio
Quality 0.155 0.635 0.24x
Security 0.464 0.586 0.79x
Month Lines added Attributed to AI
2026-03 10,453 0%
2026-04 210 100%
2026-05 171 67%
2026-06 76 18%
2026-07 4,549 1%
2026-08 12,078 77%
2026-09 4,560 0%
2026-10 6,458 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 weak: test-to-source ratio 0.19, CI runs tests; 34% of function code in complex or long functions; 34% duplicated lines. Weakest area: duplication.

Area Score
Complexity (lizard) 36
Duplication 13
Code smells (Opengrep) 92
Tests and CI 75
Documentation 100
Type safety 100
Process (Scorecard review/maintenance) n/a

Most complex functions:

Security

Security posture is weak: 45 known vulnerabilities in 19 dependencies; 2 high-severity workflow issues. Weakest area: posture.

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

Top findings

Severity Finding Location
critical osv/GHSA-jqcg-44mw-7w3h: [email protected] (npm) is affected by GHSA-jqcg-44mw-7w3h pnpm-lock.yaml
high osv/GHSA-g2v6-rqmx-r4w6: @vue/[email protected] (npm) is affected by GHSA-g2v6-rqmx-r4w6 docs/package-lock.json
high osv/GHSA-28wg-ghj8-5hjv: [email protected] (npm) is affected by GHSA-28wg-ghj8-5hjv; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-2v37-7h3g-55p8: [email protected] (npm) is affected by GHSA-2v37-7h3g-55p8; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-xwg4-73v4-xw9w: [email protected] (npm) is affected by GHSA-xwg4-73v4-xw9w; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-6g55-p6wh-862q: [email protected] (npm) is affected by GHSA-6g55-p6wh-862q; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-r28c-9q8g-f849: [email protected] (npm) is affected by GHSA-r28c-9q8g-f849; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-68fv-2mgg-jv7q: [email protected] (npm) is affected by GHSA-68fv-2mgg-jv7q; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-587h-7wmj-h5pm: [email protected] (npm) is affected by GHSA-587h-7wmj-h5pm; also in pnpm-lock.yaml docs/package-lock.json
high osv/GHSA-g2v6-rqmx-r4w6: @vue/[email protected] (npm) is affected by GHSA-g2v6-rqmx-r4w6 pnpm-lock.yaml
high osv/GHSA-27r3-jxmh-p828: [email protected] (npm) is affected by GHSA-27r3-jxmh-p828 pnpm-lock.yaml
high osv/GHSA-73wf-gq98-2v4g: [email protected] (npm) is affected by GHSA-73wf-gq98-2v4g pnpm-lock.yaml
high osv/GHSA-c83g-rgw3-j3cx: [email protected] (npm) is affected by GHSA-c83g-rgw3-j3cx pnpm-lock.yaml
high osv/GHSA-r5fr-rjxr-66jc: [email protected] (npm) is affected by GHSA-r5fr-rjxr-66jc pnpm-lock.yaml
high osv/GHSA-c2c7-rcm5-vvqj: [email protected] (npm) is affected by GHSA-c2c7-rcm5-vvqj pnpm-lock.yaml
high osv/GHSA-4qx8-w7c3-pj3p: [email protected] (npm) is affected by GHSA-4qx8-w7c3-pj3p pnpm-lock.yaml
high osv/GHSA-9j65-hcg3-gc64: [email protected] (npm) is affected by GHSA-9j65-hcg3-gc64 pnpm-lock.yaml
high osv/GHSA-9qmh-m7c6-f92p: [email protected] (npm) is affected by GHSA-9qmh-m7c6-f92p pnpm-lock.yaml
high osv/GHSA-h895-cgqg-jf52: [email protected] (npm) is affected by GHSA-h895-cgqg-jf52 pnpm-lock.yaml
high osv/GHSA-587h-7wmj-h5pm: [email protected] (npm) is affected by GHSA-587h-7wmj-h5pm pnpm-lock.yaml
high osv/GHSA-p9ff-h696-f583: [email protected] (npm) is affected by GHSA-p9ff-h696-f583 pnpm-lock.yaml
high osv/GHSA-mrhx-c7xc-m3w5: [email protected] (npm) is affected by GHSA-mrhx-c7xc-m3w5 pnpm-lock.yaml
high zizmor/cache-poisoning: runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] .github/workflows/validate.yml:21
high zizmor/cache-poisoning: runtime artifacts potentially vulnerable to a cache poisoning attack [confidence low] .github/workflows/validate.yml:36
medium opengrep/javascript.lang.security.audit.detect-non-literal-regexp: RegExp() called with a body function argument, this might allow an attacker to cause a Regular Expression Denial-of-Service (ReDoS) within your application as RegExP blocks the main thread. For this reason, it is recommended to use hardcoded regexes instead. If your regex is run on user-controlled [confidence low] src/hooks/ignore-runtime.ts:150

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.

Distribution signals

Signals consistent with a repository that exists to distribute a download. They are heuristics, not a verdict; release files were not downloaded or inspected.

Repository profile

Language Lines
TypeScript 31,583
JavaScript 370
Vue 151
Python 69

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/cytostack/openwolf/ai.svg)](https://repotrust.synapticcyber.com/r/github.com/cytostack/openwolf/)
[![RepoTrust quality](https://repotrust.synapticcyber.com/badge/github.com/cytostack/openwolf/quality.svg)](https://repotrust.synapticcyber.com/r/github.com/cytostack/openwolf/)
[![RepoTrust security](https://repotrust.synapticcyber.com/badge/github.com/cytostack/openwolf/security.svg)](https://repotrust.synapticcyber.com/r/github.com/cytostack/openwolf/)