diff --git a/dev/feature_flags.json b/dev/feature_flags.json index 1daae79..45e9f37 100644 --- a/dev/feature_flags.json +++ b/dev/feature_flags.json @@ -1,7 +1,7 @@ { "flags": { "prompt-injection-hardening": { - "enabled": false, + "enabled": true, "issue": "0019", "description": "Hardening contra prompt injection: deny-by-default en tools, SSRF protection, path traversal, allowlists", "added": "2026-03-07" diff --git a/dev/issues/README.md b/dev/issues/README.md index 0594bcb..bbf418e 100644 --- a/dev/issues/README.md +++ b/dev/issues/README.md @@ -23,4 +23,4 @@ afectados y notas de implementacion. | 16 | Skills system | [0016-skills-system.md](0016-skills-system.md) | pendiente | | 17 | MCP client tools | [0017-mcp-client-tools.md](0017-mcp-client-tools.md) | pendiente | | 18 | Shared knowledge | [0018-shared-knowledge.md](0018-shared-knowledge.md) | pendiente | -| 19 | Prompt injection hardening | [0019-prompt-injection-hardening.md](0019-prompt-injection-hardening.md) | pendiente | +| 19 | Prompt injection hardening | [0019-prompt-injection-hardening.md](completed/0019-prompt-injection-hardening.md) | completado | diff --git a/dev/issues/0019-prompt-injection-hardening.md b/dev/issues/completed/0019-prompt-injection-hardening.md similarity index 94% rename from dev/issues/0019-prompt-injection-hardening.md rename to dev/issues/completed/0019-prompt-injection-hardening.md index 947d426..bab461c 100644 --- a/dev/issues/0019-prompt-injection-hardening.md +++ b/dev/issues/completed/0019-prompt-injection-hardening.md @@ -110,27 +110,27 @@ Este issue es demasiado grande para una sola rama. Se desglosa en sub-issues con | **0019a** | `issue/0019a-tool-hardening` | Deny-by-default en tools, path traversal, SSRF, SSH allowlist + syntax, Matrix room auth | 1 (parcial), 5, 6 (parcial) | **completado** | | **0019b** | `issue/0019b-input-sanitization` | `pkg/sanitize/` + integracion en runtime.go + config schema | 2, 6 (parcial) | **completado** | | **0019c** | `issue/0019c-rate-limiting` | Rate limiting de tools por agente+room en registry | 4, 6 (parcial) | **completado** | -| **0019d** | `issue/0019d-prompt-hardening-docs` | Hardening de system prompts + docs + activar flag | 1 (restante: base_path), 3, 7 | pendiente | +| **0019d** | `issue/0019d-prompt-hardening-docs` | Hardening de system prompts + docs + activar flag | 1 (restante: base_path), 3, 7 | **completado** | ### Progreso por tarea -#### Fase 1 — completado parcial (0019a) +#### Fase 1 — completado (0019a + 0019d) - [x] **1.3** `tools/file.go`: deny-by-default (AllowedPaths vacio = todo denegado) - [x] **1.4** `tools/file.go`: path traversal con EvalSymlinks, proteccion contra `../` y prefix confusion - [x] **1.5** `tools/ssh.go`: AllowedCommands allowlist + validacion de sintaxis shell -- [ ] **1.1** Mover `storage.base_path` default (pendiente 0019d) -- [ ] **1.2** Actualizar schema con nuevo default (pendiente 0019d) +- [x] **1.1** Mover `storage.base_path` default (0019d) +- [x] **1.2** Actualizar schema con nuevo default (0019d) #### Fase 2 — completado (0019b) - [x] **2.1** `pkg/sanitize/patterns.go` - [x] **2.2** `pkg/sanitize/sanitize.go` - [x] **2.3** Integracion en `agents/runtime.go` -#### Fase 3 — pendiente (0019d) -- [ ] **3.1** Template anti-injection para system prompts -- [ ] **3.2** Aplicar a assistant-bot -- [ ] **3.3** Aplicar a asistente-2 -- [ ] **3.4** Documentar en regla create_agent.md +#### Fase 3 — completado (0019d) +- [x] **3.1** Template anti-injection para system prompts +- [x] **3.2** Aplicar a assistant-bot +- [x] **3.3** Aplicar a asistente-2 +- [x] **3.4** Documentar en regla create_agent.md #### Fase 4 — completado (0019c) - [x] **4.1** Rate limiter por agente+room en registry @@ -142,18 +142,18 @@ Este issue es demasiado grande para una sola rama. Se desglosa en sub-issues con - [x] **5.2** HTTP: SSRF protection (bloqueo de IPs privadas, loopback, link-local, metadata) - [x] **5.3** Matrix: AllowedRooms para restringir rooms destino -#### Fase 6 — completado parcial +#### Fase 6 — completado - [x] **6.2** Tests path traversal en file.go (0019a) - [x] **6.3** Tests SSH allowlist/blocklist (0019a) - [x] **6.4** Tests SSRF en http.go (0019a) - [x] **6.1** Tests para `pkg/sanitize/` (0019b) - [x] **6.5** Tests para rate limiting (0019c) -#### Fase 7 — pendiente (0019d) -- [ ] Actualizar CLAUDE.md -- [ ] Actualizar create_tool.md -- [ ] Actualizar create_agent.md -- [ ] Documentar en docs/security.md +#### Fase 7 — completado (0019d) +- [x] Actualizar CLAUDE.md +- [x] Actualizar create_tool.md +- [x] Actualizar create_agent.md +- [x] Documentar en docs/security.md ---