Methodology · v0.1.0 · Updated 2026-09-09

How every grade is computed.

AgentTrust grades come from 8 static rules, a permission manifest, and documentary provenance — nothing else. No ML, no black box, no hidden signals. Everything below is reproducible with one command.

The rule suite

Eight rules, two OWASP lists.

Each finding carries a rule ID, a CWE, a remediation, and file:line evidence. Capability checks evaluate de-stringed code, so string literals and prose never confer capabilities.

RuleWhat it detectsSeverityOWASP
AT-SEC-001Direct prompt concatenation (injection via template)CriticalLLM01
AT-SEC-002Hardcoded credential or API secretCriticalLLM02
AT-SEC-003Unbounded dynamic shell executionCriticalASI02
AT-SEC-004eval() / Function constructor invocationCriticalASI05
AT-SEC-005Unrestricted recursive file deletionHighASI02
AT-SEC-006Unfiltered SSRF / arbitrary network egressHighLLM06
AT-SEC-007Raw secret leakage in debug loggingMediumLLM02
AT-COMP-001Missing human-in-the-loop gate for critical actionsHighASI09

OWASP references: LLM Top 10 2025 (LLM01–LLM10) and Agentic Top 10 published 2025-12-09 (ASI01–ASI10).

Scoring

Five dimensions, fixed weights.

DimensionWeightWhat moves it
Security35%Critical −25, high −15, medium −8, low −3 per finding
Permissions25%Excessive −45, broad −25, moderate −10; shell, deletion, unapproved email subtract; enforced human approval adds
Provenance15%License, lockfile, security policy, changelog, signatures add documentary points
Reliability15%Reliability/compliance findings subtract; human gates add
Stability10%Lockfile and changelog presence

Grades: A 90+ · B 75+ · C 60+ · D 40+ · F below 40. Finding IDs are deterministic hashes, so repeat scans produce byte-stable SARIF.

Limits

What the scanner cannot see.

Static analysis only. No code executes, no payloads fire, no runtime behavior is observed. Findings need human triage; counts may include test and example code. Attack analysis is heuristic relabeling of findings; workflow eval parses suites without executing them. Trust Cards are evidence input — never a certification, audit, or compliance verdict.

Why our own repo grades F

It contains its own test ammunition: a deliberately vulnerable fixture, unit tests with attack strings, and automation scripts that shell out by design. The shipped CLI grades A. Grade the artifact, not the test bench.

Reproduce any grade

npx @eulogik/agenttrust scan https://github.com/owner/repo --quiet

Registry snapshots record the upstream commit sha, so any historical grade can be re-verified exactly.