Auwai

Security sign-off for Auwai 1.0.0

Date: 2026-11-08 Release: 1.0.0 Scope: knowledge service, local ledger, MCP server, four harness plugins, release scripts, and documentation.

Result

No critical or high findings. The release passes the security checklist with the medium and operational risks recorded below. Each item has an owner.

Evidence

Area Evidence
Authentication and scopes tests/test_security.py, tests/test_knowledge_service.py
Cross-repository reads scope and repository allowlist tests
Token rotation two-key rotation test and constant-time comparison
Request limits 10 MiB body limit, 1,000 events, 20,000 items, 256 KiB text
Malformed payloads invalid JSON, unknown event kinds, non-array fields
Secret redaction facts, findings, claims, AWS keys, sk- keys, private keys
SQL injection literal filters on every list endpoint
Path metadata traversal strings are data only; NUL bytes are rejected
Anonymous binding loopback-only guard and explicit network override test
Hook injection shell commands are parsed, never executed by the hook
Plugin parity tests/test_plugin_parity.py hook decision vectors
Storage backends 52 contract tests on SQLite, PostgreSQL 16, and the MySQL/MariaDB dialects (local MariaDB 10.5; CI 8.4/11.4)
Upgrades tests/test_knowledge_migrations.py, tests/test_backend_migrations.py
TLS terminator self-signed TLS proxy smoke test in tests/test_tls_proxy.py

Commands used for the release evidence:

python3 -m unittest tests.test_security tests.test_plugin_parity
POSTGRES_URL=... MYSQL_URL=... MARIADB_URL=... \
  python3 -m unittest tests.test_knowledge_service tests.test_backend_migrations
python3 -m unittest tests.test_knowledge_migrations tests.test_ledger_migrations

Residual risks

Risk Severity Owner Mitigation
Redaction is a best-effort filter medium maintainers Keep secrets out of source and test data; review before sync
Codex requires a manual hook trust step medium user or admin Review /hooks and trust the bundle after install
OpenCode guard does not inspect interpreter escapes medium harness operator Treat the guard as a guardrail, not a sandbox
No built-in OIDC or user directory medium deployment operator Terminate identity at a reverse proxy or use scoped tokens
MySQL DDL can implicitly commit medium database operator Back up before migration; run --check after
SQLite service is single-threaded low deployment operator Use PostgreSQL for multiple service processes
No public penetration test low maintainers Re-test before exposing a service outside a trusted network

Deployment checklist status

Sign-off

Auwai 1.0.0 is approved for release with the residual risks above. The release must be re-signed if the authentication model, the hook policy, or a storage adapter changes.