Clean — Auto + Semi-Auto + Manual Remediation
| Field |
Value |
| Report type |
clean |
| Target |
~/repos/dft-marketplace |
| Date |
2026-05-05 |
| Mode |
dry-run |
| Version |
llm-security v7.4.0 |
| Scope |
scan + remediation buckets |
| Triggered by |
/security clean . --dry-run |
Risk Dashboard
| Metric |
Value |
| Risk Score |
45/100 |
| Risk Band |
High |
| Grade |
C |
| Verdict |
WARNING |
| Severity |
Count |
| Critical |
1 |
| High |
3 |
| Medium |
4 |
| Low |
2 |
| Info |
3 |
| Total |
13 |
Verdict rationale: 13 findings classified by remediation tier. 4 auto-fixable, 5 semi-auto (require user confirmation), 3 manual (architecture-level), 1 suppressed (waiver registered).
Remediation Summary
| Bucket |
Count |
Action |
| Auto |
4 |
Apply deterministic fixes (no user input) |
| Semi-auto |
5 |
Generate proposals, confirm with user |
| Manual |
3 |
Architecture-level — human decision required |
| Suppressed |
1 |
Waiver registered in .llm-security-ignore |
| Total |
13 |
|
Findings
Critical
| ID |
Category |
File |
Line |
Description |
OWASP |
| CLN-001 |
Secrets |
agents/data-analyst.md |
47 |
Hardcoded API key |
LLM02 |
High
| ID |
Category |
File |
Line |
Description |
OWASP |
| CLN-002 |
Excessive Agency |
agents/web-helper.md |
3 |
Lethal trifecta tool combination |
ASI01 |
| CLN-003 |
Permissions |
.claude/settings.json |
5 |
Wildcard Bash(*) permission |
ASI04 |
| CLN-004 |
Injection |
commands/research.md |
22 |
Indirect-injection vector |
LLM01 |
Medium
| ID |
Category |
File |
Line |
Description |
OWASP |
| CLN-005 |
MCP Trust |
.mcp.json |
12 |
Hidden imperative in MCP description |
MCP05 |
| CLN-006 |
Documentation |
LICENSE |
— |
License file missing |
— |
| CLN-007 |
Documentation |
SECURITY.md |
— |
Disclosure policy missing |
— |
| CLN-008 |
Output Handling |
agents/notes.md |
89 |
Markdown link-title injection sink |
LLM01 |
Low
| ID |
Category |
File |
Line |
Description |
OWASP |
| CLN-009 |
Documentation |
README.md |
88 |
Suspicious URL in example |
— |
| CLN-010 |
Documentation |
CHANGELOG.md |
— |
Missing changelog file |
— |
Info
| ID |
Category |
File |
Line |
Description |
OWASP |
| CLN-011 |
Documentation |
CONTRIBUTING.md |
— |
Missing contributing guidelines |
— |
| CLN-012 |
Documentation |
.gitignore |
— |
Missing .env* exclusion |
— |
| CLN-013 |
Documentation |
LICENSE |
— |
License header in source files |
— |
Auto
| ID |
Action |
Description |
| CLN-001 |
replace-with-env-var |
Replace hardcoded sk-prod-... with ${API_KEY}, log replacement to .llm-security-audit.jsonl |
| CLN-006 |
create-file |
Create LICENSE file (MIT, default) |
| CLN-012 |
append-line |
Append .env* to .gitignore |
| CLN-013 |
add-license-header |
Add MIT license header to top of source files |
Semi-auto
| ID |
Action |
Description |
| CLN-003 |
propose-allowlist |
Propose explicit Bash allow-list based on actual usage patterns |
| CLN-004 |
propose-trust-bus |
Propose Trust-Bus wrapper around indirect-injection vector |
| CLN-005 |
propose-rewrite |
Propose rewritten MCP description without imperative pattern |
| CLN-007 |
scaffold-template |
Generate SECURITY.md template; user confirms ownership/SLA terms |
| CLN-008 |
propose-sanitizer |
Propose sanitizer for Markdown link-title sink |
Manual
| ID |
Action |
Description |
| CLN-002 |
architectural-review |
Lethal trifecta requires architecture-level decision: split agent OR add hook policy |
| CLN-009 |
manual-edit |
Suspicious URL in README example — requires editorial judgment |
| CLN-010 |
manual-write |
CHANGELOG.md content requires reviewing git history |
Suppressed
| ID |
Reason |
Waiver |
| CLN-011 |
Repo policy: solo project, no external contributions |
.llm-security-ignore rule category:documentation/contributing |
Recommendations
- Immediate: Run with
--apply to execute the 4 auto-fixes.
- High: Walk through 5 semi-auto proposals interactively (
--interactive).
- Medium: Schedule architecture review for the 3 manual items (CLN-002, CLN-009, CLN-010).
- Low: Review the suppressed item (CLN-011) annually to confirm policy still applies.
Clean dry-run complete. 13 findings: 4 auto, 5 semi-auto, 3 manual, 1 suppressed.