{
"event": "PreToolUse",
"tool_name": "mcp__mcp-tasks__tasks_status",
"tool_input": {
"id": 309,
"status": "in_progress"
}
}
{
"tool_response": [
{
"type": "text",
"text": "{\n \"success\": true,\n \"task\": {\n \"id\": 309,\n \"uuid\": \"fd08ebb9-9a19-4e19-b72e-e2e71da6e9e5\",\n \"title\": \"KRITISCH: Credential-Management Pipeline refactoren - kein Klartext-Passwort\",\n \"description\": \"# Problem\\n\\nDas Python-Pipeline-System (`\/var\/www\/scripts\/pipeline\/`) verwendet `DB_PASSWORD` als **Environment-Variable im Klartext**. Das ist ein kritischer Architektur-Fehler.\\n\\n## Verstöße gegen Prinzipien\\n\\n| Prinzip | Verstoß |\\n|---------|---------|\\n| **DRY** | Passwort wird bei jedem Aufruf als ENV-Var übergeben |\\n| **SRP** | config.py mischt Config-Laden mit Credential-Management |\\n| **DIP** | Direkter Zugriff auf `os.environ` statt Abstraktion |\\n| **KISS** | Umständliche Übergabe `DB_PASSWORD=\\\"xxx\\\" .\/venv\/bin\/python` |\\n| **Security** | Passwort in Prozessliste sichtbar, Shell-History |\\n\\n## IST-Zustand\\n\\n```python\\n# config.py\\nDB_CONFIG = {\\n \\\"host\\\": \\\"localhost\\\",\\n \\\"user\\\": \\\"root\\\",\\n \\\"password\\\": os.environ.get(\\\"DB_PASSWORD\\\", \\\"\\\"), # ← Problem\\n \\\"database\\\": \\\"ki_content\\\"\\n}\\n```\\n\\n## SOLL-Zustand\\n\\n1. **Credential-File** außerhalb des Repositories:\\n - `\/etc\/campus\/db_credentials.json` (chmod 600, www-data)\\n \\n2. **CredentialService** in Python:\\n ```python\\n # credentials.py\\n class CredentialService:\\n @staticmethod\\n def get_db_config() -> dict:\\n with open('\/etc\/campus\/db_credentials.json') as f:\\n return json.load(f)\\n ```\\n\\n3. **Analog zu PHP**: Infrastructure\/Config\/CredentialService.php existiert bereits\\n\\n## Betroffene Dateien\\n\\n- `\/var\/www\/scripts\/pipeline\/config.py` - Hauptkonfiguration\\n- `\/var\/www\/scripts\/pipeline\/db.py` - Datenbankverbindung\\n- Alle Skripte die `DB_PASSWORD` erwarten\\n\\n## Akzeptanzkriterien\\n\\n- [ ] Kein `DB_PASSWORD` mehr als Environment-Variable\\n- [ ] Credentials in `\/etc\/campus\/db_credentials.json`\\n- [ ] Python CredentialService analog zu PHP\\n- [ ] Alle Pipeline-Skripte ohne Passwort-Übergabe aufrufbar\\n- [ ] Bestehende Funktionalität erhalten\",\n \"type\": \"ai_task\",\n \"status\": \"in_progress\",\n \"created_by\": \"mcp-tasks\",\n \"created_by_type\": \"ai\",\n \"parent_task_id\": null,\n \"due_date\": null,\n \"created_at\": \"2025-12-25T01:47:23.735845\",\n \"updated_at\": \"2025-12-25T01:54:43.824059\",\n \"completed_at\": null,\n \"metadata\": {}\n },\n \"message\": \"Task #309 status changed: pending -> in_progress\"\n}"
}
]
}