Skip to content

add per-agent access audits - #63

Open
peterj wants to merge 16 commits into
mainfrom
peterj/access-posture
Open

peterj wants to merge 16 commits into
mainfrom
peterj/access-posture

Conversation

@peterj

@peterj peterj commented Sep 1, 2026

Copy link
Copy Markdown
Collaborator

add access assessments for supported agents and show configuration, defaults as well as the items derived from the individual sessions (e.g. "used tool X", "gave access to Y")

Note that all this is read-only - there's no way to generate any configuration or access rules out of this yet.

@peterj
peterj force-pushed the peterj/access-posture branch from 3bf5534 to 066276e Compare September 2, 2026 10:09
@peterj
peterj requested a review from howardjohn September 2, 2026 10:20
@peterj

peterj commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

don't merge yet - adding the ability to update the config based on the recommendations

@peterj
peterj marked this pull request as draft September 2, 2026 15:20
@howardjohn

Copy link
Copy Markdown
Contributor
2026-09-02_09-18-37 This seems a bit off.

I had a concern "do per-session allows get conflated with global settings"? from your pic I was worried it was but it looks like no

code.claude.com
5 recorded requests · history updated Aug 19, 2026
/tmp/tmp.jLZBz9FmPj

@peterj

peterj commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

I was trying to get the best display/view for these as there's a lot of information we could show. The per-session items are marked with "Session", there's "Default", and "Configured" where the user explicitly configured something (e.g. wildcard domains or specific domain for example).

Honestly, I am not sure whether the view with 100+ items that say "shell commands" is actually useful or not (we could combine them into a single item and say "shell commands" (10+ instances) or something like that.

@peterj

peterj commented Sep 2, 2026

Copy link
Copy Markdown
Collaborator Author

for example -- I don' think this is very useful(this would be under filesystem)
Screenshot 2026-09-02 at 6 33 39 PM

Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
@peterj
peterj force-pushed the peterj/access-posture branch from 278f47c to ecd5cf8 Compare September 2, 2026 20:57
@peterj
peterj marked this pull request as ready for review September 2, 2026 20:57
Signed-off-by: Peter Jausovec <peter.jausovec@solo.io>
@peterj

peterj commented Sep 10, 2026

Copy link
Copy Markdown
Collaborator Author

@copilot resolve the merge conflicts in this pull request

Copilot AI and others added 2 commits September 10, 2026 08:03
# Conflicts:
#	crates/agent/src/discovery/mod.rs

Co-authored-by: peterj <11080940+peterj@users.noreply.github.com>
Co-authored-by: peterj <11080940+peterj@users.noreply.github.com>

Copilot AI commented Sep 10, 2026

Copy link
Copy Markdown
Contributor

@copilot resolve the merge conflicts in this pull request

Resolved by merging origin/main and fixing the conflict in crates/agent/src/discovery/mod.rs in commit d3a9398.

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🟡 Changes recommended

Cross-user data exposure, a mutation deadlock, audit false negatives, and configuration writes outside the stated read-only scope remain unresolved.

8 open issues
What changed in this PR

Adds per-agent access audits to the desktop tool inventory, combining configuration, defaults, and session evidence with coverage and risk reporting.

Changes:

  • Introduces shared audit models, agent-specific collectors, and CLI/API access.
  • Integrates audit summaries and per-agent access panels into the desktop.
  • Adds standalone network-rule editing, configuration-source opening, and development tooling.
File Description
Makefile Adds a desktop development launcher.
frontend/​ui/​src/​tools.tsx Supports an optional leading inventory tab.
frontend/​ui/​src/​styles.css Adjusts inventory layout and nested summaries.
frontend/​desktop/​src/​views/​ToolsView.tsx Integrates audit summaries into tool inventory.
frontend/​desktop/​src/​views/​PolicyView.tsx Adds staged network-rule editing.
frontend/​desktop/​src/​useDesktopModel.ts Loads audits and coordinates access actions.
frontend/​desktop/​src/​types.ts Defines audit and rule-change types.
frontend/​desktop/​src/​stories/​fixtures.ts Adds representative audit fixtures.
frontend/​desktop/​src/​Desktop.tsx Connects audit state and editing controls.
frontend/​desktop/​src/​components/​DesktopShell.tsx Adds navigation tooltips.
frontend/​desktop/​src/​components/​DesktopShell.stories.tsx Checks that Access has no separate navigation entry.
frontend/​desktop/​src/​components/​AgentToolInventory.tsx Embeds agent access panels in inventory.
frontend/​desktop/​src/​backend.ts Adds typed native access commands.
frontend/​desktop/​.storybook/​preview.ts Widens the native-window preview.
crates/​core/​src/​model.rs Defines shared audit data structures.
crates/​agentdesktop/​tauri.conf.json Widens the desktop window.
crates/​agentdesktop/​src/​network_policy/​vscode.rs Implements VS Code rule mutations.
crates/​agentdesktop/​src/​network_policy/​claude.rs Implements Claude rule mutations.
crates/​agentdesktop/​src/​network_policy.rs Validates and dispatches network-rule changes.
crates/​agentdesktop/​src/​main.rs Adds native audit commands and socket selection changes.
crates/​agentdesktop/​Cargo.toml Adds the JSONC parser dependency.
crates/​agent/​src/​provider/​mod.rs Exposes metadata within the crate.
crates/​agent/​src/​provider/​metadata.rs Adds user-ID-based home resolution.
crates/​agent/​src/​lib.rs Registers access and discovery modules.
crates/​agent/​src/​discovery/​mod.rs Provides reusable discovery entry points.
crates/​agent/​src/​daemon.rs Attaches the local caller’s home to requests.
crates/​agent/​src/​cli.rs Adds the access-audit command.
crates/​agent/​src/​api.rs Exposes the local audit endpoint.
crates/​agent/​src/​access/​vscode.rs Collects VS Code configuration and runtime evidence.
crates/​agent/​src/​access/​opencode.rs Collects OpenCode permissions and defaults.
crates/​agent/​src/​access/​mod.rs Assembles reports and derives risk findings.
crates/​agent/​src/​access/​history_scan.rs Adds bounded session-history scanning.
crates/​agent/​src/​access/​configuration.rs Dispatches configuration adapters.
crates/​agent/​src/​access/​codex.rs Collects Codex configuration and runtime evidence.
crates/​agent/​src/​access/​claude_desktop.rs Collects Claude Desktop access evidence.
crates/​agent/​src/​access/​claude_code.rs Collects Claude permissions and sandbox settings.
Cargo.lock Records the desktop parser dependency.

Review effort: Balanced

Comment thread crates/agent/src/access/opencode.rs Outdated
Comment thread crates/agent/src/access/opencode.rs Outdated
Comment thread crates/agent/src/api.rs
Comment thread crates/agentdesktop/src/main.rs Outdated
Comment thread crates/agent/src/access/claude_code.rs
Comment thread crates/agent/src/access/codex.rs Outdated
Comment thread frontend/desktop/src/Desktop.tsx Outdated
Comment thread frontend/desktop/src/views/PolicyView.tsx Outdated

This branch has not been deployed

No deployments
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

4 participants