diff --git a/docs/api-reference/spec/firework-v4-openapi.json b/docs/api-reference/spec/firework-v4-openapi.json index 5e14d2b..a6b661b 100644 --- a/docs/api-reference/spec/firework-v4-openapi.json +++ b/docs/api-reference/spec/firework-v4-openapi.json @@ -414,6 +414,9 @@ { "$ref": "#/components/schemas/FinancialEvent" }, + { + "$ref": "#/components/schemas/DockerRepositoryEvent" + }, { "$ref": "#/components/schemas/ForumPostEvent" }, @@ -458,6 +461,7 @@ "bucket": "#/components/schemas/BucketEvent", "chat_message": "#/components/schemas/ChatMessageEvent", "cc": "#/components/schemas/FinancialEvent", + "docker_repository": "#/components/schemas/DockerRepositoryEvent", "forum_post": "#/components/schemas/ForumPostEvent", "invalid_credential": "#/components/schemas/InvalidCredentialEvent", "leaked_credential": "#/components/schemas/LeakedCredentialEvent", @@ -4625,6 +4629,121 @@ ], "title": "CredentialsQueryPayload" }, + "DockerRepositoryEvent": { + "properties": { + "event_type": { + "type": "string", + "const": "docker_repository", + "title": "Event Type", + "default": "docker_repository" + }, + "data": { + "$ref": "#/components/schemas/DockerRepositoryEventData" + }, + "metadata": { + "$ref": "#/components/schemas/EventMetadata" + } + }, + "type": "object", + "required": [ + "data", + "metadata" + ], + "title": "Docker Repository" + }, + "DockerRepositoryEventData": { + "properties": { + "url": { + "anyOf": [ + { + "type": "string" + }, + { + "type": "null" + } + ], + "title": "Url", + "description": "The URL of the Docker repository." + }, + "star_count": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Star Count", + "description": "The number of stars the repository has received." + }, + "pull_count": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Pull Count", + "description": "The total number of pulls made against the repository." + }, + "collaborator_count": { + "anyOf": [ + { + "type": "integer" + }, + { + "type": "null" + } + ], + "title": "Collaborator Count", + "description": "The number of collaborators associated with the repository." + }, + "last_updated_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Last Updated At", + "description": "The timestamp at which the repository was last updated." + }, + "last_modified_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Last Modified At", + "description": "The timestamp at which the repository's metadata was last modified." + }, + "registered_at": { + "anyOf": [ + { + "type": "string", + "format": "date-time" + }, + { + "type": "null" + } + ], + "title": "Registered At", + "description": "The timestamp at which the repository was first registered." + } + }, + "type": "object", + "title": "DockerRepositoryEventData" + }, "DomainAssetEnrichment": { "properties": { "type": { @@ -9764,7 +9883,7 @@ ], "title": "SecretQuery" }, -"ServiceEvent": { + "ServiceEvent": { "properties": { "event_type": { "type": "string", diff --git a/docs/docs.json b/docs/docs.json index 195a03e..6c994fc 100644 --- a/docs/docs.json +++ b/docs/docs.json @@ -330,6 +330,7 @@ "event-types-v2/forum-post", "event-types-v2/invalid-credential", "event-types-v2/leaked-credential", + "event-types-v2/docker-repository", "event-types-v2/listing", "event-types-v2/mitigated-credential", "event-types-v2/paste", diff --git a/docs/event-types-v2/docker-repository.mdx b/docs/event-types-v2/docker-repository.mdx new file mode 100644 index 0000000..62b90cc --- /dev/null +++ b/docs/event-types-v2/docker-repository.mdx @@ -0,0 +1,9 @@ +--- +title: "Docker Repository" +--- + +import DockerRepositoryExample from '/snippets/event_model_examples/docker_repository.mdx' + +The `docker_repository` type represents a Docker repository description that has been recently created or updated. Repository descriptions are scanned for identifiers and secrets. + + diff --git a/docs/event-types-v2/overview.mdx b/docs/event-types-v2/overview.mdx index ed256b9..4916028 100644 --- a/docs/event-types-v2/overview.mdx +++ b/docs/event-types-v2/overview.mdx @@ -14,6 +14,7 @@ Currently these event type models are supported on the | `bucket` | [Bucket ](/event-types-v2/bucket) | | `chat_message` | [Chat Message ](/event-types-v2/chat-message) | | `credit_card` | [Chat Message ](/event-types-v2/chat-message) | +| `docker_repository`| [Docker Repository ](/event-types-v2/docker-repository) | | `document` | [Ransomleak (document) ](/event-types-v2/ransom-leak) | | `domain` | [Lookalike Domain (domain) ](/event-types-v2/domain) | | `forum_post` | [Forum Post & Topic ](/event-types-v2/forum-post) | diff --git a/docs/snippets/event_model_examples/docker_repository.mdx b/docs/snippets/event_model_examples/docker_repository.mdx new file mode 100644 index 0000000..6f295ec --- /dev/null +++ b/docs/snippets/event_model_examples/docker_repository.mdx @@ -0,0 +1,31 @@ +{/* + If you are in pyro: + - If this file changes, you should also modify the API docs. + - https://github.com/flared/docs-api/ + + If you are in mintlify: + - Don't edit this directly, edit the generator in pyro. + - pyro/pyro/mintlify/test_firework_event_models.py +*/} + +```json Docker Repository +{ + "event_type": "docker_repository", + "data": { + "url": "https://hub.docker.com/r/flared/docker", + "star_count": 5, + "pull_count": 10000, + "collaborator_count": 2, + "last_updated_at": "2026-01-01T00:00:00", + "last_modified_at": "2025-01-01T00:00:00", + "registered_at": "2024-01-01T00:00:00" + }, + "metadata": { + "estimated_created_at": "2025-01-01T00:00:00", + "flare_url": "https://app.flare.io/#/uid", + "matched_at": null, + "severity": "info", + "uid": "index/source/id" + } +} +``` diff --git a/docs/snippets/event_model_examples/events_overview.mdx b/docs/snippets/event_model_examples/events_overview.mdx index e0bb23f..e36a10e 100644 --- a/docs/snippets/event_model_examples/events_overview.mdx +++ b/docs/snippets/event_model_examples/events_overview.mdx @@ -16,6 +16,9 @@ import ChatMessage from '/snippets/event_model_examples/chat_message.mdx' import CreditCard from '/snippets/event_model_examples/credit_card.mdx' + +import DockerRepository from '/snippets/event_model_examples/docker_repository.mdx' + import ForumPost from '/snippets/event_model_examples/forum_post.mdx' import Listing from '/snippets/event_model_examples/listing.mdx' @@ -35,6 +38,7 @@ import StealerLog from '/snippets/event_model_examples/stealer_log.mdx' + @@ -42,4 +46,4 @@ import StealerLog from '/snippets/event_model_examples/stealer_log.mdx' - + \ No newline at end of file