Plugin Verified

trailofbits-claude-config

A security-focused Claude Code configuration from Trail of Bits that provides code auditing, review capabilities, and protective hooks for development workflows.

43

/ 100 · Grade F-D

F-D = below 60 (deductions)

I need to integrate security-focused code review and auditing capabilities into my development workflow with built-in protections against destructive commands and credential exposure.

securitycode-analysisdevelopment-toolscode-reviewdevops
Publisher: trailofbitsVersion: latestCertified: Mar 28, 2026Expires: Mar 28, 2027Source ↗

trailofbits-claude-config earned Verified status with a trust score of 43/100 (Grade F-D). Adversarial testing produced 14 findings (11 high, 3 medium). Security scan flagged 0 findings. Tier is Verified rather than Certified due to unmitigated findings above severity thresholds.


Trust Score Breakdown

Eight weighted signals composing the aggregate trust score

security scan
100% × 15w
15.0
supply chain
100% × 10w
10.0
adversarial
0% × 25w
0.0
provenance
40% × 20w
8.0
consumer confirm
20% × 10w
2.0
behavioral pass
20% × 10w
2.0
contract accuracy
100% × 6w
6.0
uptime
100% × 4w
4.0

Scheme v2.0 · Weights provisional · Consumer confirmations and uptime use pipeline-derived baselines.


Findings

Security scan results, adversarial testing, and pipeline review

Security Scan — Cisco Skill Scanner

cisco-skill-scannerFAIL
critical: 0high: 0medium: 0low: 0

Adversarial Testing — 6 categories, 14 findings

prompt injection chainsprivilege escalationdata exfiltration side channelscapability squattingcontext poisoningdependency confusion
highWarnprompt injection chainsconfirmed

The fix-issue.md command instructs the AI to 'Read GitHub Issue #$ISSUE_NUMBER from the canonical repo thoroughly' and 'Follow linked issues, referenced PRs, and external documentation to build complete understanding before planning.' The issue content, which is user-controlled, is then used to drive the entire workflow including planning, implementation, and code changes. There are no explicit data boundary markers around the issue content, allowing malicious issue descriptions to potentially override the skill's directives.

highWarnprompt injection chainsconfirmed

Multiple commands use user-provided input ($ISSUE_NUMBER, $REPO) directly in shell commands without proper sanitization. The fix-issue.md command uses $ISSUE_NUMBER in gh commands, and merge-dependabot.md uses $REPO in git clone operations. While these appear to be intended as simple parameters, malicious input could potentially inject additional shell commands or parameters.

highWarnprivilege escalationconfirmed

The plugin contains shell scripts that execute commands with force flags and bypass user confirmation. The hooks/enforce-package-manager.sh script uses 'set -euo pipefail' which can mask errors, and the hooks/log-gam.sh script automatically logs and executes GAM (Google Apps Manager) commands without user confirmation. The scripts also use exit codes to control execution flow, potentially bypassing normal safety checks.

highWarnprivilege escalationconfirmed

The fix-issue.md and merge-dependabot.md commands instruct the agent to perform system-level operations including global package installation, modifying git configuration, and accessing repositories outside the current project. The commands use 'gh repo clone' to access arbitrary repositories, modify global git settings, and install packages system-wide without virtual environments.

highWarnprivilege escalationconfirmed

The plugin declares an empty scope ({}) but the commands perform extensive operations including network requests (gh commands, git operations), file system modifications across multiple directories, shell command execution, and external tool invocations. The fix-issue.md command uses web search (mcp__exa__web_search_exa), GitHub CLI operations, git operations, and file system modifications without declaring these capabilities.

mediumReviewdata exfiltration side channelsconfirmed

The log-gam.sh hook logs Google Apps Manager (GAM) write operations to a JSONL file, including the full command with all arguments. GAM commands often contain sensitive administrative data like user emails, organizational unit paths, group memberships, and other directory information that could be considered PII or sensitive organizational data.

mediumReviewdata exfiltration side channelsconfirmed

The statusline.sh script displays comprehensive session information including cost data, duration, context usage percentages, and cache hit rates. While not directly sensitive, this detailed telemetry could reveal usage patterns, project activity levels, and operational metrics that users might not expect to be displayed.

highWarncapability squattingconfirmed

