import {z} from 'zod' export type GetApiV3GlobalAssetWebpropertyWebpropertyIdArgs = {organization_id?: string | undefined, 'X-Organization-ID'?: string | undefined, webproperty_id: string, at_time?: string | undefined}; export type GetApiV3GlobalAssetWebpropertyWebpropertyIdOptions = {baseUrl?: string | undefined, PersonalAccessToken?: string | undefined, fetch?: typeof fetch | undefined}; export const ctRecord = z.object({added_to_ct_at: z.string().optional(), ct_to_censys_at: z.string().optional(), index: z.number().int().optional()}); export const ct = z.object({entries: z.record(z.string(), ctRecord).optional()}); export const authorityInfoAccess = z.object({issuer_urls: z.array(z.string()).nullable().optional(), ocsp_urls: z.array(z.string()).nullable().optional()}); export const basicConstraints = z.object({is_ca: z.boolean().optional(), max_path_len: z.number().int().optional()}); export const cabfOrganizationId = z.object({country: z.string().optional(), reference: z.string().optional(), scheme: z.string().optional(), state: z.string().optional()}); export const noticeReference = z.object({notice_numbers: z.array(z.number().int()).nullable().optional(), organization: z.string().optional()}); export const userNotice = z.object({explicit_text: z.string().optional(), notice_reference: noticeReference.optional()}); export const certificatePolicy = z.object({cps: z.array(z.string()).nullable().optional(), id: z.string().optional(), user_notice: z.array(userNotice).nullable().optional()}); export const extendedKeyUsage = z.object({any: z.boolean().optional(), apple_code_signing: z.boolean().optional(), apple_code_signing_development: z.boolean().optional(), apple_code_signing_third_party: z.boolean().optional(), apple_crypto_development_env: z.boolean().optional(), apple_crypto_env: z.boolean().optional(), apple_crypto_maintenance_env: z.boolean().optional(), apple_crypto_production_env: z.boolean().optional(), apple_crypto_qos: z.boolean().optional(), apple_crypto_test_env: z.boolean().optional(), apple_crypto_tier0_qos: z.boolean().optional(), apple_crypto_tier1_qos: z.boolean().optional(), apple_crypto_tier2_qos: z.boolean().optional(), apple_crypto_tier3_qos: z.boolean().optional(), apple_ichat_encryption: z.boolean().optional(), apple_ichat_signing: z.boolean().optional(), apple_resource_signing: z.boolean().optional(), apple_software_update_signing: z.boolean().optional(), apple_system_identity: z.boolean().optional(), client_auth: z.boolean().optional(), code_signing: z.boolean().optional(), dvcs: z.boolean().optional(), eap_over_lan: z.boolean().optional(), eap_over_ppp: z.boolean().optional(), email_protection: z.boolean().optional(), ipsec_end_system: z.boolean().optional(), ipsec_intermediate_system_usage: z.boolean().optional(), ipsec_tunnel: z.boolean().optional(), ipsec_user: z.boolean().optional(), microsoft_ca_exchange: z.boolean().optional(), microsoft_cert_trust_list_signing: z.boolean().optional(), microsoft_csp_signature: z.boolean().optional(), microsoft_document_signing: z.boolean().optional(), microsoft_drm: z.boolean().optional(), microsoft_drm_individualization: z.boolean().optional(), microsoft_efs_recovery: z.boolean().optional(), microsoft_embedded_nt_crypto: z.boolean().optional(), microsoft_encrypted_file_system: z.boolean().optional(), microsoft_enrollment_agent: z.boolean().optional(), microsoft_kernel_mode_code_signing: z.boolean().optional(), microsoft_key_recovery_21: z.boolean().optional(), microsoft_key_recovery_3: z.boolean().optional(), microsoft_license_server: z.boolean().optional(), microsoft_licenses: z.boolean().optional(), microsoft_lifetime_signing: z.boolean().optional(), microsoft_mobile_device_software: z.boolean().optional(), microsoft_nt5_crypto: z.boolean().optional(), microsoft_oem_whql_crypto: z.boolean().optional(), microsoft_qualified_subordinate: z.boolean().optional(), microsoft_root_list_signer: z.boolean().optional(), microsoft_server_gated_crypto: z.boolean().optional(), microsoft_sgc_serialized: z.boolean().optional(), microsoft_smart_display: z.boolean().optional(), microsoft_smartcard_logon: z.boolean().optional(), microsoft_system_health: z.boolean().optional(), microsoft_system_health_loophole: z.boolean().optional(), microsoft_timestamp_signing: z.boolean().optional(), microsoft_whql_crypto: z.boolean().optional(), netscape_server_gated_crypto: z.boolean().optional(), ocsp_signing: z.boolean().optional(), sbgp_cert_aa_service_auth: z.boolean().optional(), server_auth: z.boolean().optional(), time_stamping: z.boolean().optional(), unknown: z.array(z.string()).nullable().optional()}); export const distinguishedName = z.object({common_name: z.array(z.string()).nullable().optional(), country: z.array(z.string()).nullable().optional(), domain_component: z.array(z.string()).nullable().optional(), email_address: z.array(z.string()).nullable().optional(), given_name: z.array(z.string()).nullable().optional(), jurisdiction_country: z.array(z.string()).nullable().optional(), jurisdiction_locality: z.array(z.string()).nullable().optional(), jurisdiction_province: z.array(z.string()).nullable().optional(), locality: z.array(z.string()).nullable().optional(), organization: z.array(z.string()).nullable().optional(), organization_id: z.array(z.string()).nullable().optional(), organizational_unit: z.array(z.string()).nullable().optional(), postal_code: z.array(z.string()).nullable().optional(), province: z.array(z.string()).nullable().optional(), serial_number: z.array(z.string()).nullable().optional(), street_address: z.array(z.string()).nullable().optional(), surname: z.array(z.string()).nullable().optional()}); export const ediPartyName = z.object({name_assigner: z.string().optional(), party_name: z.string().optional()}); export const otherName = z.object({id: z.string().optional(), value: z.string().optional()}); export const generalNames = z.object({directory_names: z.array(distinguishedName).nullable().optional(), dns_names: z.array(z.string()).nullable().optional(), edi_party_names: z.array(ediPartyName).nullable().optional(), email_addresses: z.array(z.string()).nullable().optional(), ip_addresses: z.array(z.string()).nullable().optional(), other_names: z.array(otherName).nullable().optional(), registered_ids: z.array(z.string()).nullable().optional(), uniform_resource_identifiers: z.array(z.string()).nullable().optional()}); export const keyUsage = z.object({certificate_sign: z.boolean().optional(), content_commitment: z.boolean().optional(), crl_sign: z.boolean().optional(), data_encipherment: z.boolean().optional(), decipher_only: z.boolean().optional(), digital_signature: z.boolean().optional(), encipher_only: z.boolean().optional(), key_agreement: z.boolean().optional(), key_encipherment: z.boolean().optional(), value: z.number().int().gte(0).optional()}); export const generalSubtreeIp = z.object({begin: z.string().optional(), cidr: z.string().optional(), end: z.string().optional(), mask: z.string().optional()}); export const nameConstraints = z.object({critical: z.boolean().optional(), excluded_directory_names: z.array(distinguishedName).nullable().optional(), excluded_edi_party_names: z.array(ediPartyName).nullable().optional(), excluded_email_addresses: z.array(z.string()).nullable().optional(), excluded_ip_addresses: z.array(generalSubtreeIp).nullable().optional(), excluded_names: z.array(z.string()).nullable().optional(), excluded_registered_ids: z.array(z.string()).nullable().optional(), excluded_uris: z.array(z.string()).nullable().optional(), permitted_directory_names: z.array(distinguishedName).nullable().optional(), permitted_edi_party_names: z.array(ediPartyName).nullable().optional(), permitted_email_addresses: z.array(z.string()).nullable().optional(), permitted_ip_addresses: z.array(generalSubtreeIp).nullable().optional(), permitted_names: z.array(z.string()).nullable().optional(), permitted_registered_ids: z.array(z.string()).nullable().optional(), permitted_uris: z.array(z.string()).nullable().optional()}); export const qcStatementsQCLegislation = z.object({country_codes: z.array(z.string()).nullable().optional()}); export const qcStatementsMonetaryValue = z.object({amount: z.number().int().optional(), currency: z.string().optional(), currency_number: z.number().int().optional(), exponent: z.number().int().optional()}); export const qcStatementsPdsLocation = z.object({language: z.string().optional(), url: z.string().optional()}); export const qcStatementsQcType = z.object({ids: z.array(z.string()).nullable().optional()}); export const qcStatementsParsedStatements = z.object({etsi_compliance: z.array(z.boolean()).nullable().optional(), legislation: z.array(qcStatementsQCLegislation).nullable().optional(), limit: z.array(qcStatementsMonetaryValue).nullable().optional(), pds_locations: z.array(qcStatementsPdsLocation).nullable().optional(), retention_period: z.array(z.number().int()).nullable().optional(), sscd: z.array(z.boolean()).nullable().optional(), types: z.array(qcStatementsQcType).nullable().optional()}); export const qcStatements = z.object({ids: z.array(z.string()).nullable().optional(), parsed: qcStatementsParsedStatements.optional()}); export const signedCertificateTimestampSignature = z.object({hash_algorithm: z.string().optional(), signature: z.string().optional(), signature_algorithm: z.string().optional()}); export const signedCertificateTimestamp = z.object({log_id: z.string().optional(), signature: signedCertificateTimestampSignature.optional(), timestamp: z.string().optional(), version: z.number().int().optional()}); export const torServiceDescriptor = z.object({algorithm_name: z.string().optional(), hash: z.string().optional(), hash_bits: z.number().int().optional(), onion: z.string().optional()}); export const certificateExtensions = z.object({authority_info_access: authorityInfoAccess.optional(), authority_key_id: z.string().optional(), basic_constraints: basicConstraints.optional(), cabf_organization_id: cabfOrganizationId.optional(), certificate_policies: z.array(certificatePolicy).nullable().optional(), crl_distribution_points: z.array(z.string()).nullable().optional(), ct_poison: z.boolean().optional(), extended_key_usage: extendedKeyUsage.optional(), issuer_alt_name: generalNames.optional(), key_usage: keyUsage.optional(), name_constraints: nameConstraints.optional(), qc_statements: qcStatements.optional(), signed_certificate_timestamps: z.array(signedCertificateTimestamp).nullable().optional(), subject_alt_name: generalNames.optional(), subject_key_id: z.string().optional(), tor_service_descriptors: z.array(torServiceDescriptor).nullable().optional()}); export const keyAlgorithm = z.object({name: z.string().optional(), oid: z.string().optional()}); export const signature = z.object({self_signed: z.boolean().optional(), signature_algorithm: keyAlgorithm.optional(), valid: z.boolean().optional(), value: z.string().optional()}); export const dsaPublicKey = z.object({g: z.string().optional(), p: z.string().optional(), q: z.string().optional(), y: z.string().optional()}); export const ecdsaPublicKey = z.object({b: z.string().optional(), curve: z.string().optional(), gx: z.string().optional(), gy: z.string().optional(), length: z.number().int().optional(), n: z.string().optional(), p: z.string().optional(), pub: z.string().optional(), x: z.string().optional(), y: z.string().optional()}); export const rsaPublicKey = z.object({exponent: z.number().int().optional(), length: z.number().int().optional(), modulus: z.string().optional()}); export const unrecognizedPublicKey = z.object({raw: z.string().optional()}); export const subjectKeyInfo = z.object({dsa: dsaPublicKey.optional(), ecdsa: ecdsaPublicKey.optional(), fingerprint_sha256: z.string().optional(), key_algorithm: keyAlgorithm.optional(), rsa: rsaPublicKey.optional(), unrecognized: unrecognizedPublicKey.optional()}); export const extension = z.object({critical: z.boolean().optional(), id: z.string().optional(), value: z.string().optional()}); export const validityPeriod = z.object({length_seconds: z.number().int().optional(), not_after: z.string().optional(), not_before: z.string().optional()}); export const certificateParsed = z.object({extensions: certificateExtensions.optional(), issuer: distinguishedName.optional(), issuer_dn: z.string().optional(), ja4x: z.string().optional(), redacted: z.boolean().optional(), serial_number: z.string().optional(), serial_number_hex: z.string().optional(), signature: signature.optional(), subject: distinguishedName.optional(), subject_dn: z.string().optional(), subject_key_info: subjectKeyInfo.optional(), unknown_extensions: z.array(extension).nullable().optional(), validity_period: validityPeriod.optional(), version: z.number().int().optional()}); export const certificateRevocationRevocationInfo = z.object({next_update: z.string().optional(), reason: z.enum(["", "unspecified", "key_compromise", "ca_compromise", "affiliation_changed", "superseded", "cessation_of_operation", "certificate_hold", "remove_from_crl", "privilege_withdrawn", "aa_compromise"]).optional(), revocation_time: z.string().optional(), revoked: z.boolean().optional()}); export const certificateRevocation = z.object({crl: certificateRevocationRevocationInfo.optional(), ocsp: certificateRevocationRevocationInfo.optional()}); export const rootStoreChain = z.object({sha256fp: z.array(z.string()).nullable().optional()}); export const rootStore = z.object({chains: z.array(rootStoreChain).nullable().optional(), ever_valid: z.boolean().optional(), had_trusted_path: z.boolean().optional(), has_trusted_path: z.boolean().optional(), in_revocation_set: z.boolean().optional(), is_valid: z.boolean().optional(), parents: z.array(z.string()).nullable().optional(), type: z.enum(["", "root", "intermediate", "leaf"]).optional()}); export const validation = z.object({apple: rootStore.optional(), chrome: rootStore.optional(), microsoft: rootStore.optional(), nss: rootStore.optional()}); export const zLint = z.object({errors_present: z.boolean().optional(), failed_lints: z.array(z.string()).nullable().optional(), fatals_present: z.boolean().optional(), notices_present: z.boolean().optional(), timestamp: z.string().optional(), version: z.number().int().optional(), warnings_present: z.boolean().optional()}); export const certificate = z.object({added_at: z.string().optional(), ct: ct.optional(), ever_seen_in_scan: z.boolean().optional(), fingerprint_md5: z.string().optional(), fingerprint_sha1: z.string().optional(), fingerprint_sha256: z.string().optional(), modified_at: z.string().optional(), names: z.array(z.string()).nullable().optional(), parent_spki_fingerprint_sha256: z.string().optional(), parent_spki_subject_fingerprint_sha256: z.string().optional(), parse_status: z.enum(["", "success", "fail", "corrupted"]).optional(), parsed: certificateParsed.optional(), precert: z.boolean().optional(), revocation: certificateRevocation.optional(), revoked: z.boolean().optional(), spki_fingerprint_sha256: z.string().optional(), spki_subject_fingerprint_sha256: z.string().optional(), tbs_fingerprint_sha256: z.string().optional(), tbs_no_ct_fingerprint_sha256: z.string().optional(), validated_at: z.string().optional(), validation: validation.optional(), validation_level: z.enum(["", "dv", "ov", "ev"]).optional(), zlint: zLint.optional()}); export const cVSSComponents = z.object({attack_complexity: z.enum(["", "low", "high"]).optional(), attack_vector: z.enum(["", "network", "adjacent", "local", "physical"]).optional(), availability: z.enum(["", "none", "low", "high"]).optional(), confidentiality: z.enum(["", "none", "low", "high"]).optional(), integrity: z.enum(["", "none", "low", "high"]).optional(), privileges_required: z.enum(["", "none", "low", "high"]).optional(), scope: z.enum(["", "unchanged", "changed"]).optional(), user_interaction: z.enum(["", "none", "required"]).optional()}); export const cVSS = z.object({components: cVSSComponents.optional(), score: z.number().optional(), vector: z.string().optional()}); export const evidence = z.object({data_path: z.string().optional(), exists: z.boolean().optional(), found_value: z.string().optional(), literal_match: z.string().optional(), negative: z.boolean().optional(), proprietary: z.boolean().optional(), regex: z.string().optional(), semver_expression: z.string().optional()}); export const cVSSv4Components = z.object({attack_complexity: z.enum(["", "low", "high"]).optional(), attack_requirements: z.enum(["", "none", "present"]).optional(), attack_vector: z.enum(["", "network", "adjacent", "local", "physical"]).optional(), automatable: z.enum(["", "no", "yes"]).optional(), availability: z.enum(["", "none", "low", "high"]).optional(), confidentiality: z.enum(["", "none", "low", "high"]).optional(), integrity: z.enum(["", "none", "low", "high"]).optional(), privileges_required: z.enum(["", "none", "low", "high"]).optional(), provider_urgency: z.enum(["", "clear", "green", "amber", "red"]).optional(), recovery: z.enum(["", "automatic", "user", "irrecoverable"]).optional(), safety: z.enum(["", "negligible", "present"]).optional(), user_interaction: z.enum(["", "none", "required"]).optional(), value_density: z.enum(["", "diffuse", "concentrated"]).optional(), vulnerability_response_effort: z.enum(["", "low", "moderate", "high"]).optional()}); export const cVSSv4 = z.object({components: cVSSv4Components.optional(), score: z.number().optional(), vector: z.string().optional()}); export const ePSS = z.object({percentile: z.number().optional(), score: z.number().optional()}); export const metrics = z.object({cvss_v30: cVSS.optional(), cvss_v31: cVSS.optional(), cvss_v40: cVSSv4.optional(), epss: ePSS.optional()}); export const risk = z.object({confidence: z.number().optional(), cvss: cVSS.optional(), evidence: z.array(evidence).nullable().optional(), id: z.string().optional(), metrics: metrics.optional(), name: z.string().optional(), risk_source: z.enum(["", "censys", "cve"]).optional(), severity: z.enum(["", "low", "medium", "high", "critical"]).optional(), source: z.enum(["", "censys", "recog", "wappalyzer", "third_party", "html_meta_extractor"]).optional(), type: z.array(z.string()).nullable().optional(), year: z.number().int().gte(0).optional()}); export const argocdAnonymousExposure = z.object({application_count: z.number().int().optional(), applications_anonymously_readable: z.boolean().optional(), cluster_count: z.number().int().optional(), clusters_anonymously_readable: z.boolean().optional()}); export const argocdSettingsOIDCConfig = z.object({client_id: z.string().optional(), issuer: z.string().optional()}); export const argocdSettings = z.object({apps_in_any_namespace_enabled: z.boolean().optional(), exec_enabled: z.boolean().optional(), impersonation_enabled: z.boolean().optional(), installation_id: z.string().optional(), oidc_config: argocdSettingsOIDCConfig.optional(), sync_with_replace_allowed: z.boolean().optional(), url: z.string().optional(), user_logins_disabled: z.boolean().optional()}); export const argocd = z.object({anonymous_exposure: argocdAnonymousExposure.optional(), settings: argocdSettings.optional(), version: z.string().optional()}); export const chromeDevtoolsTarget = z.object({title: z.string().optional(), type: z.string().optional(), url: z.string().optional()}); export const chromeDevtools = z.object({browser: z.string().optional(), protocol_version: z.string().optional(), targets: z.array(chromeDevtoolsTarget).nullable().optional(), user_agent: z.string().optional(), v8_version: z.string().optional(), webkit_version: z.string().optional()}); export const clickHouseHttpError = z.object({code: z.string().optional(), message: z.string().optional()}); export const clickHouseHttp = z.object({databases: z.array(z.string()).nullable().optional(), databases_exposed: z.boolean().optional(), display_name: z.string().optional(), error: clickHouseHttpError.optional(), timezone: z.string().optional(), version: z.string().optional()}); export const cobaltStrikeHttpConfig = z.object({client: z.string().optional(), uri: z.string().optional(), verb: z.string().optional()}); export const cobaltStrikePostEx = z.object({x64: z.string().optional(), x86: z.string().optional()}); export const cobaltStrikeConfig = z.object({cookie_beacon: z.number().int().gte(0).optional(), crypto_scheme: z.number().int().gte(0).optional(), dns: z.boolean().optional(), host_header: z.string().optional(), http_get: cobaltStrikeHttpConfig.optional(), http_post: cobaltStrikeHttpConfig.optional(), jitter: z.number().int().gte(0).optional(), killdate: z.number().int().gte(0).optional(), post_ex: cobaltStrikePostEx.optional(), public_key: z.string().optional(), sleep_time: z.number().int().gte(0).optional(), ssl: z.boolean().optional(), unknown_bytes: z.record(z.string(), z.string().nullable()).optional(), unknown_int: z.record(z.string(), z.number().int().gte(0)).optional(), user_agent: z.string().optional(), watermark: z.number().int().gte(0).optional()}); export const cobaltStrike = z.object({x64: cobaltStrikeConfig.optional(), x86: cobaltStrikeConfig.optional()}); export const elasticSearchErrorMessage = z.object({header: z.string().optional(), reason: z.string().optional(), type: z.string().optional()}); export const elasticSearchResultsNodeInfoClusterCombinedInfoFilesystem = z.object({available: z.string().optional(), available_in_bytes: z.number().int().optional(), free: z.string().optional(), free_in_bytes: z.number().int().optional(), total: z.string().optional(), total_in_bytes: z.number().int().optional()}); export const elasticSearchResultsNodeInfoClusterCombinedInfoIndicesDocs = z.object({count: z.number().int().optional(), deleted: z.number().int().optional()}); export const elasticSearchResultsNodeInfoClusterCombinedInfoIndicesStore = z.object({reserved_in_bytes: z.number().int().optional(), size_in_bytes: z.number().int().optional()}); export const elasticSearchResultsNodeInfoClusterCombinedInfoIndices = z.object({count: z.number().int().optional(), docs: elasticSearchResultsNodeInfoClusterCombinedInfoIndicesDocs.optional(), store: elasticSearchResultsNodeInfoClusterCombinedInfoIndicesStore.optional()}); export const elasticSearchResultsNodeInfoClusterCombinedInfo = z.object({filesystem: elasticSearchResultsNodeInfoClusterCombinedInfoFilesystem.optional(), indices: elasticSearchResultsNodeInfoClusterCombinedInfoIndices.optional(), name: z.string().optional(), status: z.string().optional(), timestamp: z.number().int().optional(), uuid: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataJVM = z.object({gc: z.array(z.string()).nullable().optional(), input_args: z.array(z.string()).nullable().optional(), memory_pools: z.array(z.string()).nullable().optional(), start_time: z.string().optional(), start_time_ms: z.number().int().optional(), version: z.string().optional(), vm_name: z.string().optional(), vm_vendor: z.string().optional(), vm_version: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataModules = z.object({class_name: z.string().optional(), desc: z.string().optional(), elastic_version: z.string().optional(), ext_plugins: z.array(z.string()).nullable().optional(), has_native_ctrl: z.boolean().optional(), java_version: z.string().optional(), name: z.string().optional(), version: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataOS = z.object({allocated_proc: z.number().int().optional(), arch: z.string().optional(), available_proc: z.number().int().optional(), name: z.string().optional(), pretty_name: z.string().optional(), refresh_interval_ms: z.number().int().optional(), version: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataNodeSettingsNodeAttrML = z.object({enabled: z.string().optional(), machine_memory: z.string().optional(), max_open_jobs: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataNodeSettingsNodeAttr = z.object({ml: elasticSearchResultsNodeInfoNodesNodeDataNodeSettingsNodeAttrML.optional(), xpack_installed: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataNodeSettingsNode = z.object({attr: elasticSearchResultsNodeInfoNodesNodeDataNodeSettingsNodeAttr.optional(), name: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataNodeSettings = z.object({cluster_name: z.string().optional(), node: elasticSearchResultsNodeInfoNodesNodeDataNodeSettingsNode.optional()}); export const elasticSearchResultsNodeInfoNodesNodeDataThreadPool = z.object({keep_alive: z.string().optional(), max: z.number().int().optional(), min: z.number().int().optional(), queue_size: z.number().int().optional(), type: z.string().optional()}); export const elasticSearchResultsNodeInfoNodesNodeData = z.object({build_flavor: z.string().optional(), build_hash: z.string().optional(), build_type: z.string().optional(), host: z.string().optional(), ingest_processors: z.array(z.string()).nullable().optional(), ip: z.string().optional(), ip_raw: z.string().optional(), jvm: elasticSearchResultsNodeInfoNodesNodeDataJVM.optional(), modules: z.array(elasticSearchResultsNodeInfoNodesNodeDataModules).nullable().optional(), name: z.string().optional(), os: elasticSearchResultsNodeInfoNodesNodeDataOS.optional(), roles: z.array(z.string()).nullable().optional(), settings: elasticSearchResultsNodeInfoNodesNodeDataNodeSettings.optional(), thread_pool_list: z.array(elasticSearchResultsNodeInfoNodesNodeDataThreadPool).nullable().optional(), total_indexing_buffer: z.number().int().optional(), version: z.string().optional()}); export const elasticSearchResultsNodeInfoNodes = z.object({node_data: elasticSearchResultsNodeInfoNodesNodeData.optional(), node_name: z.string().optional()}); export const elasticSearchResultsNodeInfo = z.object({cluster_combined_info: elasticSearchResultsNodeInfoClusterCombinedInfo.optional(), node_info: z.array(elasticSearchResultsNodeInfoNodes).nullable().optional()}); export const elasticSearchSystemInfoVer = z.object({build_date: z.string().optional(), build_flavor: z.string().optional(), build_hash: z.string().optional(), build_snapshot: z.boolean().optional(), build_type: z.string().optional(), lucene_version: z.string().optional(), min_idx_compat_ver: z.string().optional(), min_wire_compat_ver: z.string().optional(), number: z.string().optional()}); export const elasticSearchSystemInfo = z.object({cluster_uuid: z.string().optional(), name: z.string().optional(), tagline: z.string().optional(), version: elasticSearchSystemInfoVer.optional()}); export const elasticSearch = z.object({error_message: elasticSearchErrorMessage.optional(), results_node_info: elasticSearchResultsNodeInfo.optional(), system_info: elasticSearchSystemInfo.optional()}); export const extractedEndpointDataAnalyticsService = z.object({ids: z.array(z.string()).nullable().optional(), provider: z.string().optional()}); export const extractedEndpointDataCopyright = z.object({end_year: z.number().int().optional(), holder: z.string().optional(), start_year: z.number().int().optional(), text: z.string().optional()}); export const extractedEndpointData = z.object({analytics_services: z.array(extractedEndpointDataAnalyticsService).nullable().optional(), copyrights: z.array(extractedEndpointDataCopyright).nullable().optional(), ip_addresses: z.array(z.string()).nullable().optional(), languages: z.array(z.string()).nullable().optional(), links: z.array(z.string()).nullable().optional(), mac_addresses: z.array(z.string()).nullable().optional()}); export const fortigate = z.object({api_version: z.string().optional(), build: z.number().int().optional(), serial: z.string().optional(), status_code: z.number().int().optional(), status_msg: z.string().optional(), version: z.string().optional()}); export const graphql = z.object({response: z.string().optional(), supports_introspection: z.boolean().optional()}); export const httpCopyright = z.object({source: z.string().optional(), text: z.string().optional()}); export const httpFavicon = z.object({hash_md5: z.string().optional(), hash_phash: z.string().optional(), hash_sha256: z.string().optional(), hash_shodan: z.number().int().optional(), name: z.string().optional(), size: z.number().int().optional()}); export const httpRepeatedHeaders = z.object({headers: z.array(z.string()).nullable().optional()}); export const networkLogResourceInfo = z.object({host: z.string().optional(), md5: z.string().optional(), mime_type: z.string().optional(), path: z.string().optional(), port: z.string().optional(), scheme: z.string().optional(), sha1: z.string().optional(), sha256: z.string().optional(), size: z.number().int().optional(), url: z.string().optional()}); export const networkLog = z.object({har_handle: z.string().optional(), resources: z.array(networkLogResourceInfo).nullable().optional()}); export const httpRedirectChainLinkHttpStatus = z.object({code: z.number().int().optional(), reason: z.string().optional()}); export const httpRedirectChainLink = z.object({hostname: z.string().optional(), http_status: httpRedirectChainLinkHttpStatus.optional(), path: z.string().optional(), port: z.number().int().gte(0).optional(), reason: z.string().optional(), scheme: z.string().optional(), transport_protocol: z.enum(["", "tcp", "udp", "icmp", "quic"]).optional()}); export const http = z.object({body: z.string().optional(), body_hash_sha1: z.string().optional(), body_hash_sha256: z.string().optional(), body_hash_tlsh: z.string().optional(), body_size: z.number().int().optional(), copyrights: z.array(httpCopyright).nullable().optional(), favicons: z.array(httpFavicon).nullable().optional(), google_site_verification: z.array(z.string()).nullable().optional(), headers: z.record(z.string(), httpRepeatedHeaders).optional(), html_tags: z.array(z.string()).nullable().optional(), html_title: z.string().optional(), network_log: networkLog.optional(), protocol: z.string().optional(), redirect_chain: z.array(httpRedirectChainLink).nullable().optional(), status_code: z.number().int().optional(), status_reason: z.string().optional(), supported_versions: z.array(z.string()).nullable().optional(), uri: z.string().optional()}); export const influxdb = z.object({build: z.string().optional(), setup_allowed: z.boolean().optional(), version: z.string().optional()}); export const ivantiAvalanche = z.object({body: z.string().optional(), status_code: z.number().int().optional(), version: z.string().optional()}); export const jenkinsLabel = z.object({name: z.string().optional(), value: z.string().optional()}); export const jenkinsBuild = z.object({duration_seconds: z.number().int().optional(), number: z.number().int().optional(), result: z.string().optional(), timestamp: z.number().int().optional(), url: z.string().optional()}); export const jenkinsJob = z.object({description: z.string().optional(), last_build: jenkinsBuild.optional(), name: z.string().optional(), url: z.string().optional()}); export const jenkins = z.object({assigned_labels: z.array(jenkinsLabel).nullable().optional(), jobs: z.array(jenkinsJob).nullable().optional(), mode: z.string().optional(), node_description: z.string().optional(), node_name: z.string().optional(), slave_agent_port: z.number().int().optional(), use_security: z.boolean().optional()}); export const jupyter = z.object({version: z.string().optional()}); export const keycloak = z.object({grant_types_supported: z.array(z.string()).nullable().optional(), id_token_signing_alg_values_supported: z.array(z.string()).nullable().optional(), public_key: z.string().optional(), realm_base_path: z.string().optional(), token_service: z.string().optional()}); export const kubernetesEndpointSubsetEndpointAddress = z.object({hostname: z.string().optional(), ip: z.string().optional(), node_name: z.string().optional()}); export const kubernetesEndpointSubsetPort = z.object({name: z.string().optional(), port: z.number().int().gte(0).optional(), protocol: z.string().optional()}); export const kubernetesEndpointSubset = z.object({addresses: z.array(kubernetesEndpointSubsetEndpointAddress).nullable().optional(), ports: z.array(kubernetesEndpointSubsetPort).nullable().optional()}); export const kubernetesEndpoint = z.object({name: z.string().optional(), self_link: z.string().optional(), subsets: z.array(kubernetesEndpointSubset).nullable().optional()}); export const kubernetesNodeNodeAddress = z.object({address: z.string().optional(), address_type: z.string().optional()}); export const kubernetesNode = z.object({addresses: z.array(kubernetesNodeNodeAddress).nullable().optional(), architecture: z.string().optional(), container_runtime_version: z.string().optional(), images: z.array(z.string()).nullable().optional(), kernel_version: z.string().optional(), kube_proxy_version: z.string().optional(), kubelet_version: z.string().optional(), name: z.string().optional(), operating_system: z.string().optional(), os_image: z.string().optional()}); export const kubernetesRoleRule = z.object({api_groups: z.array(z.string()).nullable().optional(), resources: z.array(z.string()).nullable().optional(), verbs: z.array(z.string()).nullable().optional()}); export const kubernetesRole = z.object({name: z.string().optional(), rules: z.array(kubernetesRoleRule).nullable().optional()}); export const kubernetesVersionInfo = z.object({build_date: z.string().optional(), compiler: z.string().optional(), git_commit: z.string().optional(), git_tree_state: z.string().optional(), git_version: z.string().optional(), go_version: z.string().optional(), major: z.string().optional(), minor: z.string().optional(), platform: z.string().optional()}); export const kubernetes = z.object({endpoints: z.array(kubernetesEndpoint).nullable().optional(), kubernetes_dashboard_found: z.boolean().optional(), nodes: z.array(kubernetesNode).nullable().optional(), pod_names: z.array(z.string()).nullable().optional(), roles: z.array(kubernetesRole).nullable().optional(), version_info: kubernetesVersionInfo.optional()}); export const mcpPrompt = z.object({name: z.string().optional()}); export const mcpResource = z.object({content: z.string().optional(), description: z.string().optional(), mime_type: z.string().optional(), name: z.string().optional(), uri: z.string().optional()}); export const mcpTool = z.object({description: z.string().optional(), name: z.string().optional()}); export const mcp = z.object({prompts: z.array(mcpPrompt).nullable().optional(), protocol_version: z.string().optional(), resources: z.array(mcpResource).nullable().optional(), server_name: z.string().optional(), server_version: z.string().optional(), tools: z.array(mcpTool).nullable().optional()}); export const netflixNrdp = z.object({version: z.string().optional()}); export const nginxProxyManager = z.object({setup: z.boolean().optional(), version: z.string().optional()}); export const ollamaModel = z.object({digest: z.string().optional(), expires_at: z.string().optional(), family: z.string().optional(), model: z.string().optional(), name: z.string().optional(), parent_model: z.string().optional(), size: z.number().int().gte(0).optional(), size_vram: z.number().int().gte(0).optional()}); export const ollama = z.object({models: z.array(ollamaModel).nullable().optional(), running_models: z.array(ollamaModel).nullable().optional(), version: z.string().optional()}); export const openDirectoryFile = z.object({extension: z.string().optional(), last_modified: z.string().optional(), name: z.string().optional(), path: z.string().optional(), size: z.number().int().optional(), suspicious_score: z.number().optional(), type: z.string().optional()}); export const openDirectory = z.object({files: z.array(openDirectoryFile).nullable().optional(), recursive: z.boolean().optional()}); export const plexMediaServer = z.object({version: z.string().optional()}); export const pprof = z.object({allocs: z.number().int().optional(), block: z.number().int().optional(), cmdline: z.string().optional(), goroutine: z.number().int().optional(), heap: z.number().int().optional(), mutex: z.number().int().optional(), profile: z.number().int().optional(), threadcreate: z.number().int().optional(), trace: z.number().int().optional()}); export const prometheusResponseActiveTargetDiscoveredLabels = z.object({address: z.string().optional(), job: z.string().optional(), metrics_path: z.string().optional(), scheme: z.string().optional()}); export const prometheusResponseActiveTargetLabels = z.object({instance: z.string().optional(), job: z.string().optional()}); export const prometheusResponseActiveTarget = z.object({discovered_labels: prometheusResponseActiveTargetDiscoveredLabels.optional(), health: z.string().optional(), labels: prometheusResponseActiveTargetLabels.optional(), last_error: z.string().optional(), last_scrape: z.string().optional(), scrape_url: z.string().optional()}); export const prometheusResponseDroppedTarget = z.object({address: z.string().optional(), job: z.string().optional(), metrics_path: z.string().optional(), scheme: z.string().optional()}); export const prometheusResponsePrometheusVersion = z.object({go_version: z.string().optional(), revision: z.string().optional(), version: z.string().optional()}); export const prometheusResponse = z.object({active_targets: z.array(prometheusResponseActiveTarget).nullable().optional(), all_versions: z.array(z.string()).nullable().optional(), config_exposed: z.boolean().optional(), dropped_targets: z.array(prometheusResponseDroppedTarget).nullable().optional(), go_versions: z.array(z.string()).nullable().optional(), prometheus_versions: z.array(prometheusResponsePrometheusVersion).nullable().optional()}); export const prometheus = z.object({response: prometheusResponse.optional()}); export const prometheusMetricFamily = z.object({help: z.string().optional(), name: z.string().optional()}); export const prometheusTarget = z.object({metric_families: z.array(prometheusMetricFamily).nullable().optional()}); export const proxmoxVeRealm = z.object({comment: z.string().optional(), realm: z.string().optional(), tfa: z.string().optional(), type: z.string().optional()}); export const proxmoxVe = z.object({api_daemon_version: z.string().optional(), realms: z.array(proxmoxVeRealm).nullable().optional()}); export const redlionWeb = z.object({enhanced_web_server: z.boolean().optional(), log_names: z.array(z.string()).nullable().optional(), title: z.string().optional()}); export const scadaView = z.object({description: z.string().optional(), title: z.string().optional()}); export const screenshot = z.object({extracted_text: z.string().optional(), handle: z.string().optional(), palsimhash: z.string().optional(), phash: z.string().optional()}); export const synologyDsm = z.object({apis: z.array(z.string()).nullable().optional()}); export const tailscaleDerp = z.object({public_key: z.string().optional()}); export const vault = z.object({cluster_name: z.string().optional(), enterprise: z.boolean().optional(), initialized: z.boolean().optional(), license_state: z.string().optional(), sealed: z.boolean().optional(), version: z.string().optional()}); export const wordpress = z.object({description: z.string().optional(), gmt_offset: z.string().optional(), home: z.string().optional(), name: z.string().optional(), namespaces: z.array(z.string()).nullable().optional(), timezone_string: z.string().optional()}); export const endpointScanState = z.object({argocd: argocd.optional(), banner: z.string().optional(), banner_hash_sha256: z.string().optional(), chrome_devtools: chromeDevtools.optional(), clickhouse_http: clickHouseHttp.optional(), cobalt_strike: cobaltStrike.optional(), elasticsearch: elasticSearch.optional(), endpoint_type: z.string().optional(), extracted: extractedEndpointData.optional(), fortigate: fortigate.optional(), graphql: graphql.optional(), hostname: z.string().optional(), http: http.optional(), influxdb: influxdb.optional(), ip: z.string().optional(), ivanti_avalanche: ivantiAvalanche.optional(), jenkins: jenkins.optional(), jupyter: jupyter.optional(), keycloak: keycloak.optional(), kubernetes: kubernetes.optional(), mcp: mcp.optional(), netflix_nrdp: netflixNrdp.optional(), nginx_proxy_manager: nginxProxyManager.optional(), ollama: ollama.optional(), open_directory: openDirectory.optional(), path: z.string().optional(), plex_media_server: plexMediaServer.optional(), port: z.number().int().gte(0).optional(), pprof: pprof.optional(), prometheus: prometheus.optional(), prometheus_target: prometheusTarget.optional(), proxmox_ve: proxmoxVe.optional(), redlion_web: redlionWeb.optional(), scada_view: scadaView.optional(), scan_time: z.string().optional(), screenshots: z.array(screenshot).nullable().optional(), synology_dsm: synologyDsm.optional(), tailscale_derp: tailscaleDerp.optional(), transport_protocol: z.enum(["", "tcp", "udp", "icmp", "quic"]).optional(), vault: vault.optional(), wordpress: wordpress.optional()}); export const cPELifeCycle = z.object({end_of_life: z.boolean().optional(), end_of_life_date: z.string().optional(), release_date: z.string().optional()}); export const cPE = z.object({cpe: z.string().optional(), edition: z.string().optional(), life_cycle: cPELifeCycle.optional(), part: z.string().optional(), product: z.string().optional(), update: z.string().optional(), vendor: z.string().optional(), version: z.string().optional()}); export const attribute = z.object({components: z.array(cPE).nullable().optional(), confidence: z.number().optional(), cpe: z.string().optional(), edition: z.string().optional(), evidence: z.array(evidence).nullable().optional(), life_cycle: cPELifeCycle.optional(), part: z.string().optional(), product: z.string().optional(), source: z.enum(["", "censys", "recog", "wappalyzer", "third_party", "html_meta_extractor"]).optional(), type: z.array(z.string()).nullable().optional(), update: z.string().optional(), vendor: z.string().optional(), version: z.string().optional()}); export const jarmScan = z.object({cipher_and_version_fingerprint: z.string().optional(), fingerprint: z.string().optional(), hostname: z.string().optional(), ip: z.string().optional(), is_success: z.boolean().optional(), port: z.number().int().gte(0).optional(), scan_time: z.string().optional(), tls_extensions_sha256: z.string().optional(), transport_protocol: z.enum(["", "tcp", "udp", "icmp", "quic"]).optional()}); export const label = z.object({confidence: z.number().optional(), evidence: z.array(evidence).nullable().optional(), source: z.enum(["", "censys", "recog", "wappalyzer", "third_party", "html_meta_extractor"]).optional(), value: z.string().optional()}); export const threatActor = z.object({all_names: z.array(z.string()).nullable().optional(), id: z.string().optional(), malpedia_group_id: z.string().optional(), mitre_group_id: z.string().optional(), primary_name: z.string().optional()}); export const threatDetails = z.object({campaign_id: z.string().optional(), campaign_theme: z.string().optional(), control_servers: z.array(z.string()).nullable().optional(), version: z.string().optional()}); export const threatMalware = z.object({all_names: z.array(z.string()).nullable().optional(), id: z.string().optional(), last_updated_at: z.string().optional(), malpedia_id: z.string().optional(), primary_name: z.string().optional()}); export const threat = z.object({actors: z.array(threatActor).nullable().optional(), confidence: z.number().optional(), details: threatDetails.optional(), evidence: z.array(evidence).nullable().optional(), id: z.string().optional(), malware: threatMalware.optional(), name: z.string().optional(), source: z.enum(["", "censys", "recog", "wappalyzer", "third_party", "html_meta_extractor"]).optional(), tactic: z.array(z.string()).nullable().optional(), type: z.array(z.string()).nullable().optional()}); export const tlsChain = z.object({fingerprint_sha256: z.string().optional(), issuer_dn: z.string().optional(), subject_dn: z.string().optional()}); export const tlsVersionData = z.object({ja3s: z.string().optional(), ja4s: z.string().optional(), version: z.enum(["", "ss_lv_2", "ss_lv_3", "tlsv1_0", "tlsv1_1", "tlsv1_2", "tlsv1_3", "dtlsv1_0", "dtlsv1_2", "dtlsv1_3"]).optional()}); export const tls = z.object({cipher_selected: z.string().optional(), fingerprint_sha256: z.string().optional(), ja3s: z.string().optional(), ja4s: z.string().optional(), key_exchange_group: z.string().optional(), pqc_groups: z.array(z.string()).nullable().optional(), presented_chain: z.array(tlsChain).nullable().optional(), version_selected: z.enum(["", "ss_lv_2", "ss_lv_3", "tlsv1_0", "tlsv1_1", "tlsv1_2", "tlsv1_3", "dtlsv1_0", "dtlsv1_2", "dtlsv1_3"]).optional(), versions: z.array(tlsVersionData).nullable().optional()}); export const cWE = z.object({entry: z.string().optional()}); export const kEV = z.object({date_added: z.string().optional(), date_due: z.string().optional(), source: z.enum(["", "cisa", "third_party"]).optional()}); export const vuln = z.object({confidence: z.number().optional(), cwes: z.array(cWE).nullable().optional(), evidence: z.array(evidence).nullable().optional(), id: z.string().optional(), kev: z.array(kEV).nullable().optional(), metrics: metrics.optional(), name: z.string().optional(), risk_source: z.enum(["", "censys", "cve"]).optional(), severity: z.enum(["", "low", "medium", "high", "critical"]).optional(), source: z.enum(["", "censys", "recog", "wappalyzer", "third_party", "html_meta_extractor"]).optional(), type: z.array(z.string()).nullable().optional(), year: z.number().int().gte(0).optional()}); export const webproperty = z.object({cert: certificate.optional(), compromises: z.array(risk).nullable().optional(), endpoints: z.array(endpointScanState).nullable().optional(), exposures: z.array(risk).nullable().optional(), hardware: z.array(attribute).nullable().optional(), hostname: z.string().optional(), jarm: jarmScan.optional(), labels: z.array(label).nullable().optional(), misconfigs: z.array(risk).nullable().optional(), operating_systems: z.array(attribute).nullable().optional(), port: z.number().int().gte(0).optional(), scan_time: z.string().optional(), software: z.array(attribute).nullable().optional(), threats: z.array(threat).nullable().optional(), tls: tls.optional(), vulns: z.array(vuln).nullable().optional()}); export const webpropertyAsset = z.object({extensions: z.record(z.string(), z.unknown()), resource: webproperty}); export const responseEnvelopeWebpropertyAsset = z.object({result: webpropertyAsset.optional()}); export const validateResponse = async ( schema: { readonly '~standard': { readonly validate: (value: unknown) => ({ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }) | Promise<{ readonly value: Output; readonly issues?: undefined } | { readonly issues: ReadonlyArray<{ readonly message: string; readonly path?: ReadonlyArray | undefined }> }> } }, value: unknown ): Promise => { const result = await schema['~standard'].validate(value) if (result.issues !== undefined) { const detail = result.issues .map(({ message, path }) => path?.length ? `${path.map((segment) => String(typeof segment === 'object' ? segment.key : segment)).join('.')}: ${message}` : message ) .join('; ') throw new Error(`Response does not match the schema: ${detail}`, { cause: { issues: result.issues } }) } return result.value }; /** * Get a web property * * GET /v3/global/asset/webproperty/{webproperty_id} */ export const getApiV3GlobalAssetWebpropertyWebpropertyId = async (args: GetApiV3GlobalAssetWebpropertyWebpropertyIdArgs, options?: GetApiV3GlobalAssetWebpropertyWebpropertyIdOptions) => { const {baseUrl = "https://api.platform.censys.io", fetch: fetchFn = fetch, PersonalAccessToken} = options ?? {} const query = new URLSearchParams() const headers = new Headers() headers.set('accept', "application/vnd.censys.api.v3.webproperty.v1+json") if (args.organization_id != null) query.append("organization_id", String(args.organization_id)) if (args['X-Organization-ID'] != null) headers.set("X-Organization-ID", String(args['X-Organization-ID'])) if (args.at_time != null) query.append("at_time", String(args.at_time)) if (PersonalAccessToken !== undefined) headers.set('authorization', `Bearer ${PersonalAccessToken}`) const url = `${baseUrl.replace(/\/+$/, '')}/v3/global/asset/webproperty/${encodeURIComponent(String(args.webproperty_id))}${query.size > 0 ? `?${query}` : ''}` const res = await fetchFn(url, {method: "GET", headers}) if (!res.ok) throw new Error(`Request failed with status ${res.status}`, {cause: {status: res.status, body: await res.text()}}) return validateResponse(responseEnvelopeWebpropertyAsset, await res.json()) };