Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
17 commits
Select commit Hold shift + click to select a range
b9dbb09
docs: ADR 0004 — agent browser trust models and CDP exposure
pando85 Jul 24, 2026
4179bb1
feat(agent): implement CDP port exposure mode (ADR 0004)
pando85 Jul 24, 2026
13a3379
fix(agent): make euid check non-fatal when UHID accessible via group
pando85 Jul 24, 2026
8a56bf8
fix: replace manual Default impl with derive for CdpExposeMode
Jul 24, 2026
4a8d6ba
fix: use thread ID instead of process ID in peer cred test
Jul 24, 2026
82e6c8f
fix(core): use-after-free in send_msg_with_fds cmsg buffer
pando85 Jul 24, 2026
dea6b9c
fix(core): silence clippy unused-assignment in send_msg_with_fds
pando85 Jul 24, 2026
dcd7fe5
fix(agent): allow same-user principal spawn for non-root daemon
pando85 Jul 24, 2026
f0b1c9c
fix(agent): fall back to daemon ns inodes when child proc unreadable
pando85 Jul 24, 2026
51c162c
fix(cli): reconnect admin client for each wait_principal poll
pando85 Jul 24, 2026
ec7c80e
fix(agent): preserve stdio fds in close_range during principal spawn
pando85 Jul 24, 2026
b9433d1
fix(agent): preserve stdio fds in browser spawn close_range
Jul 25, 2026
0f43a28
fix(test): use getpid() instead of gettid() for SO_PEERCRED comparison
Jul 25, 2026
821160d
fix(agent): skip close_range and rlimits in same-user mode
pando85 Jul 25, 2026
10f4185
feat(agent): relax executable ownership and add admin RequestDelegation
pando85 Jul 25, 2026
0b2b5c3
fix(agent): fix CDP port discovery for fixed-port mode
pando85 Jul 25, 2026
bf5477d
Merge branch 'master' into feat/agent-cdp-port-exposure
pando85 Jul 25, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 10 additions & 0 deletions cmd/passless/src/agent/audit_events.rs
Original file line number Diff line number Diff line change
Expand Up @@ -531,6 +531,8 @@ pub struct BrowserLeaseLaunchMeta {
lease_id: BrowserLeaseId,
profile_id: ProfileId,
endpoint_id: EndpointId,
#[serde(default, skip_serializing_if = "Option::is_none")]
cdp_expose: Option<String>,
}

#[derive(Debug, Clone, Serialize, Deserialize)]
Expand Down Expand Up @@ -1161,6 +1163,7 @@ pub struct BrowserLeaseLaunchBuilder {
lease_id: BrowserLeaseId,
profile_id: ProfileId,
endpoint_id: EndpointId,
cdp_expose: Option<String>,
}

impl BrowserLeaseLaunchBuilder {
Expand All @@ -1169,14 +1172,21 @@ impl BrowserLeaseLaunchBuilder {
lease_id,
profile_id,
endpoint_id,
cdp_expose: None,
}
}

pub fn with_cdp_expose(mut self, mode: String) -> Self {
self.cdp_expose = Some(mode);
self
}

pub fn build(self) -> AuditEvent {
AuditEvent::new(AuditPayload::BrowserLeaseLaunch(BrowserLeaseLaunchMeta {
lease_id: self.lease_id,
profile_id: self.profile_id,
endpoint_id: self.endpoint_id,
cdp_expose: self.cdp_expose,
}))
}
}
Expand Down
Loading
Loading