The hooks contain conditional logic that references environment variables (CLAUDE_PROJECT_DIR) and system state (file existence checks, git status) that users may not be aware of. The enforce-package-manager.sh hook blocks npm commands based on the presence of pnpm-lock.yaml, and the log-gam.sh hook logs commands based on environment variables and command patterns. These conditionals affect behavior in ways not documented in user-visible guarantees.

highWarncapability squattingconfirmed

The enforce-package-manager.sh hook claims authority to block user commands with 'BLOCKED: This project uses pnpm, not npm. Use pnpm instead.' and exits with code 2 to prevent execution. This represents an override of user intent based on file system state, effectively claiming enforcement authority over the user's tool choices.

highWarncontext poisoningconfirmed

The fix-issue.md command contains multiple persistent behavioral directives that could affect the agent's behavior beyond the current task. The command uses language like 'Execute every step below sequentially. Do not stop or ask for confirmation at any step' and 'When stuck during implementation... use Exa to search for solutions rather than spinning' without explicit scope boundaries or termination conditions.

highWarncontext poisoningconfirmed

The merge-dependabot.md command exhibits significant scope creep by claiming authority over repository management, CI configuration, and dependency management across any GitHub repository. While stated as a dependabot PR evaluation tool, it includes directives to create corrective PRs, modify dependabot configuration files, and make system-level decisions about repository health that extend far beyond simple PR evaluation.

mediumReviewcontext poisoningsuspected

The fix-issue.md command contains directives that establish preferences for specific external tools and services (Exa for web search, GitHub CLI for repository operations) that could influence tool selection in unrelated tasks. While these preferences appear functionally justified within the command's scope, they lack explicit boundaries.

highWarndependency confusionconfirmed

The plugin contains shell scripts that install packages without declaring them as dependencies. The hooks/log-gam.sh script uses 'jq' for JSON parsing, and scripts/statusline.sh also uses 'jq' extensively. Additionally, the log-gam.sh script references 'gam7/gam' (Google Apps Manager) which appears to be an external tool dependency. These package dependencies are not listed in the plugin's declared dependencies array.

highWarndependency confusionconfirmed

The fix-issue.md command instructs the AI to clone GitHub repositories using mutable references without commit hash pinning or integrity verification. The command uses 'gh repo clone $REPO' and 'git fetch origin' operations that pull from potentially mutable branch heads. Additionally, the merge-dependabot.md command clones repositories with '--depth=50' but still references mutable branches, creating a chain of clone-then-execute operations without verification.

Methodology v1.0 · 6 categories · ~55 attack patterns


Behavioral Fingerprint

Runtime performance baseline for drift detection

Samples

8

Error rate

0.0%

Peak memory

— MB

Avg CPU

—%

Response time distribution

p50: 7399msp95: 19294msp99: 19294ms

Output size distribution

p50: 1.2 KBp95: 3.9 KBmean: 1.8 KB

Fingerprint v1.0 · Baseline: Mar 28, 2026 · Status: baseline


Component Inventory

7 components composing this plugin

commands

4

scripts

3

commands (4)

fix-issuecommands/fix-issue.md
merge-dependabotcommands/merge-dependabot.md
review-prcommands/review-pr.md
trailofbits.claude/commands/trailofbits

scripts (3)

enforce-package-managerhooks/enforce-package-manager.sh
log-gamhooks/log-gam.sh
statuslinescripts/statusline.sh

Interface

Aggregated instruction summary

Instructions: 0Files: 0Format: composite

Scope & Permissions

What this capability can and cannot access — derived from pipeline analysis

creates files

no

deletes files

no

modifies files

yes

accesses env variables

no

invokes external tools

yes

makes network requests

no


Badge & Integration

Embed certification status in your README, docs, or CI pipeline

Fidensa Verified badge for trailofbits-claude-config
badge SVG →attestation API →integration guide →

Certification Notes

Provenance observations from the pipeline

publisher

Publisher "trailofbits" is not verified — first certification from this publisher

provenance

No license file found in repository

provenance

No SECURITY.md or SECURITY.txt file found — no published vulnerability reporting process

provenance

Single contributor — no peer review evidence in commit history

provenance

Package description appears to be boilerplate or template text


Signed Artifact

Certification provenance and verification metadata

Content hashsha256:dbad340d84328dc52d969e552f3b8eda61cc78ac333efedabedd9fbb37946e58
Key IDkms-9db4ed3b9f53
CertifiedMar 28, 2026
ExpiresMar 28, 2027
Pipeline version1.0
Statusvalid