Skip to content

docs(security): publish the 1.0 threat model - #1617

Merged
FelixTJDietrich merged 2 commits into
mainfrom
1603-docs-security-publishing
Aug 30, 2026
Merged

docs(security): publish the 1.0 threat model#1617
FelixTJDietrich merged 2 commits into
mainfrom
1603-docs-security-publishing

Conversation

@FelixTJDietrich

@FelixTJDietrich FelixTJDietrich commented Aug 29, 2026

Copy link
Copy Markdown
Collaborator

Description

Publishes the operator-facing 1.0 threat model for the supported Docker Compose topology. It brings the webhook ingress, LLM sandbox, egress gateway, and SQL-layer tenancy boundaries into one reviewable document, with attacker assumptions, a data-flow diagram, enforcement links, tests, and residual risks.

Regenerating the API contract in CI also exposed stale generated TypeScript import specifiers left by the current generator; the generated client is refreshed without changing the API schema.

The review also exposed an unsafe operational default: detected SQL tenancy violations previously logged and continued. This PR changes the default to fail closed (throw); log and off remain explicit diagnostic overrides. The document is deliberately candid about defense limits, including the SQL inspector not being an authorization mechanism, the application server remaining reachable from the sandbox job network, and DNS rebinding protection depending on each integration client.

Fixes #1603

How to test

  • bun run format
  • bun run check
  • node scripts/run-mvnw.ts -f application/pom.xml -Dtest=TenancyEnforcementPropertiesTest test
  • bun run --cwd docs build
  • bun run verify (all change-related gates passed; the unrelated Storybook suite was flaky locally—one run ended with dynamic-import fetch failures, and a retry reached 1,632 passing stories before an existing AddChannelDialog visibility assertion failed)

For a manual documentation smoke test:

  1. Run bun run --cwd docs serve.
  2. Open /Hephaestus/admin/threat-model.
  3. Confirm the page appears in the admin sidebar, the Mermaid flowchart renders, and the enforcement links resolve.

Checklist

  • My changeset summary reads as an operator/user-facing note and names no implementation detail.
  • No operator action or migration documentation is required; the safer default applies automatically.

@FelixTJDietrich
FelixTJDietrich requested a review from a team as a code owner August 29, 2026 22:31
@coderabbitai

coderabbitai Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

Warning

Review limit reached

Next included review available in 35 minutes.

View limit details

Limit details: You’ve used the included review currently available.

You've used all free OSS reviews for now. Wait for the free limit to reset to keep reviewing this public repository.

Learn how review limits work.

Review configuration:

⚙️ Run configuration

Configuration used: defaults

Review profile: CHILL

Plan: Pro Plus

Run ID: 84e35f92-3199-419c-b7cf-2f006c897755

📥 Commits

Reviewing files that changed from the base of the PR and between bac46c1 and fa9758c.

📒 Files selected for processing (23)
  • .changeset/secure-tenancy-default.md
  • SECURITY.md
  • docs/admin/threat-model.mdx
  • docs/decisions/0004-sql-layer-tenancy-via-statement-inspector.md
  • docs/sidebars.admin.ts
  • server/application/src/main/java/de/tum/cit/aet/hephaestus/agent/mentor/chat/MentorChatService.java
  • server/application/src/main/java/de/tum/cit/aet/hephaestus/core/tenancy/TenancyEnforcement.java
  • server/application/src/main/java/de/tum/cit/aet/hephaestus/core/tenancy/TenancyEnforcementProperties.java
  • server/application/src/main/resources/application.yml
  • server/application/src/test/java/de/tum/cit/aet/hephaestus/core/tenancy/TenancyEnforcementPropertiesTest.java
  • webapp/src/api/@tanstack/react-query.gen.ts
  • webapp/src/api/client.gen.ts
  • webapp/src/api/client/client.gen.ts
  • webapp/src/api/client/index.ts
  • webapp/src/api/client/types.gen.ts
  • webapp/src/api/client/utils.gen.ts
  • webapp/src/api/core/bodySerializer.gen.ts
  • webapp/src/api/core/serverSentEvents.gen.ts
  • webapp/src/api/core/types.gen.ts
  • webapp/src/api/core/utils.gen.ts
  • webapp/src/api/index.ts
  • webapp/src/api/sdk.gen.ts
  • webapp/src/api/transformers.gen.ts

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@github-actions github-actions Bot added documentation Improvements or additions to documentation application-server Spring Boot server: APIs, business logic, database size:L This PR changes 100-499 lines, ignoring generated files. labels Aug 29, 2026
@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

📚 Documentation Preview

Preview has been removed (PR closed)

@github-actions github-actions Bot added the webapp React app: UI components, routes, state management label Aug 29, 2026
@github-actions

github-actions Bot commented Aug 29, 2026

Copy link
Copy Markdown
Contributor

🧩 Storybook Preview

Preview has been removed (PR closed)

@FelixTJDietrich
FelixTJDietrich merged commit 38ff5ba into main Aug 30, 2026
41 checks passed
@FelixTJDietrich
FelixTJDietrich deleted the 1603-docs-security-publishing branch August 30, 2026 00:09
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

application-server Spring Boot server: APIs, business logic, database documentation Improvements or additions to documentation size:L This PR changes 100-499 lines, ignoring generated files. webapp React app: UI components, routes, state management

Projects

None yet

Development

Successfully merging this pull request may close these issues.

docs(security): publish the 1.0 threat model

1 participant