gb/task.md
Rodrigo Rodriguez (Pragmatismo) 1d0c9ccdb8
Some checks failed
BotServer CI / build (push) Failing after 4s
update: sync for alm
2026-02-20 18:54:23 -03:00

2 KiB

Security Review Task List

1. Unsafe Unwraps in Production (Violates AGENTS.md Error Handling Rules)

The AGENTS.md explicitly forbids the use of .unwrap(), .expect(), panic!(), todo!(), and unimplemented!() in production code. A search of the codebase revealed several instances of unwrap() being used in non-test contexts.

Vulnerable Locations:

  • botserver/src/drive/drive_handlers.rs:269 - Contains a .unwrap() call during Response::builder() generation, which could panic in production.
  • botserver/src/basic/compiler/mod.rs - Contains unwrap() usages outside test boundaries.
  • botserver/src/llm/llm_models/deepseek_r3.rs - Contains unwrap() usages outside test boundaries.
  • botserver/src/botmodels/opencv.rs - Test scopes use unwrap(), but please audit carefully for any leaks to production scope.

Action:

  • Replace all .unwrap() occurrences with safe alternatives (?, unwrap_or_default(), or pattern matching with early returns) and use ErrorSanitizer to avoid panics.

2. Dependency Vulnerabilities (Found by cargo audit)

Running cargo audit uncovered a reported vulnerability inside the dependency tree.

Vulnerable Component:

  • Crate: glib
  • Version: 0.18.5
  • Advisory ID: RUSTSEC-2024-0429
  • Title: Unsoundness in Iterator and DoubleEndedIterator impls for glib::VariantStrIter
  • Dependency Tree context: It's pulled through botdevice and botapp via Tauri plugins and GTK dependencies.

Action:

  • Review dependencies and upgrade the GTK/Glib ecosystem dependencies if patches are available, or evaluate the exact usage to assess the direct risk given the desktop GUI context.

3. General Posture Alignment

  • Ensure all new state-changing endpoints are correctly shielded by the custom CSRF store (redis_csrf_store.rs). Verification is recommended as standard tower-csrf is absent from Cargo.toml.
  • Confirm security headers (Content-Security-Policy via headers.rs) are indeed attached universally in botserver and not selectively omitted in new modules.