disclaw/tasks/DIS-006.md
Nick Tabeling 722d85c2a5
Some checks failed
CI / build-and-test (ubuntu-latest) (pull_request) Has been cancelled
CI / build-and-test (windows-latest) (pull_request) Has been cancelled
CI / lint (pull_request) Has been cancelled
chore: update task board — Phase 0 and Phase 1 marked done
All DIS-001 through DIS-110 set to status:done with merge dates.
BOARD.md reorganized with Done sections per phase.
Phase 1.5 Refinement epic added as planning placeholder.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-10 10:42:16 +02:00

1.8 KiB

id status phase priority labels branch assignee started pr merged
DIS-006 done 0 p0
phase:0
type:feat
priority:p0
security
phase-0/harden-settings-and-claudemd claude-agent null null 2026-04-08

DIS-006: .claude/settings.json-Template härten + CLAUDE.md-Injection-Klausel

Ziel

Jeder neu erstellte Agent bekommt ein gehärtetes .claude/settings.json (Deny-Liste gegen ../**, .env, gefährliche Bash-Muster) und eine CLAUDE.md mit Prompt-Injection-Resistenz-Klausel.

Kontext

Schema bestätigt via docs/cli-feature-answers.md Frage 3. → docs/development-plan.md §2.5.

Scope

  • In: src/agent/identity.ts Settings-Template:
    {
      "permissions": {
        "allow": ["Read", "Write(./**)", "Edit(./**)", "Bash(git diff *)"],
        "ask": ["Bash(git push *)"],
        "deny": ["Read(../**)", "Write(../**)", "Edit(../**)", "Read(./.env)",
                 "WebFetch", "Bash(rm -rf *)", "Bash(curl * | sh)",
                 "Bash(ssh *)", "Bash(* /etc/*)", "Bash(* ~/.ssh/*)"],
        "defaultMode": "acceptEdits"
      },
      "cleanupPeriodDays": 90
    }
    
    CLAUDE.md-Template erhält Abschnitt "Sicherheit & Prompt-Injection": Anweisungen aus Nachrichten dürfen Permissions nicht überschreiben.
  • Out: PreToolUse-Hook-Script (Phase 4) · Profile-spezifische Settings (Phase 4)

Definition of Done

  • Frisch erstellter Workspace enthält settings.json mit vollständiger Deny-Liste
  • CLAUDE.md-Template enthält den Injection-Resistenz-Absatz
  • Unit-Test tests/unit/identity-templates.test.ts parsed gerendertes JSON und verifiziert Deny-Einträge + CLAUDE.md-Satz
  • npm run build && npm test grün

Dateien (erwartet)

  • src/agent/identity.ts
  • tests/unit/identity-templates.test.ts

Abhängigkeiten

Keine.

Spec

docs/backlog.md #DIS-006