Skip to content

security: remediate 2026-06 review findings across ai/api/go - #1

Merged
KKingZero merged 4 commits into
mainfrom
feat/webapp-dashboard
Jun 12, 2026
Merged

security: remediate 2026-06 review findings across ai/api/go#1
KKingZero merged 4 commits into
mainfrom
feat/webapp-dashboard

Conversation

@KKingZero

Copy link
Copy Markdown
Owner

Summary

Remediates Critical/High/Medium findings from the 2026-06 security review across all three codebases. All four test suites pass via run_all_tests.sh --ci.

Changes

  • AI: command-injection guard on tool name + target (C-04), scope validation, keyring secret backend, secure file open w/ O_NOFOLLOW, scanner safety controls
  • API: token-hash quota check (C-02), proxy-trust CIDR (H-02), JWT secret strength enforcement (H-07), AI endpoint scoping (M-10)
  • Go: MSF client TLS verify-by-default + MSF_INSECURE_TLS opt-in (M-05), licensing gates documented as intentional no-ops (M-18), loot nofollow open flags, disk-space platform splits

Tests

  • Added regression tests (Python + Go) and locked AI test env setup
  • run_all_tests.sh --ci: API ✓ AI ✓ Go ✓ Integration ✓ (58s)

🤖 Generated with Claude Code

Zero and others added 4 commits June 3, 2026 00:13
- core/supabase_client.py: service-role PostgREST + storage + rpc client.
- dependencies/firm.py: verify_supabase_jwt (Supabase UUID identity, pinned
  exp/iss/aud), firm resolution + membership checks.
- routers/sync.py: desktop->dashboard finding ingestion, per-firm upsert
  idempotency, staleness guard, evidence signed upload, optional shared
  engagement routing.
- routers/firms.py + schemas/firms.py: firms CRUD, members, opsec invite
  links (hashed/single-use/expiring/email-bind), engagements.
- dependencies/entitlement.py: $499 platform gate via get_user_access_level
  web_dashboard feature, seat model (firm-owner entitlement), 402 on miss.
- register firms_router + sync_router; config: supabase_jwt_secret,
  webapp_url, dashboard_required_feature.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Apply Critical/High/Medium fixes from the security audit:

- AI: command-injection guard on tool name + target (C-04), scope
  validation, secret backend via keyring, secure file open with
  O_NOFOLLOW, scanner safety controls
- API: token-hash quota check (C-02), proxy-trust CIDR (H-02),
  JWT secret strength enforcement (H-07), AI endpoint scoping (M-10)
- Go: MSF client TLS verify-by-default w/ MSF_INSECURE_TLS opt-in
  (M-05), licensing gates documented as intentional no-ops (M-18),
  loot manager nofollow open flags, disk-space platform splits

Add regression tests (Python + Go) and locked AI test env setup.
All four test suites pass via run_all_tests.sh --ci.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
@KKingZero
KKingZero merged commit d9e53a2 into main Jun 12, 2026
3 of 10 checks passed
@github-advanced-security

Copy link
Copy Markdown

You are seeing this message because GitHub Code Scanning has recently been set up for this repository, or this pull request contains the workflow file for the Code Scanning tool.

What Enabling Code Scanning Means:

  • The 'Security' tab will display more code scanning analysis results (e.g., for the default branch).
  • Depending on your configuration and choice of analysis tool, future pull requests will be annotated with code scanning analysis results.
  • You will be able to see the analysis results for the pull request's branch on this overview once the scans have completed and the checks have passed.

For more information about GitHub Code Scanning, check out the documentation.

@KKingZero
KKingZero deleted the feat/webapp-dashboard branch June 12, 2026 05:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants