Files
rengine/shared/models/__init__.py
T
Yogesh OjhaandClaude Fable 5.1 ca32cc62f3 feat(connectors): browsing lands in the endpoints inventory
Proxy observations are written as endpoint rows with source proxy into the
target's covering scan; a target without a census scan gets a Browsing run,
and finalize replays recorded shapes into a new census scan. "Seen by a
scan" is host plus path shape (new endpoints.shape column, backfilled),
with parameter differences reported as their own notice and unseen claimed
only when a settled scan covers the target.

Removed the scan trigger, sessions and coverage surfaces. The jar is served
from binaries/, the setup dialog derives the endpoint from the browser
origin, scans dispatch one run per target with the chosen scan context, and
manual findings mask credential headers. Endpoints page gains Browsed and
Not browsed filters; the Burp tab gains a host line, a notices table with
Open in reNgine, and a report dialog with notes and a result.

Co-Authored-By: Claude Fable 5.1 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01PMmqqNaMMjCJWzGG49Xc1i
2026-09-12 16:39:23 +05:30

466 lines
9.9 KiB
Python

import shared.models._tztypes # patch datetime->timestamptz first
from shared.models.activity_log import ActivityLog, ActivityLogRead
from shared.models.ai import AiNarrative
from shared.models.api_key import (
APIKey,
APIKeyCreate,
APIKeyRead,
APIKeyUpdate,
ProviderInfo,
)
from shared.models.compare import (
ChangeField,
ChangeRow,
ChangeRows,
ComparableRun,
CoverageLine,
DimensionDelta,
DimensionVerdict,
RunDifference,
RunSide,
ScanComparison,
ScreenshotPair,
SettingDiff,
StageDiff,
)
from shared.models.connector import (
ActionRead,
ActionRequest,
AddTargetRequest,
CandidatePage,
CandidateRead,
Connector,
ConnectorAction,
ConnectorCandidate,
ConnectorCreate,
ConnectorCreated,
ConnectorHost,
ConnectorRead,
ConnectorScope,
ConnectorUpdate,
DiscoveredDomain,
FindingRecorded,
FindingReport,
HostFacts,
IngestItem,
IngestRequest,
IngestResult,
NoticeRead,
TargetAdded,
TargetOption,
)
from shared.models.dns import (
DnsLookup,
DnsLookupRead,
DnsLookupSummary,
DnsRecord,
DnsRecordRead,
)
from shared.models.endpoint import (
Endpoint,
EndpointCoverage,
EndpointDetail,
EndpointFacets,
EndpointFilter,
EndpointPage,
EndpointRead,
EndpointSummary,
EndpointTree,
TreeNode,
)
from shared.models.http_asset import (
HttpAsset,
HttpAssetRead,
HttpAssetSummary,
)
from shared.models.instance_settings import (
InstanceSettings,
InstanceSettingsRead,
InstanceSettingsUpdate,
)
from shared.models.interest import (
InterestCatalog,
InterestDismissal,
InterestFilter,
InterestPage,
InterestRow,
InterestRule,
InterestRuleCreate,
InterestRuleRead,
InterestRuleUpdate,
InterestSignal,
InterestSummary,
RulePreview,
RuleSuggestion,
)
from shared.models.ip_address import (
IpAddress,
IpAddressRead,
IpAddressSummary,
TargetIpAddressRead,
)
from shared.models.ip_asn_range import IpAsnRange, IpCountryRange
from shared.models.note import (
Note,
NoteCount,
NoteCreate,
NoteRead,
NoteTag,
NoteUpdate,
)
from shared.models.notification import (
Notification,
NotificationCreate,
NotificationRead,
)
from shared.models.notification_channel import (
NotificationChannel,
NotificationChannelCreate,
NotificationChannelRead,
NotificationChannelTestResult,
NotificationChannelUpdate,
NotificationPreference,
)
from shared.models.organization import (
Organization,
OrganizationCreate,
OrganizationRead,
OrganizationSummary,
OrganizationUpdate,
)
from shared.models.port import Port, PortRead, PortSummary
from shared.models.project import Project, ProjectBase, ProjectCreate, ProjectRead
from shared.models.proxy import (
Proxy,
ProxyCreate,
ProxyEndpoint,
ProxyEndpointRead,
ProxyRead,
ProxyTestResult,
ProxyUpdate,
)
from shared.models.report import Report, ReportFont, ReportTemplate, ReportTheme
from shared.models.ripestat import (
RIPEStatAbuseContact,
RIPEStatAnnouncedPrefix,
RIPEStatASNNeighbour,
RIPEStatASOverview,
RIPEStatNetworkInfo,
RIPEStatPrefixOverview,
RIPEStatRelatedPrefix,
)
from shared.models.scan import (
Scan,
ScanCreate,
ScanRead,
)
from shared.models.scan_activity import ScanActivity, ScanActivityRead
from shared.models.scan_command import (
ScanCommand,
ScanCommandDetail,
ScanCommandRead,
)
from shared.models.scan_context import (
AuthConfig,
AuthHeader,
ScanContext,
ScanContextCreate,
ScanContextRead,
ScanContextUpdate,
)
from shared.models.scan_engine import (
EngineCatalog,
ScanEngine,
ScanEngineCreate,
ScanEngineRead,
ScanEngineUpdate,
)
from shared.models.scan_schedule import (
ScanSchedule,
ScanScheduleCreate,
ScanScheduleRead,
ScanScheduleUpdate,
ScheduleTargetRef,
)
from shared.models.software import (
NvdCpeMatch,
NvdCve,
SoftwareComponentRead,
SoftwareCoverage,
SoftwareCve,
SoftwareCveRead,
SoftwareFacet,
SoftwareFacets,
SoftwareFilter,
SoftwarePage,
)
from shared.models.subdomain import (
Subdomain,
SubdomainRead,
SubdomainSummary,
TargetSubdomainRead,
)
from shared.models.tag import Tag, TagBase, TagCreate, TagRead, TagSummary, TagUpdate
from shared.models.target import (
Target,
TargetBulkCreate,
TargetBulkCreateResponse,
TargetCreate,
TargetImportItem,
TargetImportRequest,
TargetImportResult,
TargetRead,
TargetType,
TargetUpdate,
TargetValidationRequest,
TargetValidationResponse,
)
from shared.models.user import User, UserBase, UserCreate, UserRead
from shared.models.viewdns import ViewDNSCache
from shared.models.vuln_template import (
TemplateFilter,
TemplateLibraryStats,
TemplatePage,
TemplateSelection,
VulnTemplate,
VulnTemplateRead,
VulnTemplateUpdate,
VulnTemplateUploadRequest,
)
from shared.models.vulnerability import (
ScanVulnerabilities,
Vulnerability,
VulnerabilityCoverage,
VulnerabilityFacets,
VulnerabilityFilter,
VulnerabilityPage,
VulnerabilityRead,
VulnerabilityTriage,
)
from shared.models.wordlist import (
Wordlist,
WordlistFile,
WordlistRead,
WordlistUpdate,
WordlistUploadRequest,
WordlistUploadResult,
)
TargetRead.model_rebuild()
__all__ = [
"APIKey",
"APIKeyCreate",
"APIKeyRead",
"APIKeyUpdate",
"ActionRead",
"ActionRequest",
"ActivityLog",
"ActivityLogRead",
"AddTargetRequest",
"AiNarrative",
"AuthConfig",
"AuthHeader",
"CandidatePage",
"CandidateRead",
"ChangeField",
"ChangeRow",
"ChangeRows",
"ComparableRun",
"Connector",
"ConnectorAction",
"ConnectorCandidate",
"ConnectorCreate",
"ConnectorCreated",
"ConnectorHost",
"ConnectorRead",
"ConnectorScope",
"ConnectorUpdate",
"CoverageLine",
"DimensionDelta",
"DimensionVerdict",
"DiscoveredDomain",
"DnsLookup",
"DnsLookupRead",
"DnsLookupSummary",
"DnsRecord",
"DnsRecordRead",
"Endpoint",
"EndpointCoverage",
"EndpointDetail",
"EndpointFacets",
"EndpointFilter",
"EndpointPage",
"EndpointRead",
"EndpointSummary",
"EndpointTree",
"EngineCatalog",
"FindingRecorded",
"FindingReport",
"HostFacts",
"HttpAsset",
"HttpAssetRead",
"HttpAssetSummary",
"IngestItem",
"IngestRequest",
"IngestResult",
"InstanceSettings",
"InstanceSettingsRead",
"InstanceSettingsUpdate",
"InterestCatalog",
"InterestDismissal",
"InterestFilter",
"InterestPage",
"InterestRow",
"InterestRule",
"InterestRuleCreate",
"InterestRuleRead",
"InterestRuleUpdate",
"InterestSignal",
"InterestSummary",
"IpAddress",
"IpAddressRead",
"IpAddressSummary",
"IpAsnRange",
"IpCountryRange",
"Note",
"NoteCount",
"NoteCreate",
"NoteRead",
"NoteTag",
"NoteUpdate",
"NoticeRead",
"Notification",
"NotificationChannel",
"NotificationChannelCreate",
"NotificationChannelRead",
"NotificationChannelTestResult",
"NotificationChannelUpdate",
"NotificationCreate",
"NotificationPreference",
"NotificationRead",
"NvdCpeMatch",
"NvdCve",
"Organization",
"OrganizationCreate",
"OrganizationRead",
"OrganizationSummary",
"OrganizationUpdate",
"Port",
"PortRead",
"PortSummary",
"Project",
"ProjectBase",
"ProjectCreate",
"ProjectRead",
"ProviderInfo",
"Proxy",
"ProxyCreate",
"ProxyEndpoint",
"ProxyEndpointRead",
"ProxyRead",
"ProxyTestResult",
"ProxyUpdate",
"RIPEStatASNNeighbour",
"RIPEStatASOverview",
"RIPEStatAbuseContact",
"RIPEStatAnnouncedPrefix",
"RIPEStatNetworkInfo",
"RIPEStatPrefixOverview",
"RIPEStatRelatedPrefix",
"Report",
"ReportFont",
"ReportTemplate",
"ReportTheme",
"RulePreview",
"RuleSuggestion",
"RunDifference",
"RunSide",
"Scan",
"ScanActivity",
"ScanActivityRead",
"ScanCommand",
"ScanCommandDetail",
"ScanCommandRead",
"ScanComparison",
"ScanContext",
"ScanContextCreate",
"ScanContextRead",
"ScanContextUpdate",
"ScanCreate",
"ScanEngine",
"ScanEngineCreate",
"ScanEngineRead",
"ScanEngineUpdate",
"ScanRead",
"ScanSchedule",
"ScanScheduleCreate",
"ScanScheduleRead",
"ScanScheduleUpdate",
"ScanVulnerabilities",
"ScheduleTargetRef",
"ScreenshotPair",
"SettingDiff",
"SoftwareComponentRead",
"SoftwareCoverage",
"SoftwareCve",
"SoftwareCveRead",
"SoftwareFacet",
"SoftwareFacets",
"SoftwareFilter",
"SoftwarePage",
"StageDiff",
"Subdomain",
"SubdomainRead",
"SubdomainSummary",
"Tag",
"TagBase",
"TagCreate",
"TagRead",
"TagSummary",
"TagUpdate",
"Target",
"TargetAdded",
"TargetBulkCreate",
"TargetBulkCreateResponse",
"TargetCreate",
"TargetImportItem",
"TargetImportRequest",
"TargetImportResult",
"TargetIpAddressRead",
"TargetOption",
"TargetRead",
"TargetSubdomainRead",
"TargetType",
"TargetUpdate",
"TargetValidationRequest",
"TargetValidationResponse",
"TemplateFilter",
"TemplateLibraryStats",
"TemplatePage",
"TemplateSelection",
"TreeNode",
"User",
"UserBase",
"UserCreate",
"UserRead",
"ViewDNSCache",
"VulnTemplate",
"VulnTemplateRead",
"VulnTemplateUpdate",
"VulnTemplateUploadRequest",
"Vulnerability",
"VulnerabilityCoverage",
"VulnerabilityFacets",
"VulnerabilityFilter",
"VulnerabilityPage",
"VulnerabilityRead",
"VulnerabilityTriage",
"Wordlist",
"WordlistFile",
"WordlistRead",
"WordlistUpdate",
"WordlistUploadRequest",
"WordlistUploadResult",
]