diff --git a/.version b/.version index d30ee6c7..1cc65297 100644 --- a/.version +++ b/.version @@ -1,6 +1,6 @@ { "major": 1, "minor": 6, - "patch": 0, + "patch": 1, "prerelease": "" } diff --git a/api-schema/tmi-openapi.json b/api-schema/tmi-openapi.json index c736dcfa..0d268704 100644 --- a/api-schema/tmi-openapi.json +++ b/api-schema/tmi-openapi.json @@ -3,7 +3,7 @@ "info": { "title": "TMI (Threat Modeling Improved) API", "description": "A RESTful API for collaborative threat modeling with full X6 graph library compatibility. This API provides schemas that align with AntV X6 cell object models for seamless integration with modern diagramming libraries. Supports OAuth 2.0 authentication with client callback integration for seamless single-page application authentication flows.\n\n## API Design v1.1.0\n\n### Authorization Model\nTMI uses hierarchical authorization: access control is defined at the ThreatModel level via the authorization field (readers, writers, owners). All child resources (Assets, Diagrams, Documents, Notes, Repositories, Threats) inherit permissions from their parent ThreatModel. This simplifies permission management and ensures consistent access control.\n\n### Bulk Operations\nNotes and Diagrams do not support bulk operations due to their unique creation workflows and lack of valid bulk use cases. All other resources (Threats, Assets, Documents, Repositories) support full bulk operations: POST (create), PUT (upsert), PATCH (partial update), DELETE (batch delete).\n\nAll resources support bulk metadata operations regardless of resource-level bulk support.\n\n### List Response Strategy\n- ThreatModels return summary information (TMListItem) because they contain many child objects that can be large.\n- Diagrams return summary information (DiagramListItem) because diagram data (cells, images) can be large.\n- Notes return summary information (NoteListItem) because the content field can be large.\n- Threats, Assets, Documents, Repositories return full schemas as they are relatively small and static.\n\n### PATCH Support\nAll resources support PATCH for partial updates using JSON Patch (RFC 6902). This is particularly useful for:\n- Assets: Array field updates (affected_assets, trust_boundaries) ensuring no duplicates\n- Notes: Updating name/description without changing content field\n- All resources: Efficient updates without full object replacement\n", - "version": "1.6.0", + "version": "1.6.1", "contact": { "name": "TMI Development Team", "url": "https://github.com/ericfitz/tmi", @@ -25581,6 +25581,76 @@ }, "404": { "$ref": "#/components/responses/Error" + }, + "200": { + "description": "Repositories upserted successfully. Returned when the bulk upsert completes; the handler returns 200 for PUT regardless of how many items were newly created.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Repository" + }, + "maxItems": 1000 + }, + "examples": { + "bulkCreatedSources": { + "summary": "Successfully created sources with generated IDs", + "value": [ + { + "name": "User Authentication Module", + "description": "Core user authentication logic", + "created_at": "2025-04-06T12:00:00Z", + "modified_at": "2025-04-06T12:00:00Z", + "uri": "https://github.com/company/repo/blob/main/oauth2/user.go", + "id": "990e8400-e29b-41d4-a716-446655440023" + }, + { + "id": "650e8400-e29b-41d4-a716-446655440002", + "name": "Database Connection Pool", + "description": "Database connection management", + "metadata": [ + { + "key": "type", + "value": "infrastructure" + }, + { + "key": "criticality", + "value": "high" + } + ], + "created_at": "2025-04-06T12:00:00Z", + "modified_at": "2025-04-06T12:00:00Z", + "uri": "https://github.com/company/repo/blob/main/db/pool.go" + } + ] + } + } + } + }, + "headers": { + "X-RateLimit-Limit": { + "description": "Maximum number of requests allowed in the current time window", + "schema": { + "type": "integer", + "example": 1000 + } + }, + "X-RateLimit-Remaining": { + "description": "Number of requests remaining in the current time window", + "schema": { + "type": "integer", + "example": 999 + } + }, + "X-RateLimit-Reset": { + "description": "Unix epoch seconds when the rate limit window resets", + "schema": { + "type": "integer", + "example": 1735689600 + } + } + } } }, "x-rate-limit": { @@ -32366,6 +32436,53 @@ }, "404": { "$ref": "#/components/responses/Error" + }, + "200": { + "description": "Assets upserted successfully. Returned when the bulk upsert completes; the handler returns 200 for PUT regardless of how many items were newly created.", + "content": { + "application/json": { + "schema": { + "type": "array", + "items": { + "$ref": "#/components/schemas/Asset" + }, + "maxItems": 1000 + }, + "example": [ + { + "id": "550e8400-e29b-41d4-a716-446655440001", + "name": "API Gateway Updated", + "type": "software", + "description": "Updated gateway service", + "created_at": "2026-01-17T10:00:00Z", + "modified_at": "2026-01-17T11:00:00Z" + } + ] + } + }, + "headers": { + "X-RateLimit-Limit": { + "description": "Maximum number of requests allowed in the current time window", + "schema": { + "type": "integer", + "example": 1000 + } + }, + "X-RateLimit-Remaining": { + "description": "Number of requests remaining in the current time window", + "schema": { + "type": "integer", + "example": 999 + } + }, + "X-RateLimit-Reset": { + "description": "Unix epoch seconds when the rate limit window resets", + "schema": { + "type": "integer", + "example": 1735689600 + } + } + } } }, "x-rate-limit": { @@ -59335,6 +59452,39 @@ }, "503": { "$ref": "#/components/responses/ServiceUnavailable" + }, + "202": { + "description": "Test delivery accepted and queued for asynchronous sending. The response carries the delivery id; delivery outcome is reported separately via the deliveries endpoints.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/WebhookTestResponse" + } + } + }, + "headers": { + "X-RateLimit-Limit": { + "description": "Maximum number of requests allowed in the current time window", + "schema": { + "type": "integer", + "example": 1000 + } + }, + "X-RateLimit-Remaining": { + "description": "Number of requests remaining in the current time window", + "schema": { + "type": "integer", + "example": 999 + } + }, + "X-RateLimit-Reset": { + "description": "Unix epoch seconds when the rate limit window resets", + "schema": { + "type": "integer", + "example": 1735689600 + } + } + } } }, "x-rate-limit": { diff --git a/api/api.go b/api/api.go index a5e6bc76..ffbaa55a 100644 --- a/api/api.go +++ b/api/api.go @@ -25725,1005 +25725,1010 @@ var swaggerSpec = []string{ "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", + "bd/4fv39fwIAAP//", } // decodeSpec returns the embedded OpenAPI spec as raw JSON bytes, diff --git a/api/middleware.go b/api/middleware.go index ef6d7db9..707b3745 100644 --- a/api/middleware.go +++ b/api/middleware.go @@ -1057,6 +1057,41 @@ func JSONErrorHandler() gin.HandlerFunc { } } +// negotiatedMediaTypeRoutes maps a media type only some operations produce to +// the Gin routes ("METHOD /path") that produce it. Kept in step with the +// handlers that call negotiateContentType (admin_audit_handlers.go, +// diagram_model_transform.go) and with the response content types declared in +// api-schema/tmi-openapi.json. +var negotiatedMediaTypeRoutes = map[string]map[string]bool{ + // System-audit export. + "text/csv": { + "GET /admin/audit/system": true, + }, + "application/x-ndjson": { + "GET /admin/audit/system": true, + }, + // Diagram model representations. + "application/yaml": { + "GET /threat_models/:threat_model_id/diagrams/:diagram_id/model": true, + }, + "application/graphml+xml": { + "GET /threat_models/:threat_model_id/diagrams/:diagram_id/model": true, + }, +} + +// acceptsAnyOf reports whether the Accept header mentions any of the media +// types. Substring matching, so it tolerates quality parameters and multi-type +// headers. +// SEM@0: report whether an Accept header mentions any of the given media types (pure) +func acceptsAnyOf(acceptHeader string, mediaTypes []string) bool { + for _, t := range mediaTypes { + if strings.Contains(acceptHeader, t) { + return true + } + } + return false +} + // AcceptHeaderValidation middleware validates that the Accept header is application/json // Returns 406 Not Acceptable for unsupported media types // SEM@29f63eb500c26288d0d3fe23737adf6fd94bdf9c: build middleware that rejects requests with unsupported Accept media types @@ -1080,29 +1115,35 @@ func AcceptHeaderValidation() gin.HandlerFunc { return } - // Coarse server-wide allowlist of producible media types. This is a - // blunt gate; per-endpoint content negotiation (e.g. the diagram model - // and system-audit export) does the precise selection and may still - // return 406 for a type it doesn't offer. Substring matching keeps it + // Media types every operation can produce. Substring matching keeps this // lenient about quality parameters and multi-type Accept headers. supportedAcceptTypes := []string{ "application/json", "*/*", "application/*", "text/event-stream", - // Content-negotiated representations (see negotiateContentType): - "application/yaml", // diagram model (YAML) - "application/graphml+xml", // diagram model (GraphML) - "text/csv", // system-audit export (CSV) - "application/x-ndjson", // system-audit export (NDJSON) } - acceptsSupported := false - for _, t := range supportedAcceptTypes { - if strings.Contains(acceptHeader, t) { - acceptsSupported = true - break + // Representations only specific operations offer. These used to sit in + // the list above, which made the gate accept them server-wide: an + // endpoint that does no negotiation of its own passed the check and then + // returned JSON with 200, where RFC 9110 (and the spec, which documents + // 406 on these operations) calls for 406. CATS run 20260730T174620Z hit + // that 93 times with `Accept: text/csv` across 83 unrelated paths. + // + // Scope each type to the routes that actually produce it. The handlers + // there call negotiateContentType and return 406 themselves for a type + // they don't offer, so this gate only has to stop the type from being + // waved through everywhere else. + if !acceptsAnyOf(acceptHeader, supportedAcceptTypes) { + route := c.Request.Method + " " + c.FullPath() + for mediaType, routes := range negotiatedMediaTypeRoutes { + if strings.Contains(acceptHeader, mediaType) && routes[route] { + c.Next() + return + } } } + acceptsSupported := acceptsAnyOf(acceptHeader, supportedAcceptTypes) if !acceptsSupported { logger.Debug("Rejecting request with unsupported Accept header: %s", acceptHeader) diff --git a/api/security_headers_test.go b/api/security_headers_test.go index e8ae6b7f..3083238b 100644 --- a/api/security_headers_test.go +++ b/api/security_headers_test.go @@ -533,6 +533,64 @@ func TestAcceptHeaderValidation(t *testing.T) { assert.Equal(t, http.StatusNotAcceptable, w.Code) }) + // A media type only some operations produce must not be accepted on an + // operation that does not produce it. This used to pass the gate + // server-wide and the handler then answered 200 with JSON to a client that + // asked for CSV -- 93 CATS findings in run 20260730T174620Z. + t.Run("rejects a negotiated media type on a route that does not offer it", func(t *testing.T) { + for _, mediaType := range []string{ + "text/csv", "application/x-ndjson", "application/yaml", "application/graphml+xml", + } { + router := gin.New() + router.Use(AcceptHeaderValidation()) + router.GET("/threat_models/:threat_model_id", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"status": "ok"}) + }) + + req := httptest.NewRequest("GET", "/threat_models/abc", nil) + req.Header.Set("Accept", mediaType) + w := httptest.NewRecorder() + router.ServeHTTP(w, req) + + assert.Equal(t, http.StatusNotAcceptable, w.Code, + "Accept: %s should be 406 on a route that does not produce it", mediaType) + } + }) + + // ...but the routes that do produce it still reach their handler, which runs + // negotiateContentType and picks the representation. + t.Run("allows a negotiated media type on the route that offers it", func(t *testing.T) { + cases := []struct{ mediaType, pattern, url string }{ + {"text/csv", "/admin/audit/system", "/admin/audit/system"}, + {"application/x-ndjson", "/admin/audit/system", "/admin/audit/system"}, + { + "application/yaml", + "/threat_models/:threat_model_id/diagrams/:diagram_id/model", + "/threat_models/tm1/diagrams/d1/model", + }, + { + "application/graphml+xml", + "/threat_models/:threat_model_id/diagrams/:diagram_id/model", + "/threat_models/tm1/diagrams/d1/model", + }, + } + for _, tc := range cases { + router := gin.New() + router.Use(AcceptHeaderValidation()) + router.GET(tc.pattern, func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"status": "ok"}) + }) + + req := httptest.NewRequest("GET", tc.url, nil) + req.Header.Set("Accept", tc.mediaType) + w := httptest.NewRecorder() + router.ServeHTTP(w, req) + + assert.Equal(t, http.StatusOK, w.Code, + "Accept: %s should reach the handler on %s", tc.mediaType, tc.pattern) + } + }) + t.Run("accepts application/json with quality parameter", func(t *testing.T) { router := gin.New() router.Use(AcceptHeaderValidation()) @@ -578,15 +636,19 @@ func TestAcceptHeaderValidation(t *testing.T) { assert.Equal(t, http.StatusOK, w.Code) }) - // Content-negotiated representations are now allowed through the coarse - // gate so the diagram-model and audit-export endpoints can serve them. + // Content-negotiated representations used to be allowed through this gate + // server-wide, so that the diagram-model and audit-export endpoints could + // serve them. That let every other endpoint accept them too and answer 200 + // with JSON. They are now scoped to the routes that produce them (see + // negotiatedMediaTypeRoutes and the two subtests above), so on an arbitrary + // route they are correctly Not Acceptable. for _, ct := range []string{ "application/yaml", "application/graphml+xml", "text/csv", "application/x-ndjson", } { - t.Run("accepts "+ct, func(t *testing.T) { + t.Run("rejects "+ct+" on a route that does not produce it", func(t *testing.T) { router := gin.New() router.Use(AcceptHeaderValidation()) router.GET("/test", func(c *gin.Context) { @@ -598,7 +660,7 @@ func TestAcceptHeaderValidation(t *testing.T) { w := httptest.NewRecorder() router.ServeHTTP(w, req) - assert.Equal(t, http.StatusOK, w.Code) + assert.Equal(t, http.StatusNotAcceptable, w.Code) }) } } diff --git a/api/unicode_validation_middleware.go b/api/unicode_validation_middleware.go index f0919269..512bc19a 100644 --- a/api/unicode_validation_middleware.go +++ b/api/unicode_validation_middleware.go @@ -50,7 +50,8 @@ func UnicodeNormalizationMiddleware() gin.HandlerFunc { bodyStr := string(bodyBytes) normalizedStr := norm.NFC.String(bodyStr) - // Check for problematic Unicode characters on the normalized form + // Check for problematic Unicode characters on the normalized form. + // This catches characters written literally in the body bytes. if hasProblematicUnicode(normalizedStr) { logger.Warn("Request contains problematic Unicode characters") c.JSON(http.StatusBadRequest, Error{ @@ -61,6 +62,29 @@ func UnicodeNormalizationMiddleware() gin.HandlerFunc { return } + // The check above scans the body as raw text, where a character written + // as a JSON \uXXXX escape is just ASCII -- so every check it performs + // could be evaded by escaping the character instead of emitting it + // literally. A team name of "TeamName" was created with a stored + // zero-width space while the byte-identical literal form was rejected. + // Re-run the same checks on the decoded strings, covering object keys as + // well as values (CATS's ZeroWidthCharsInNamesFields injects into keys, + // where an unrecognized field is otherwise silently dropped). + // + // A body that does not parse is left to the normal request validation to + // reject; this pass only adds checks, it never accepts. + if decoded, ok := decodeJSONForUnicodeScan(normalizedStr); ok { + if hasProblematicUnicodeDeep(decoded) { + logger.Warn("Request contains problematic Unicode characters in escaped form") + c.JSON(http.StatusBadRequest, Error{ + Error: "invalid_request", + ErrorDescription: "Request contains unsupported Unicode characters (zero-width, bidirectional overrides, excessive combining marks, or control characters)", + }) + c.Abort() + return + } + } + // Reset the request body with normalized content c.Request.Body = io.NopCloser(bytes.NewBufferString(normalizedStr)) c.Request.ContentLength = int64(len(normalizedStr)) @@ -82,6 +106,44 @@ func hasProblematicUnicode(s string) bool { unicodecheck.HasExcessiveCombiningMarks(s, 3) } +// decodeJSONForUnicodeScan parses a request body so its strings can be checked +// after JSON escape sequences have been resolved. Reports false when the body is +// not valid JSON, in which case the caller skips the deep scan and lets ordinary +// request validation reject it. +// SEM@0: parse a JSON request body for post-unescape Unicode scanning (pure) +func decodeJSONForUnicodeScan(body string) (any, bool) { + var decoded any + if err := json.Unmarshal([]byte(body), &decoded); err != nil { + return nil, false + } + return decoded, true +} + +// hasProblematicUnicodeDeep walks a decoded JSON value and reports whether any +// object key or string value contains problematic Unicode. Keys matter as much +// as values: a zero-width character inside a field name makes the field +// unrecognized, so it is silently dropped and the request still succeeds. +// SEM@0: report whether any decoded JSON key or string value contains problematic Unicode (pure) +func hasProblematicUnicodeDeep(v any) bool { + switch t := v.(type) { + case string: + return hasProblematicUnicode(t) + case map[string]any: + for key, val := range t { + if hasProblematicUnicode(key) || hasProblematicUnicodeDeep(val) { + return true + } + } + case []any: + for _, val := range t { + if hasProblematicUnicodeDeep(val) { + return true + } + } + } + return false +} + // ContentTypeValidationMiddleware validates Content-Type header and rejects unsupported types // SEM@c3d5e1776058ac335ccda141ec46f5a36de89f9f: validate request Content-Type against per-endpoint OpenAPI accepted types, rejecting unsupported media types func ContentTypeValidationMiddleware() gin.HandlerFunc { diff --git a/api/unicode_validation_middleware_test.go b/api/unicode_validation_middleware_test.go index 509f1ddd..4622c2c9 100644 --- a/api/unicode_validation_middleware_test.go +++ b/api/unicode_validation_middleware_test.go @@ -29,6 +29,79 @@ func TestUnicodeNormalizationMiddleware(t *testing.T) { assert.Equal(t, http.StatusOK, w.Code) }) + // The middleware used to scan only the raw body text, where a \uXXXX escape + // is plain ASCII -- so every check it performs could be evaded by escaping + // the character instead of emitting it literally. Verified against a running + // server: the literal form was rejected 400 while the escaped form created a + // team whose stored name contained U+200B. + // + // The bodies below carry the escape as six ASCII bytes; the JSON decoder + // turns it into the real character. Writing the character literally here + // would exercise the check that already worked. + t.Run("rejects problematic Unicode written as a JSON escape", func(t *testing.T) { + cases := []struct{ name, body string }{ + {"zero-width space in a value", "{\"name\": \"Team\\u200bName\"}"}, + {"zero-width space in a key", "{\"responsib\\u200ble_parties\": []}"}, + {"BOM in a value", "{\"name\": \"Team\\ufeffName\"}"}, + {"RLM in a value", "{\"name\": \"Team\\u200fName\"}"}, + {"nested in an array of objects", "{\"items\": [{\"na\\u200bme\": \"x\"}]}"}, + {"nested in an object value", "{\"outer\": {\"inner\": \"a\\u200bb\"}}"}, + } + for _, tc := range cases { + t.Run(tc.name, func(t *testing.T) { + router := gin.New() + router.Use(UnicodeNormalizationMiddleware()) + router.POST("/test", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"status": "ok"}) + }) + + req := httptest.NewRequest("POST", "/test", bytes.NewBufferString(tc.body)) + req.Header.Set("Content-Type", "application/json") + w := httptest.NewRecorder() + router.ServeHTTP(w, req) + + assert.Equal(t, http.StatusBadRequest, w.Code, + "escaped form must be rejected just like the literal one") + }) + } + }) + + // A body that does not parse must still reach the handler, so ordinary + // request validation produces the error rather than this middleware. + t.Run("malformed JSON is left to normal validation", func(t *testing.T) { + router := gin.New() + router.Use(UnicodeNormalizationMiddleware()) + router.POST("/test", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"status": "ok"}) + }) + + req := httptest.NewRequest("POST", "/test", bytes.NewBufferString(`{"name": "unterminated`)) + req.Header.Set("Content-Type", "application/json") + w := httptest.NewRecorder() + router.ServeHTTP(w, req) + + assert.Equal(t, http.StatusOK, w.Code) + }) + + // Escaped characters that are not problematic must still pass, so the deep + // scan does not start rejecting ordinary international text. + t.Run("benign escapes still pass", func(t *testing.T) { + router := gin.New() + router.Use(UnicodeNormalizationMiddleware()) + router.POST("/test", func(c *gin.Context) { + c.JSON(http.StatusOK, gin.H{"status": "ok"}) + }) + + // Accented Latin, CJK, and an emoji, all written as escapes. + body := "{\"name\": \"caf\\u00e9 \\u6771\\u4eac \\ud83d\\ude80\"}" + req := httptest.NewRequest("POST", "/test", bytes.NewBufferString(body)) + req.Header.Set("Content-Type", "application/json") + w := httptest.NewRecorder() + router.ServeHTTP(w, req) + + assert.Equal(t, http.StatusOK, w.Code) + }) + t.Run("GET requests bypass validation", func(t *testing.T) { router := gin.New() router.Use(UnicodeNormalizationMiddleware()) diff --git a/cmd/dbtool/data_api.go b/cmd/dbtool/data_api.go index 920f2812..da205d1a 100644 --- a/cmd/dbtool/data_api.go +++ b/cmd/dbtool/data_api.go @@ -12,7 +12,7 @@ import ( "strings" "time" - tmiclient "github.com/ericfitz/tmi-clients/go-client-generated/v1_5_0" + tmiclient "github.com/ericfitz/tmi-clients/go-client-generated/v1_6_0" "github.com/ericfitz/tmi/internal/slogging" "github.com/ericfitz/tmi/test/testdb" ) diff --git a/cmd/dbtool/reference.go b/cmd/dbtool/reference.go index ab3548b8..23b5291a 100644 --- a/cmd/dbtool/reference.go +++ b/cmd/dbtool/reference.go @@ -115,7 +115,11 @@ func writeYAMLReference(path string, refs RefMap, user, provider string) error { documentID := findRefByKind(refs, "document") assetID := findRefByKind(refs, "asset") noteID := findRefByKind(refs, "note") - teamNoteID := findRefByKind(refs, kindTeamNote) + // Index 0 explicitly, for the same reason as survey-response:0 below: team + // notes are seeded positionally and findRefByKind ranges over a map, so once + // the #608 decoy note exists this could return either one — and the decoy is + // the one DELETE consumes. + teamNoteID := findRefByName(refs, teamNoteRef(realTeamName, 0), kindTeamNote) projectNoteID := findRefByKind(refs, kindProjectNote) feedbackID := findRefByKind(refs, kindFeedback) // TriageNote.id is a per-survey-response sequential INTEGER, not a UUID, so @@ -126,7 +130,10 @@ func writeYAMLReference(path string, refs RefMap, user, provider string) error { triageNoteID = "0" } repoID := findRefByKind(refs, "repository") - webhookID := findRefByKind(refs, "webhook") + // By name, not by kind: the #608 decoy webhook makes a map-ranging lookup + // nondeterministic, and returning the decoy here would leave the real + // subscription unfuzzed while the decoy absorbed both roles. + webhookID := findRefByName(refs, webhookRef(realWebhookName), "webhook") deliveryID := findRefByKind(refs, "webhook_test_delivery") addonID := findRefByKind(refs, "addon") credID := findRefByKind(refs, "client_credential") @@ -197,6 +204,16 @@ func writeYAMLReference(path string, refs RefMap, user, provider string) error { // Survey responses are seeded positionally; index 1 is the decoy. {"/intake/survey_responses/{survey_response_id}", "survey_response_id", findRefByName(refs, "survey-response:1", "")}, + // Run 20260730T153736Z lost team_note_id and webhook_id to ordinary + // (non-collapsed) DELETEs: both paths are leaves with no decoy, so the + // fuzzer consumed the only seeded record. Team notes are positional like + // survey responses, so index 1 is the decoy; it must hang off the REAL + // team, because only the /teams/{team_id} anchor is overridden and the + // nested path keeps the real team_id. + {"/teams/{team_id}/notes/{team_note_id}", "team_note_id", + findRefByName(refs, teamNoteRef(realTeamName, 1), "")}, + {"/admin/webhooks/subscriptions/{webhook_id}", "webhook_id", + findRefByName(refs, webhookRef(throwawayWebhookName), "")}, } decoySections := "" for _, d := range decoys { @@ -449,6 +466,8 @@ func writeFixtureManifest(path string, ids fixtureIDs) error { "/admin/groups/{group_id}": true, "/admin/users/{user_id}": true, "/intake/survey_responses/{survey_response_id}": true, + "/teams/{team_id}/notes/{team_note_id}": true, + "/admin/webhooks/subscriptions/{webhook_id}": true, } candidates := []referenceFixture{ @@ -528,7 +547,9 @@ const ( throwawayProjectName = "CATS Throwaway Project" throwawayGroupName = "CATS Throwaway Group" throwawayThreatModelName = "CATS Throwaway Threat Model" + throwawayWebhookName = "CATS Throwaway Webhook" realTeamName = "CATS Test Team" + realWebhookName = "CATS Test Webhook" realProjectName = "CATS Test Project" realGroupName = "CATS Test Group" realThreatModelName = "CATS Test Threat Model" diff --git a/cmd/dbtool/reference_fixtures_test.go b/cmd/dbtool/reference_fixtures_test.go index 670bbe4e..006c9f08 100644 --- a/cmd/dbtool/reference_fixtures_test.go +++ b/cmd/dbtool/reference_fixtures_test.go @@ -83,9 +83,13 @@ func TestFixtureManifestMarksDecoyedAnchors(t *testing.T) { decoyed := map[string]bool{ "threat_model_id": true, "team_id": true, "project_id": true, "group_id": true, "user_id": true, "survey_response_id": true, - // Nested fixtures have no anchor decoy. - "threat_id": false, "note_id": false, "team_note_id": false, - "survey_id": false, "webhook_id": false, + // team_note_id and webhook_id are leaves rather than anchors, but run + // 20260730T153736Z showed an undecoyed leaf is consumed just as readily: + // an ordinary DELETE took the only seeded record and the run went INVALID. + // They now get decoys of their own. + "team_note_id": true, "webhook_id": true, + // Nested fixtures with no decoy. + "threat_id": false, "note_id": false, "survey_id": false, } for _, f := range m.Fixtures { want, tracked := decoyed[f.Key] diff --git a/cmd/dbtool/seedspec_transform.go b/cmd/dbtool/seedspec_transform.go index 5bebcdcc..2adbe276 100644 --- a/cmd/dbtool/seedspec_transform.go +++ b/cmd/dbtool/seedspec_transform.go @@ -222,7 +222,7 @@ func transformTeams(teams []SeedSpecTeam) []SeedEntry { Data: data, }) seeds = append(seeds, transformTeamProjectNotes( - t.Notes, kindTeamNote, "team_ref", teamRef(t.Name), "team-note:"+sanitizeName(t.Name), + t.Notes, kindTeamNote, "team_ref", teamRef(t.Name), teamNotePrefix(t.Name), )...) } return seeds @@ -911,6 +911,18 @@ func surveyRef(name string) string { return "survey:" + sanitizeName(name) } // SEM@a34497eeb7ed839ce3929a9839d3329bae19642a: build a stable lookup key for a webhook by sanitized name (pure) func webhookRef(name string) string { return "webhook:" + sanitizeName(name) } +// teamNotePrefix is the ref prefix transformTeams passes for a team's notes. +// SEM@0: build the seed ref prefix for a team's notes (pure) +func teamNotePrefix(teamName string) string { return "team-note:" + sanitizeName(teamName) } + +// teamNoteRef addresses one of a team's notes by its position in the seed file. +// Team notes are seeded positionally, so the index is the only stable handle; +// reference.go relies on that to tell the real fixture (0) from the #608 decoy (1). +// SEM@0: build a deterministic seed ref key for a team note by team name and index (pure) +func teamNoteRef(teamName string, i int) string { + return fmt.Sprintf("%s:%d", teamNotePrefix(teamName), i) +} + // SEM@a34497eeb7ed839ce3929a9839d3329bae19642a: build a scoped lookup key for a threat-model child entity by kind, threat model, and child name (pure) func childRef(kind, tmName, childName string) string { return fmt.Sprintf("%s:%s:%s", kind, sanitizeName(tmName), sanitizeName(childName)) diff --git a/go.mod b/go.mod index a17bc858..67a3eeae 100644 --- a/go.mod +++ b/go.mod @@ -4,7 +4,7 @@ go 1.26.2 toolchain go1.26.5 -replace github.com/ericfitz/tmi-clients/go-client-generated/v1_5_0 => ../tmi-clients/go-client-generated/v1_5_0 +replace github.com/ericfitz/tmi-clients/go-client-generated/v1_6_0 => ../tmi-clients/go-client-generated/v1_6_0 require ( github.com/DATA-DOG/go-sqlmock v1.5.2 @@ -14,7 +14,7 @@ require ( github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.1 github.com/coreos/go-oidc/v3 v3.20.0 github.com/crewjam/saml v0.5.1 - github.com/ericfitz/tmi-clients/go-client-generated/v1_5_0 v0.0.0-20260701025703-ad400e64ba0c + github.com/ericfitz/tmi-clients/go-client-generated/v1_6_0 v0.0.0-20260701025703-ad400e64ba0c github.com/evanphx/json-patch v5.9.11+incompatible github.com/fsnotify/fsnotify v1.10.1 github.com/getkin/kin-openapi v0.145.0 diff --git a/go.sum b/go.sum index 82f8542f..3bc8538d 100644 --- a/go.sum +++ b/go.sum @@ -43,60 +43,32 @@ github.com/alicebob/miniredis/v2 v2.38.0 h1:nZAzCR+Lj+Vxk4ZXzm2NuKq2O33RXj1XxJ2e github.com/alicebob/miniredis/v2 v2.38.0/go.mod h1:TcL7YfarKPGDAthEtl5NBeHZfeUQj6OXMm/+iu5cLMM= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI= -github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= github.com/aws/aws-sdk-go-v2 v1.43.1 h1:t6AQIB1uQ7HJA+0CDRWjOYG5MfwnOyyDsN4vRDHcwIY= github.com/aws/aws-sdk-go-v2 v1.43.1/go.mod h1:WEzLKBh/mEjXvx1FtQMWgSxMSTVqxQzjkRtk5fa3wkg= -github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk= -github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs= github.com/aws/aws-sdk-go-v2/config v1.32.32 h1:CcYdrcIjulT7xbTSqeEInh/PqUWv10LMznfdbNRwHBM= github.com/aws/aws-sdk-go-v2/config v1.32.32/go.mod h1:Rk+LRPrR2oLWLOqUbhNOKYOJ8chU2aZ/R+Sdi/Bc/+4= -github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY= -github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U= github.com/aws/aws-sdk-go-v2/credentials v1.19.31 h1:olhkNt+ZMx+X40XxeyrflmdBx145TP+3DqaS4s8GsbI= github.com/aws/aws-sdk-go-v2/credentials v1.19.31/go.mod h1:twHrsQY+gUmkTOsDqYwBBrdP41FvzO86qjiRbj7GXcw= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 h1:zheY8iDNNzOHGS2aBJ5GWjeRbhsGuSg4+s20NZ0AywQ= github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32/go.mod h1:bkw+ZoqafHSo/3lQBm+xzWf4kh79hqP9M2kPtmOFZIY= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 h1:PqiNS1QVFVctiMX30IwaY6pM3cUUfZFe+HPKmlZVY4I= github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32/go.mod h1:jqisrvz2jliDnF3dW4wO9ZT1lHz1d6pXjftFyyZyqjY= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 h1:bWzam6cUCb/BRiZYmmdwPg+FvZy3/QygB9u6z7BIlnM= github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32/go.mod h1:VGTWlYbW4qvz9djYt2lj35gSAZS5aZ2xKn85wXziw6A= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 h1:J4GttOtoayrtx24b8NODgSvJTAQ2qj/E5YPEeaYrYh0= github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33/go.mod h1:G8G6DL9QyBO/vuHXJ/JG29qy2hBNYrQxDYJmqMStWJ4= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 h1:SA43nfaY7+1jjMNIc2ywu99JLJLButtIdLP6j+bT870= github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14/go.mod h1:Du3llKcwbQvHsTXSLzTOGQz0DTDBMEzdg7DAGu7inrY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 h1:dWFHhQpbf7Yui4fsy+bJUy54JrmpJHIyAuUkcadqwMo= github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32/go.mod h1:oN4Iix8rAbyTx6tFMP9mS8RFLJnDeZSbSsHwXYSs3tE= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.0 h1:pFFG4fjjuxCrCnAQJg/O33h947MBR8dvQb+FX93Ed+k= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.0/go.mod h1:62iixi6C/4RcKklwtnn+LATl9ZyisVjf6ahGmITBpYA= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.1 h1:TpALnO2Chp6wQOihK/v+qoPN80YOyu3hG/MQ9dG+DGo= github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.1/go.mod h1:nfho2mqRsESddA8OHQiiqhNKaZtGW1Pe1sf6RJFYnfE= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs= github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 h1:i7p1pinRrWxJp+sD+u2pCWYdcB9vL1VNIPKWssNOp4o= github.com/aws/aws-sdk-go-v2/service/signin v1.5.1/go.mod h1:gtQTy/o93W5Sx0IFdAkn7Usa+Qg7ydG2+9GC7MoKqPU= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg= github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 h1:GBLnqpnDEn/+vnBGlxAJ4+jopfzW7vVT0++jLPgWN9A= github.com/aws/aws-sdk-go-v2/service/sso v1.33.1/go.mod h1:RK3AEzTbSEbGLQDd3qPA5ZLXm6mfB9shq5sbiuaF7AU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 h1:1DWsRED+rRzFQ1rDWpwkipw67tp4kyQByQg9POWYl80= github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1/go.mod h1:nadMS3uTrTANeD214BBuPg/SJpJ/UhBiNuqN1Z2Ay4c= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg= github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 h1:JugCuomdxnZwjp5xvqSuPgeWRecAvkno7EwXmR/ZXWE= github.com/aws/aws-sdk-go-v2/service/sts v1.45.1/go.mod h1:dtViDu/XqU2gq1eeTFz7Ijb7xCHoso8CaBOqYVshoqc= github.com/aws/smithy-go v1.27.5 h1:d1ro7KpYOYwP6m73YFa+Kc/A130VsAdX68SpsJwARMM= @@ -356,8 +328,6 @@ github.com/onsi/gomega v1.42.1 h1:iN1rCUX+44NZ1Dc97MPoeFYbFR0vh8zxoxMFwKdyZ6I= github.com/onsi/gomega v1.42.1/go.mod h1:REff/hsDsodHoKlWsP2mAPhu1+5/6hVYNf9rIEBpeSg= github.com/oracle-samples/gorm-oracle v1.1.3 h1:B9Ij8EqYt+WQgeayIB9H9mjRTXnEc+xPYUEvRmFcoIU= github.com/oracle-samples/gorm-oracle v1.1.3/go.mod h1:HP3O55zJhHKDL38yd6DjGv5+uEa0OS1nG0sII0tzEbc= -github.com/oracle/oci-go-sdk/v65 v65.121.1 h1:nXrE3r1qmBULT6Zp2koM2bJGDvsFtMX/be/NV9MS3Bw= -github.com/oracle/oci-go-sdk/v65 v65.121.1/go.mod h1:Pzy+BpgkDesvGZXEHgslwhIYobHCPHg6wRta1mWnlqQ= github.com/oracle/oci-go-sdk/v65 v65.122.0 h1:yB587yZUGe/syyyp1CHlW74EXo38Rfye5vD3Ox4Cdq4= github.com/oracle/oci-go-sdk/v65 v65.122.0/go.mod h1:Pzy+BpgkDesvGZXEHgslwhIYobHCPHg6wRta1mWnlqQ= github.com/pborman/getopt v0.0.0-20170112200414-7148bc3a4c30/go.mod h1:85jBQOZwpVEaDAr341tbn15RS4fCAsIst0qp7i8ex1o= diff --git a/scripts/set-server-setting.py b/scripts/set-server-setting.py new file mode 100644 index 00000000..c00ea511 --- /dev/null +++ b/scripts/set-server-setting.py @@ -0,0 +1,351 @@ +#!/usr/bin/env -S uv run --script +# /// script +# requires-python = ">=3.11" +# dependencies = ["requests>=2.32"] +# /// +"""Read and write system settings on a running TMI server. + +Authenticates interactively via a browser OAuth flow (PKCE, RFC 7636) against +any configured provider, then drives GET/PUT/DELETE on /admin/settings/{key}. +Interactive auth is required by design: service-account (client-credentials) +tokens are categorically denied on /admin/* routes, see #399. + +Usage: + scripts/set-server-setting.py list + scripts/set-server-setting.py get auth.oauth.providers.google.client_id + scripts/set-server-setting.py set timmy.enabled true --type bool + scripts/set-server-setting.py set some.key --value-file /path/to/secret + scripts/set-server-setting.py delete some.key + + # against a remote deployment, with a different provider + scripts/set-server-setting.py --server https://api.tmi.dev --idp microsoft \ + get auth.oauth.providers.google.client_id + +Secrets never go on the command line. Pass a setting's value with --value-file +and an existing bearer token with --token-file, so neither lands in argv, shell +history, or another user's `ps` output. + +The browser login requires the callback to carry back the exact `state` this +process issued, and requires an authorization code: a token delivered straight +to the callback is not bound to this flow's PKCE verifier, so it is refused +rather than used. + +A caveat this tool cannot work around: settings supplied through the +environment or a config file outrank the database (env > config > DB, see +api/settings_service.go). The server returns 409 for a PUT to any such key, +naming the source. On Kubernetes deployments that inject config via envFrom, +that includes every OAuth provider key -- change those at the source (e.g. +scripts/set-oauth-secret.sh) instead. +""" + +from __future__ import annotations + +import argparse +import base64 +import hashlib +import http.server +import json +import secrets +import socket +import sys +import threading +import urllib.parse +import webbrowser +from typing import Any + +import requests + +DEFAULT_SERVER = "http://localhost:8080" +DEFAULT_IDP = "google" +# Bind the loopback address explicitly rather than the "localhost" name, so the +# listener cannot end up on a non-loopback interface if the name resolves oddly. +CALLBACK_HOST = "127.0.0.1" +AUTH_TIMEOUT_SECONDS = 300 + + +# --- OAuth (PKCE) ------------------------------------------------------------ + + +def _pkce_pair() -> tuple[str, str]: + """Return (verifier, challenge) for PKCE S256.""" + verifier = secrets.token_urlsafe(64)[:128] + digest = hashlib.sha256(verifier.encode("ascii")).digest() + challenge = base64.urlsafe_b64encode(digest).decode("ascii").rstrip("=") + return verifier, challenge + + +def _free_port() -> int: + with socket.socket() as s: + s.bind((CALLBACK_HOST, 0)) + return s.getsockname()[1] + + +class _CallbackHandler(http.server.BaseHTTPRequestHandler): + """Single-shot handler capturing the redirect back from TMI.""" + + result: dict[str, str] = {} + done = threading.Event() + + # The state this flow issued. A callback that does not carry it back is not + # this flow's callback and is ignored outright, so a forged request cannot + # even reach the exchange logic. + expected_state: str = "" + + def do_GET(self) -> None: # noqa: N802 - stdlib naming + params = urllib.parse.parse_qs(urllib.parse.urlparse(self.path).query) + flat = {k: v[0] for k, v in params.items() if v} + + # Reject anything not bound to this flow before looking at its contents. + # secrets.compare_digest over a value we generated ourselves, so the + # comparison is constant-time and a missing state fails like a wrong one. + if not secrets.compare_digest(flat.get("state", ""), _CallbackHandler.expected_state): + self.send_response(400) + self.end_headers() + return + + # TMI may hand back either an authorization code or, when it has + # already completed the exchange itself, the tokens directly. + if "code" in flat or "access_token" in flat or "error" in flat: + _CallbackHandler.result = flat + body = ( + b"
You can close this tab and return to the terminal.
" + b"" + ) + self.send_response(200) + self.send_header("Content-Type", "text/html") + self.send_header("Content-Length", str(len(body))) + self.end_headers() + self.wfile.write(body) + _CallbackHandler.done.set() + else: + self.send_response(404) + self.end_headers() + + def log_message(self, *_args: Any) -> None: + """Silence the default stderr access log.""" + + +def authenticate(server: str, idp: str) -> str: + """Run the browser OAuth flow and return a TMI access token.""" + port = _free_port() + callback = f"http://{CALLBACK_HOST}:{port}/" + verifier, challenge = _pkce_pair() + state = secrets.token_urlsafe(32) + + query = urllib.parse.urlencode( + { + "idp": idp, + "client_callback": callback, + "state": state, + "code_challenge": challenge, + "code_challenge_method": "S256", + } + ) + authorize_url = f"{server.rstrip('/')}/oauth2/authorize?{query}" + + _CallbackHandler.result = {} + _CallbackHandler.done = threading.Event() + _CallbackHandler.expected_state = state + httpd = http.server.HTTPServer((CALLBACK_HOST, port), _CallbackHandler) + thread = threading.Thread(target=httpd.serve_forever, daemon=True) + thread.start() + + print(f"Opening browser to authenticate with '{idp}'...", file=sys.stderr) + print(f" If it does not open, visit:\n {authorize_url}\n", file=sys.stderr) + webbrowser.open(authorize_url) + + completed = _CallbackHandler.done.wait(timeout=AUTH_TIMEOUT_SECONDS) + httpd.shutdown() + if not completed: + raise SystemExit(f"Timed out after {AUTH_TIMEOUT_SECONDS}s waiting for login.") + + result = _CallbackHandler.result + if "error" in result: + raise SystemExit( + f"Authentication failed: {result['error']} " + f"{result.get('error_description', '')}".strip() + ) + # The handler already refused anything whose state did not match, so reaching + # here means the callback is bound to this flow. Re-check rather than trust + # that, since the two are far apart in the file. + if not secrets.compare_digest(result.get("state", ""), state): + raise SystemExit("State missing or mismatched on OAuth callback -- aborting.") + + # Only accept a token the server minted in exchange for OUR code and + # verifier. A token arriving in the callback is not bound to the PKCE + # verifier this process generated, so taking it on trust would let anyone + # who reaches the listener choose the identity the rest of the run acts as. + if "code" not in result: + raise SystemExit( + "OAuth callback carried no authorization code. Refusing to use a " + "token handed straight to the callback: it is not bound to this " + "flow's PKCE verifier." + ) + + resp = requests.post( + f"{server.rstrip('/')}/oauth2/token", + params={"idp": idp}, + json={ + "grant_type": "authorization_code", + "code": result["code"], + "code_verifier": verifier, + "redirect_uri": callback, + "state": state, + }, + timeout=30, + ) + if resp.status_code != 200: + raise SystemExit(f"Token exchange failed: {resp.status_code} {resp.text}") + token = resp.json().get("access_token") + if not token: + raise SystemExit(f"No access_token in token response: {resp.text}") + return token + + +# --- Settings API ------------------------------------------------------------ + + +def _explain(resp: requests.Response) -> str: + """Turn an error response into something an operator can act on.""" + try: + body = resp.json() + except ValueError: + return f"HTTP {resp.status_code}: {resp.text}" + message = body.get("message") or body.get("error") or json.dumps(body) + if resp.status_code == 409: + message += ( + "\n\nThis key is supplied by the environment or a config file, which " + "outranks the database. Change it at that source instead -- for " + "Kubernetes OAuth keys, scripts/set-oauth-secret.sh." + ) + elif resp.status_code == 403: + message += "\n\nAdmin privileges are required, and /admin/* rejects service-account tokens (#399)." + return f"HTTP {resp.status_code}: {message}" + + +def cmd_list(server: str, token: str, args: argparse.Namespace) -> int: + resp = requests.get( + f"{server}/admin/settings", + headers={"Authorization": f"Bearer {token}"}, + timeout=30, + ) + if resp.status_code != 200: + print(_explain(resp), file=sys.stderr) + return 1 + payload = resp.json() + rows = payload if isinstance(payload, list) else payload.get("settings", payload) + print(json.dumps(rows, indent=2)) + return 0 + + +def cmd_get(server: str, token: str, args: argparse.Namespace) -> int: + resp = requests.get( + f"{server}/admin/settings/{urllib.parse.quote(args.key, safe='')}", + headers={"Authorization": f"Bearer {token}"}, + timeout=30, + ) + if resp.status_code != 200: + print(_explain(resp), file=sys.stderr) + return 1 + print(json.dumps(resp.json(), indent=2)) + return 0 + + +def cmd_set(server: str, token: str, args: argparse.Namespace) -> int: + if args.value_file: + with open(args.value_file, encoding="utf-8") as fh: + value = fh.read().rstrip("\n") + elif args.value is not None: + value = args.value + else: + print("error: provide a VALUE or --value-file", file=sys.stderr) + return 2 + + body: dict[str, Any] = {"value": value, "type": args.type} + if args.description: + body["description"] = args.description + + resp = requests.put( + f"{server}/admin/settings/{urllib.parse.quote(args.key, safe='')}", + headers={"Authorization": f"Bearer {token}"}, + json=body, + timeout=30, + ) + if resp.status_code not in (200, 201): + print(_explain(resp), file=sys.stderr) + return 1 + # Never echo the value back -- it may be a secret. + print(f"Set '{args.key}' (type={args.type}, {len(value)} chars). Value not shown.") + return 0 + + +def cmd_delete(server: str, token: str, args: argparse.Namespace) -> int: + resp = requests.delete( + f"{server}/admin/settings/{urllib.parse.quote(args.key, safe='')}", + headers={"Authorization": f"Bearer {token}"}, + timeout=30, + ) + if resp.status_code not in (200, 204): + print(_explain(resp), file=sys.stderr) + return 1 + print(f"Deleted '{args.key}'.") + return 0 + + +def main() -> int: + parser = argparse.ArgumentParser( + description="Read and write system settings on a running TMI server.", + formatter_class=argparse.RawDescriptionHelpFormatter, + epilog=__doc__, + ) + parser.add_argument("--server", default=DEFAULT_SERVER, help=f"TMI base URL (default: {DEFAULT_SERVER})") + parser.add_argument("--idp", default=DEFAULT_IDP, help=f"OAuth provider id (default: {DEFAULT_IDP})") + # A token is a credential, so it is read from a file rather than argv: argv + # is world-readable via ps and lands in shell history. Same reasoning as + # --value-file below. + parser.add_argument( + "--token-file", + help="File containing an existing bearer token; skips the browser login", + ) + + sub = parser.add_subparsers(dest="command", required=True) + + sub.add_parser("list", help="List all system settings") + + p_get = sub.add_parser("get", help="Get one setting") + p_get.add_argument("key") + + p_set = sub.add_parser("set", help="Create or update one setting") + p_set.add_argument("key") + p_set.add_argument("value", nargs="?", help="Value (omit when using --value-file)") + p_set.add_argument("--value-file", help="Read the value from this file (use for secrets)") + p_set.add_argument("--type", default="string", choices=["string", "int", "bool", "json"]) + p_set.add_argument("--description", help="Human-readable description") + + p_del = sub.add_parser("delete", help="Delete one setting") + p_del.add_argument("key") + + args = parser.parse_args() + server = args.server.rstrip("/") + + if args.token_file: + with open(args.token_file, encoding="utf-8") as fh: + token = fh.read().strip() + if not token: + print(f"error: {args.token_file} is empty", file=sys.stderr) + return 2 + else: + token = authenticate(server, args.idp) + + handlers = { + "list": cmd_list, + "get": cmd_get, + "set": cmd_set, + "delete": cmd_delete, + } + return handlers[args.command](server, token, args) + + +if __name__ == "__main__": + sys.exit(main()) diff --git a/test/cats/false-positives.yaml b/test/cats/false-positives.yaml index 7d46e4ef..ae6a1d3c 100644 --- a/test/cats/false-positives.yaml +++ b/test/cats/false-positives.yaml @@ -834,3 +834,124 @@ rules: path: { starts_with: /admin/users/, contains: client_credentials } json_body.error_description: contains: only available for automation accounts + + # rule 49 of 49: Team/project uri field is stored, never fetched (#608 run 20260730T174620Z) + # SSRFInUrlFields sets uri to an internal address and flags the echo in the + # response body. Teams and projects only persist and serialize that field + # (team_store_gorm.go:954) -- nothing dereferences it. Deliberately scoped to + # these four contract paths: URIs ARE fetched for Timmy document/diagram + # content (timmy_content_provider_http.go), and those findings must stay live. + - id: TEAM_PROJECT_URI_REFLECTED_NOT_FETCHED + why: Teams and projects store the user-supplied uri field and echo it back without ever dereferencing it, so a reflected SSRF payload is not a request the server made. Scoped to team/project paths only; Timmy content URIs are fetched and stay in scope. + when: + fuzzer: SSRFInUrlFields + result_reason: { contains: SSRF payload reflected in response } + contract_path: + in: ["/teams", "/teams/{team_id}", "/projects", "/projects/{project_id}"] + + # rule 50: "unauthorized" is an error code, not leaked internals (run 20260730T174620Z) + # All 39 hits are /saml/providers/{idp}/users returning the standard 401 body. + # CATS's leak heuristic matched the word "unauthorized" in it. + - id: AUTH_ERROR_CODE_IS_NOT_A_DETAILS_LEAK + why: CATS flags the keyword "unauthorized" as a possible error-details leak, but that is the RFC 6749 error code itself and the body is the generic {"error":"unauthorized","error_description":"Authentication required"}. No internals are disclosed. + when: + result_reason: { contains: Error details leak } + response_code: 401 + json_body.error: { equals: unauthorized } + + # rule 51: SSTI payload stored verbatim, never evaluated (run 20260730T174620Z) + # 0 of 33 responses contained 8051 (the evaluated 83*97); all 33 contained the + # literal payload. CATS's "engine" keyword matched our seeded member role + # "engineering_lead". Requiring the unevaluated payload is what keeps this rule + # honest: if a template engine ever does evaluate it, the body carries the + # computed value instead, the rule stops matching, and the finding surfaces. + - id: SSTI_PAYLOAD_REFLECTED_NOT_EVALUATED + why: The SSTI payload comes back verbatim, so no template engine evaluated it. CATS matches its "engine" keyword against our own seeded member role engineering_lead. Requiring the unevaluated payload in the body keeps a genuine evaluation (which would show the computed value instead) surfacing. + when: + fuzzer: SstiInjectionInStringFields + result_reason: { contains: SSTI injection error detected } + response_code: { in: [200, 201] } + response_body: { contains: "83*97" } + + # rule 52: unknown request fields are dropped, not bound (run 20260730T174620Z) + # MassAssignment injects fields like price/discountPercent and flags the 2xx. + # TMI ignores unknown fields rather than binding them: 0 of 661 responses + # echoed the injected field, so nothing was assigned and there is no mass + # assignment. Staying permissive about unknown fields is the deliberate policy + # choice here (the alternative, additionalProperties:false plus 400, is a + # breaking change for clients). + # + # The /admin/ exclusion is forward-looking: no /admin/ path appears in this + # bucket today, but silently accepting an undeclared field on a + # privilege-bearing endpoint is exactly the case worth hearing about, so it + # must not be swept up by this rule later. + - id: UNDECLARED_FIELD_DROPPED_NOT_BOUND + why: TMI ignores unknown request fields rather than binding them, so MassAssignment's injected fields are dropped, not assigned. Verified on run 20260730T174620Z - 0 of 661 responses echoed the injected field. Excludes /admin/ so silent acceptance on privilege-bearing endpoints still surfaces. + when: + fuzzer: MassAssignment + result_reason: { equals: Undeclared field accepted } + contract_path: { matches: "^(?!/admin/)" } + + # rules 53-59: correct 4xx rejections the fuzzer expected to succeed + # (run 20260730T174620Z). Each is keyed on the specific error the server + # returned rather than on the fuzzer name, so an unrelated 400/409 on the same + # path still surfaces. CATS expects 2xx from these fuzzers because it does not + # model nested schema constraints or resource state. + + - id: NESTED_SCHEMA_VALIDATION_400 + why: The fuzzer mangled a nested object (color_palette colour pattern, cvss score range, diagram cells) and the server rejected it against the schema. A 400 is correct; CATS expected 2xx because it does not model nested constraints. + when: + response_code: 400 + json_body.error_description: { contains: 'multiple errors encountered: Error at "/' } + + - id: SCREENSHOT_BASE64_INVALID_400 + why: The fuzzer corrupted the base64 screenshot payload and the server rejected it. A 400 is the correct response to undecodable base64. + when: + response_code: 400 + json_body.error_description: { contains: "screenshot base64 body is not valid" } + + # This one is the SSRF protection reporting itself. api/ssrf_validator.go + # resolves the host and checks every returned IP against the blocklist, and + # api/safe_http_client.go then dials the validated IP rather than re-resolving, + # so the lookup cannot be raced. Refusing a host it cannot resolve is the + # control working, not a finding. + - id: SSRF_URI_VALIDATION_REJECTS_UNRESOLVABLE_400 + why: The URI validator refuses a host it cannot resolve, which is the SSRF protection working (api/ssrf_validator.go resolves and checks every IP against the blocklist). The fuzzer supplies random hostnames, so a 400 is correct. + when: + response_code: 400 + json_body.error_description: { contains: "invalid uri: cannot resolve hostname" } + + - id: PAGINATION_CURSOR_INVALID_400 + why: The fuzzer corrupted an opaque pagination cursor; rejecting it with 400 is correct. + when: + response_code: 400 + json_body.error_description: { contains: "Invalid pagination cursor" } + + - id: METADATA_KEY_CONFLICT_409 + why: The fuzzer reuses one metadata key across repeated requests, so the second write is a genuine conflict. 409 is the correct optimistic-concurrency outcome. + when: + response_code: 409 + json_body.error_description: { contains: "Metadata key already exists" } + + - id: RESTORE_NON_DELETED_ENTITY_409 + why: Restore only applies to a soft-deleted entity; calling it on a live one is a state conflict, and 409 is correct. + when: + response_code: 409 + json_body.error_description: { contains: "not in a deleted state" } + + - id: SURVEY_THREAT_MODEL_ALREADY_CREATED_409 + why: A survey response yields at most one threat model; a second creation attempt is a genuine conflict and 409 is correct. + when: + response_code: 409 + json_body.error_description: { contains: "already been created from this survey" } + + # rule 60: SSE stream validated against a JSON schema (run 20260730T174620Z) + # POST /threat_models/{id}/chat/sessions streams text/event-stream, which is + # the only content type its 200 declares. CATS wraps the non-JSON body in a + # notAJson envelope and then reports it does not match "the corresponding + # schema" -- there is no application/json schema for it to match. + - id: SSE_STREAM_VALIDATED_AS_JSON_SCHEMA + why: "The endpoint streams text/event-stream exactly as the spec declares, and declares no application/json schema. CATS wraps the non-JSON body in a notAJson envelope and then reports it does not match a JSON schema that does not exist." + when: + result_reason: { equals: Not matching response schema } + response_content_type: { contains: text/event-stream } diff --git a/test/integration/go.mod b/test/integration/go.mod index 46387a68..6100e985 100644 --- a/test/integration/go.mod +++ b/test/integration/go.mod @@ -23,21 +23,21 @@ require ( github.com/VictoriaMetrics/easyproto v1.2.0 // indirect github.com/alicebob/miniredis/v2 v2.38.0 // indirect github.com/apapsch/go-jsonmerge/v2 v2.0.0 // indirect - github.com/aws/aws-sdk-go-v2 v1.43.0 // indirect - github.com/aws/aws-sdk-go-v2/config v1.32.31 // indirect - github.com/aws/aws-sdk-go-v2/credentials v1.19.30 // indirect - github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 // indirect - github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 // indirect - github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 // indirect - github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 // indirect - github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 // indirect - github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.0 // indirect - github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 // indirect - github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 // indirect - github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 // indirect - github.com/aws/smithy-go v1.27.4 // indirect + github.com/aws/aws-sdk-go-v2 v1.43.1 // indirect + github.com/aws/aws-sdk-go-v2/config v1.32.32 // indirect + github.com/aws/aws-sdk-go-v2/credentials v1.19.31 // indirect + github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 // indirect + github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 // indirect + github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 // indirect + github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 // indirect + github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 // indirect + github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.1 // indirect + github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 // indirect + github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 // indirect + github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 // indirect + github.com/aws/smithy-go v1.27.5 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/beevik/etree v1.7.0 // indirect github.com/beorn7/perks v1.0.1 // indirect @@ -76,7 +76,7 @@ require ( github.com/golang-sql/civil v0.0.0-20220223132316-b832511892a9 // indirect github.com/golang-sql/sqlexp v0.1.0 // indirect github.com/google/s2a-go v0.1.9 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.3.18 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.3.19 // indirect github.com/googleapis/gax-go/v2 v2.23.0 // indirect github.com/gorilla/css v1.0.1 // indirect github.com/gorilla/mux v1.8.1 // indirect @@ -109,7 +109,7 @@ require ( github.com/oasdiff/yaml v0.1.1 // indirect github.com/oasdiff/yaml3 v0.0.14 // indirect github.com/oracle-samples/gorm-oracle v1.1.3 // indirect - github.com/oracle/oci-go-sdk/v65 v65.121.1 // indirect + github.com/oracle/oci-go-sdk/v65 v65.122.0 // indirect github.com/pelletier/go-toml/v2 v2.4.3 // indirect github.com/pkoukk/tiktoken-go v0.1.8 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect @@ -119,7 +119,7 @@ require ( github.com/prometheus/otlptranslator v1.0.0 // indirect github.com/prometheus/procfs v0.21.1 // indirect github.com/quic-go/qpack v0.6.0 // indirect - github.com/quic-go/quic-go v0.60.0 // indirect + github.com/quic-go/quic-go v0.61.0 // indirect github.com/redis/go-redis/extra/rediscmd/v9 v9.21.0 // indirect github.com/redis/go-redis/extra/redisotel/v9 v9.21.0 // indirect github.com/richardlehane/mscfb v1.0.7 // indirect @@ -156,15 +156,15 @@ require ( go.uber.org/atomic v1.11.0 // indirect golang.org/x/arch v0.29.0 // indirect golang.org/x/crypto v0.54.0 // indirect - golang.org/x/exp v0.0.0-20260718201538-764159d718ef // indirect + golang.org/x/exp v0.0.0-20260727155853-b88d891fe743 // indirect golang.org/x/net v0.57.0 // indirect golang.org/x/oauth2 v0.36.0 // indirect golang.org/x/sync v0.22.0 // indirect golang.org/x/sys v0.47.0 // indirect golang.org/x/text v0.40.0 // indirect google.golang.org/api v0.290.0 // indirect - google.golang.org/genproto/googleapis/api v0.0.0-20260720211330-0afa2a65878a // indirect - google.golang.org/genproto/googleapis/rpc v0.0.0-20260720211330-0afa2a65878a // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20260727163830-6c54dddc4772 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20260727163830-6c54dddc4772 // indirect google.golang.org/grpc v1.82.1 // indirect google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af // indirect gopkg.in/natefinch/lumberjack.v2 v2.2.1 // indirect diff --git a/test/integration/go.sum b/test/integration/go.sum index 4cfda281..f203094d 100644 --- a/test/integration/go.sum +++ b/test/integration/go.sum @@ -41,36 +41,36 @@ github.com/alicebob/miniredis/v2 v2.38.0 h1:nZAzCR+Lj+Vxk4ZXzm2NuKq2O33RXj1XxJ2e github.com/alicebob/miniredis/v2 v2.38.0/go.mod h1:TcL7YfarKPGDAthEtl5NBeHZfeUQj6OXMm/+iu5cLMM= github.com/apapsch/go-jsonmerge/v2 v2.0.0 h1:axGnT1gRIfimI7gJifB699GoE/oq+F2MU7Dml6nw9rQ= github.com/apapsch/go-jsonmerge/v2 v2.0.0/go.mod h1:lvDnEdqiQrp0O42VQGgmlKpxL1AP2+08jFMw88y4klk= -github.com/aws/aws-sdk-go-v2 v1.43.0 h1:fharf/WhbRAVZ1du0QL7roNFxZ6T/sWr+4Ni617bwSI= -github.com/aws/aws-sdk-go-v2 v1.43.0/go.mod h1:5pKeft2eJj+gElQ38Jqg4ibCqh+/AK33/0X3hip7IjM= -github.com/aws/aws-sdk-go-v2/config v1.32.31 h1:n4nY9O3QKoHIkL85EX+V8RcMFtOhlpTFhGArg915PXk= -github.com/aws/aws-sdk-go-v2/config v1.32.31/go.mod h1:PN0NYDCCoOpGGsZ2+elDUidmHfQBPyYzN2GCgl8HEBs= -github.com/aws/aws-sdk-go-v2/credentials v1.19.30 h1:TTCvvzFU6gXa4iJecNG/0F/B0oYTiazoRECr2XyLHrY= -github.com/aws/aws-sdk-go-v2/credentials v1.19.30/go.mod h1:jKxAp2AEncnliinzpgOSZDFv6+VjvWhjw/AtbfsWT9U= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31 h1:kfVL5wAunCJycL6MOQ6aNh6PlAYEymflcjuKmrWUA0o= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.31/go.mod h1:nWfRNDAppujCQgOUd43lKT4yeLv9z3nJ3bw1G3BgQKo= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31 h1:Z8F3hfCY33IGpJjFAnv0wvtv1FIKj1GHmRDEYqy64tw= -github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.31/go.mod h1:aVyUoytEyOViR6jhq6jula0xkc5NfBE2hgeF6BvOrao= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31 h1:hyOxUyXdh3AyjE93gBgsfziJag9ACwcs+ZpDBLzi8mw= -github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.31/go.mod h1:OERqI9k0draSLB8O8woxY3q25ZWTELRK4RRoLMuMZFo= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32 h1:0MrUL35H/Y4kdFfItoR5jCgtDQ4Z/8LudAoIHRfA4hE= -github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.32/go.mod h1:2tNZkuWz54arj8mHVf+8Y7cKkcD8Wr/fBpENgEXpjLc= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13 h1:mbRIur/BiHK6SKPjoBIXSE/hJ6g6JGRLuxQy1jGjlN4= -github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.13/go.mod h1:ITg9em2KbJx1s0y4aqRX5OYWG6HBZ5TVR//OdpEZ2CQ= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31 h1:w2SIhW92DZPFrSL4ksVCr8IYff5OZwIcxg8+95tzvAI= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.31/go.mod h1:wAhpCQbkov+IcvjozJbd2xRCoZybUEHNkcFunssNACg= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.0 h1:pFFG4fjjuxCrCnAQJg/O33h947MBR8dvQb+FX93Ed+k= -github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.0/go.mod h1:62iixi6C/4RcKklwtnn+LATl9ZyisVjf6ahGmITBpYA= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.0 h1:OHH5iTQvVGmfHjX/5Q+vFuA/Rf2x6/95aJ/75QCQSm4= -github.com/aws/aws-sdk-go-v2/service/signin v1.5.0/go.mod h1:mCF3AK9PpL49oOrhniUXWAfhVBVQ/XbytoE5eccZUIs= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.0 h1:CaJyYhxBE0M/HJX/YvSaSmQlsI91VHB0lKU8LtLxL3A= -github.com/aws/aws-sdk-go-v2/service/sso v1.33.0/go.mod h1:+e6BMRMPjBQoCw/WovYR9GLy2IU0z4Q77smOB1DraSg= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0 h1:tC323YV77QdafeBr6LUhLDTsboyuyHLNRwAyCP44kGU= -github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.0/go.mod h1:SfLK1sgviHmbI+MozR9iDwDjL4cdCVZtahsjoR+z7wg= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.0 h1:Pd6PNlp4t8PTXxqzstICl52Wsy78vpjFZ7PRUj44mJc= -github.com/aws/aws-sdk-go-v2/service/sts v1.45.0/go.mod h1:rmQ0TnHzuLPmabgjPcsywhsSOmaBDgzR4zvDxSPsGdg= -github.com/aws/smithy-go v1.27.4 h1:JQcphmBN4f0q/sPqXqROIItRNV/hy10cgu7CsFy616M= -github.com/aws/smithy-go v1.27.4/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= +github.com/aws/aws-sdk-go-v2 v1.43.1 h1:t6AQIB1uQ7HJA+0CDRWjOYG5MfwnOyyDsN4vRDHcwIY= +github.com/aws/aws-sdk-go-v2 v1.43.1/go.mod h1:WEzLKBh/mEjXvx1FtQMWgSxMSTVqxQzjkRtk5fa3wkg= +github.com/aws/aws-sdk-go-v2/config v1.32.32 h1:CcYdrcIjulT7xbTSqeEInh/PqUWv10LMznfdbNRwHBM= +github.com/aws/aws-sdk-go-v2/config v1.32.32/go.mod h1:Rk+LRPrR2oLWLOqUbhNOKYOJ8chU2aZ/R+Sdi/Bc/+4= +github.com/aws/aws-sdk-go-v2/credentials v1.19.31 h1:olhkNt+ZMx+X40XxeyrflmdBx145TP+3DqaS4s8GsbI= +github.com/aws/aws-sdk-go-v2/credentials v1.19.31/go.mod h1:twHrsQY+gUmkTOsDqYwBBrdP41FvzO86qjiRbj7GXcw= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32 h1:zheY8iDNNzOHGS2aBJ5GWjeRbhsGuSg4+s20NZ0AywQ= +github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.18.32/go.mod h1:bkw+ZoqafHSo/3lQBm+xzWf4kh79hqP9M2kPtmOFZIY= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32 h1:PqiNS1QVFVctiMX30IwaY6pM3cUUfZFe+HPKmlZVY4I= +github.com/aws/aws-sdk-go-v2/internal/configsources v1.4.32/go.mod h1:jqisrvz2jliDnF3dW4wO9ZT1lHz1d6pXjftFyyZyqjY= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32 h1:bWzam6cUCb/BRiZYmmdwPg+FvZy3/QygB9u6z7BIlnM= +github.com/aws/aws-sdk-go-v2/internal/endpoints/v2 v2.7.32/go.mod h1:VGTWlYbW4qvz9djYt2lj35gSAZS5aZ2xKn85wXziw6A= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33 h1:J4GttOtoayrtx24b8NODgSvJTAQ2qj/E5YPEeaYrYh0= +github.com/aws/aws-sdk-go-v2/internal/v4a v1.4.33/go.mod h1:G8G6DL9QyBO/vuHXJ/JG29qy2hBNYrQxDYJmqMStWJ4= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14 h1:SA43nfaY7+1jjMNIc2ywu99JLJLButtIdLP6j+bT870= +github.com/aws/aws-sdk-go-v2/service/internal/accept-encoding v1.13.14/go.mod h1:Du3llKcwbQvHsTXSLzTOGQz0DTDBMEzdg7DAGu7inrY= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32 h1:dWFHhQpbf7Yui4fsy+bJUy54JrmpJHIyAuUkcadqwMo= +github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.13.32/go.mod h1:oN4Iix8rAbyTx6tFMP9mS8RFLJnDeZSbSsHwXYSs3tE= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.1 h1:TpALnO2Chp6wQOihK/v+qoPN80YOyu3hG/MQ9dG+DGo= +github.com/aws/aws-sdk-go-v2/service/secretsmanager v1.44.1/go.mod h1:nfho2mqRsESddA8OHQiiqhNKaZtGW1Pe1sf6RJFYnfE= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.1 h1:i7p1pinRrWxJp+sD+u2pCWYdcB9vL1VNIPKWssNOp4o= +github.com/aws/aws-sdk-go-v2/service/signin v1.5.1/go.mod h1:gtQTy/o93W5Sx0IFdAkn7Usa+Qg7ydG2+9GC7MoKqPU= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.1 h1:GBLnqpnDEn/+vnBGlxAJ4+jopfzW7vVT0++jLPgWN9A= +github.com/aws/aws-sdk-go-v2/service/sso v1.33.1/go.mod h1:RK3AEzTbSEbGLQDd3qPA5ZLXm6mfB9shq5sbiuaF7AU= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1 h1:1DWsRED+rRzFQ1rDWpwkipw67tp4kyQByQg9POWYl80= +github.com/aws/aws-sdk-go-v2/service/ssooidc v1.38.1/go.mod h1:nadMS3uTrTANeD214BBuPg/SJpJ/UhBiNuqN1Z2Ay4c= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.1 h1:JugCuomdxnZwjp5xvqSuPgeWRecAvkno7EwXmR/ZXWE= +github.com/aws/aws-sdk-go-v2/service/sts v1.45.1/go.mod h1:dtViDu/XqU2gq1eeTFz7Ijb7xCHoso8CaBOqYVshoqc= +github.com/aws/smithy-go v1.27.5 h1:d1ro7KpYOYwP6m73YFa+Kc/A130VsAdX68SpsJwARMM= +github.com/aws/smithy-go v1.27.5/go.mod h1:YE2RhdIuDbA5E5bTdciG9KrW3+TiEONeUWCqxX9i1Fc= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/beevik/etree v1.7.0 h1:xjBk9O4p4x7D1YajePjfLzdaFC4/uYUENA7P0pv6gXA= @@ -176,8 +176,8 @@ github.com/google/s2a-go v0.1.9/go.mod h1:YA0Ei2ZQL3acow2O62kdp9UlnvMmU7kA6Eutn0 github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/uuid v1.6.0 h1:NIvaJDMOsjHA8n1jAhLSgzrAzy1Hgr+hNrb57e+94F0= github.com/google/uuid v1.6.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= -github.com/googleapis/enterprise-certificate-proxy v0.3.18 h1:hvVi34VucdrV1IIsiWuqYM8kutw/92MxNEFxCJZEh0k= -github.com/googleapis/enterprise-certificate-proxy v0.3.18/go.mod h1:rSEsBUemEBZEexP2y6jPp16LUmUbjmSbcPMQizR0o4k= +github.com/googleapis/enterprise-certificate-proxy v0.3.19 h1:mMOE7DN2+p76/EdIrmAy9B9bH+yC4563vmnJ34QR8i4= +github.com/googleapis/enterprise-certificate-proxy v0.3.19/go.mod h1:rSEsBUemEBZEexP2y6jPp16LUmUbjmSbcPMQizR0o4k= github.com/googleapis/gax-go/v2 v2.23.0 h1:Tchl7qkvE7Ip3y+ztvNufYFvkfqTe7NfLTYGIdJRLuE= github.com/googleapis/gax-go/v2 v2.23.0/go.mod h1:rBQKOVJCdb8IFEzg+FCwlt1LP/xMDGuqUXhUG+XMXEg= github.com/gorilla/css v1.0.1 h1:ntNaBIghp6JmvWnxbZKANoLyuXTPZ4cAMlo6RyhlbO8= @@ -273,12 +273,12 @@ github.com/oasdiff/yaml v0.1.1/go.mod h1:EYJNoyktvWMJ0Hmhx+6qTaqMOsalUaRGT8Sj1hN github.com/oasdiff/yaml3 v0.0.14 h1:aLJee3hxBK2H5wdXd9iPcIXb93Nty1Ge0pT171eHtkw= github.com/oasdiff/yaml3 v0.0.14/go.mod h1:csto2xfDjYccdUn/yw/bPjj/cYTdp6HtFA0J4TWG+gg= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= -github.com/oklog/ulid/v2 v2.1.1 h1:suPZ4ARWLOJLegGFiZZ1dFAkqzhMjL3J1TzI+5wHz8s= -github.com/oklog/ulid/v2 v2.1.1/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= +github.com/oklog/ulid/v2 v2.1.2 h1:IEclFb9JNvzYA6MW2SCxbLzcHTVsfqm3PrqGQJH5zec= +github.com/oklog/ulid/v2 v2.1.2/go.mod h1:rcEKHmBBKfef9DhnvX7y1HZBYxjXb0cP5ExxNsTT1QQ= github.com/oracle-samples/gorm-oracle v1.1.3 h1:B9Ij8EqYt+WQgeayIB9H9mjRTXnEc+xPYUEvRmFcoIU= github.com/oracle-samples/gorm-oracle v1.1.3/go.mod h1:HP3O55zJhHKDL38yd6DjGv5+uEa0OS1nG0sII0tzEbc= -github.com/oracle/oci-go-sdk/v65 v65.121.1 h1:nXrE3r1qmBULT6Zp2koM2bJGDvsFtMX/be/NV9MS3Bw= -github.com/oracle/oci-go-sdk/v65 v65.121.1/go.mod h1:Pzy+BpgkDesvGZXEHgslwhIYobHCPHg6wRta1mWnlqQ= +github.com/oracle/oci-go-sdk/v65 v65.122.0 h1:yB587yZUGe/syyyp1CHlW74EXo38Rfye5vD3Ox4Cdq4= +github.com/oracle/oci-go-sdk/v65 v65.122.0/go.mod h1:Pzy+BpgkDesvGZXEHgslwhIYobHCPHg6wRta1mWnlqQ= github.com/pelletier/go-toml/v2 v2.4.3 h1:GTRvJQutkOSftxIFD5xw9aepkYNuPWmVJpffdDPYVpY= github.com/pelletier/go-toml/v2 v2.4.3/go.mod h1:2gIqNv+qfxSVS7cM2xJQKtLSTLUE9V8t9Stt+h56mCY= github.com/pkg/browser v0.0.0-20210911075715-681adbf594b8/go.mod h1:HKlIX3XHQyzLZPlr7++PzdhaXEj94dEiJgZDTsxEqUI= @@ -306,8 +306,8 @@ github.com/quic-go/go-ossfuzz-seeds v0.1.0 h1:APacT+iIaNF6fd8AGEiN3bT/Jtkd2jz4v4 github.com/quic-go/go-ossfuzz-seeds v0.1.0/go.mod h1:3IOHRbJIc+L6YKMwfDtJAM9Vj9k0YY4muhuyUYk5tbk= github.com/quic-go/qpack v0.6.0 h1:g7W+BMYynC1LbYLSqRt8PBg5Tgwxn214ZZR34VIOjz8= github.com/quic-go/qpack v0.6.0/go.mod h1:lUpLKChi8njB4ty2bFLX2x4gzDqXwUpaO1DP9qMDZII= -github.com/quic-go/quic-go v0.60.0 h1:xcQioE8OM66UQLeUMHltK1CCcOu3JbVB4JAQdDQSB+0= -github.com/quic-go/quic-go v0.60.0/go.mod h1:wpKpjmPpftl30sL6pFh7REVpjbcCVy4zt2vDyK1TuJk= +github.com/quic-go/quic-go v0.61.0 h1:ui88A53s8MSVYLC56en0KQ17HARk+9986Dn0SBfKNvA= +github.com/quic-go/quic-go v0.61.0/go.mod h1:9So2anK4Tp22URSQq00k+Vo2PNkle96ycDPDHL4s9vs= github.com/redis/go-redis/extra/rediscmd/v9 v9.21.0 h1:jsV3tyMeJrEoc2f3EhNf7qoBW3NEZW7l/4ziT3M+OJI= github.com/redis/go-redis/extra/rediscmd/v9 v9.21.0/go.mod h1:e5t17bY9cEpVV+xw2U7jsPOKkXBtL5IQmNVABShnHUk= github.com/redis/go-redis/extra/redisotel/v9 v9.21.0 h1:36qq3rbF2If2CP0zGHHF8o/4XDluErn6DD0c9/L2iNI= @@ -430,8 +430,8 @@ golang.org/x/crypto v0.23.0/go.mod h1:CKFgDieR+mRhux2Lsu27y0fO304Db0wZe70UKqHu0v golang.org/x/crypto v0.24.0/go.mod h1:Z1PMYSOR5nyMcyAVAIQSKCDwalqy85Aqn1x3Ws4L5DM= golang.org/x/crypto v0.54.0 h1:YLIA59K4fiNzHzjnZt2tUJQjQtUWfWbeHBqKtk3eScw= golang.org/x/crypto v0.54.0/go.mod h1:KWL8ny2AZdGR2cWmzeHrp2azQPGogOv+HeQaVEXC2dk= -golang.org/x/exp v0.0.0-20260718201538-764159d718ef h1:LkZ48HFgy/TvhTI0bcWkjgFkgLyKUwcTbDjS0DUjw+A= -golang.org/x/exp v0.0.0-20260718201538-764159d718ef/go.mod h1:EdfpwwqSu+0Li0mzskwHU6FWDV3t9Q+RZDo3QMUtL3Q= +golang.org/x/exp v0.0.0-20260727155853-b88d891fe743 h1:ex206bKw+v3K0dm3andkrIF+ijyQKJG1pLgwQ2PYdQM= +golang.org/x/exp v0.0.0-20260727155853-b88d891fe743/go.mod h1:EdfpwwqSu+0Li0mzskwHU6FWDV3t9Q+RZDo3QMUtL3Q= golang.org/x/image v0.44.0 h1:+tDekMZED9+LrtB3G5xzRggpVh9CARjZqROla3R3R+I= golang.org/x/image v0.44.0/go.mod h1:V8K3KE9KKKE+pLpQDOeN18w9oacNSvy1tDOirTu4xtY= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= @@ -536,10 +536,10 @@ google.golang.org/api v0.290.0 h1:eMw0Xo+IfbbMlKmW7aHvpyQRv9RCXuWx/vs8AD+0x9A= google.golang.org/api v0.290.0/go.mod h1:weJZ3lldHFYI0DBFNKpJelUDNnusTt5YaOEgxvt8ci8= google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7 h1:XzmzkmB14QhVhgnawEVsOn6OFsnpyxNPRY9QV01dNB0= google.golang.org/genproto v0.0.0-20260319201613-d00831a3d3e7/go.mod h1:L43LFes82YgSonw6iTXTxXUX1OlULt4AQtkik4ULL/I= -google.golang.org/genproto/googleapis/api v0.0.0-20260720211330-0afa2a65878a h1:97PfJ4tCxY5C7NzzgGqQEMZmXbISdvSArNNEOoUGKBg= -google.golang.org/genproto/googleapis/api v0.0.0-20260720211330-0afa2a65878a/go.mod h1:1brfde68Npq6+WA75c1EHWPijZEG1kMus61ygPZfn4A= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260720211330-0afa2a65878a h1:qI/YMH1ep2qQtqcp00gMQyoU7mjvbhg88GJKCvfoLj0= -google.golang.org/genproto/googleapis/rpc v0.0.0-20260720211330-0afa2a65878a/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= +google.golang.org/genproto/googleapis/api v0.0.0-20260727163830-6c54dddc4772 h1:4namukbyF7JY83aWHQwi9J5ugNTnDReLJ9ZcpqOpRB4= +google.golang.org/genproto/googleapis/api v0.0.0-20260727163830-6c54dddc4772/go.mod h1:1brfde68Npq6+WA75c1EHWPijZEG1kMus61ygPZfn4A= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260727163830-6c54dddc4772 h1:zuslGE3FGxH0hC6veLvSLME3TZzun9MQzjYwo1CBN+k= +google.golang.org/genproto/googleapis/rpc v0.0.0-20260727163830-6c54dddc4772/go.mod h1:4Hqkh8ycfw05ld/3BWL7rJOSfebL2Q+DVDeRgYgxUU8= google.golang.org/grpc v1.82.1 h1:NnAxzGRA0677vCa4BUkOAnO5+FfQqVl9iUXeD0IqcGE= google.golang.org/grpc v1.82.1/go.mod h1:yzTZ1TB1Z3SG+LIYaI+WiE8D5+PZ3ArnrSp8zF3+/ZA= google.golang.org/protobuf v1.36.12-0.20260120151049-f2248ac996af h1:+5/Sw3GsDNlEmu7TfklWKPdQ0Ykja5VEmq2i817+jbI= diff --git a/test/postman/comprehensive-test-collection.json b/test/postman/comprehensive-test-collection.json index 730c7613..71ab37ca 100644 --- a/test/postman/comprehensive-test-collection.json +++ b/test/postman/comprehensive-test-collection.json @@ -1029,7 +1029,11 @@ "pm.test('Modified timestamp is updated', function () {", " const responseData = pm.response.json();", " pm.expect(responseData.modified_at).to.exist;", - " pm.expect(new Date(responseData.modified_at)).to.be.at.most(new Date());", + " // Allow for clock skew: the server may run on a different host than", + " // the test runner (e.g. CLUSTER=k3s), so modified_at can read a few ms", + " // ahead of the local clock. Still catches a genuinely wrong timestamp.", + " const skewToleranceMs = 5000;", + " pm.expect(new Date(responseData.modified_at).getTime()).to.be.at.most(Date.now() + skewToleranceMs);", "});" ] } diff --git a/test/seeds/cats-seed-data.json b/test/seeds/cats-seed-data.json index 15cc60b3..2cb0f4f0 100644 --- a/test/seeds/cats-seed-data.json +++ b/test/seeds/cats-seed-data.json @@ -47,6 +47,11 @@ "name": "CATS Test Team Note", "content": "Team note for CATS fuzzing coverage of team_note_id.", "description": "Seeded for CATS" + }, + { + "name": "CATS Throwaway Team Note", + "content": "Destructive-fuzz decoy for team_note_id (#608). Index 1; DELETE consumes this instead of the real note.", + "description": "Seeded for CATS" } ] }, @@ -242,6 +247,13 @@ "threat_model.created", "threat.created" ] + }, + { + "name": "CATS Throwaway Webhook", + "url": "https://webhook.site/cats-throwaway-webhook", + "events": [ + "threat_model.created" + ] } ], "webhook_test_deliveries": [