MCPcopy Index your code
hub / github.com/ParetoSecurity/agent

github.com/ParetoSecurity/agent @0.3.20

Chat with this repo
repository ↗ · DeepWiki ↗ · release 0.3.20 ↗ · + Follow
1,124 symbols 3,300 edges 177 files 391 documented · 35%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

ParetoSecurity

OpenSSF Scorecard Downloads OpenSSF Scorecard Integration Tests Unit Tests Release

Check for basic security hygiene of any Linux desktop

Pareto Desktop is a standalone open-source app that makes sure your Linux device is correctly configured for security. It checks for 13 most imporant security settings, aimed at regular users, not security geeks. It runs automagically in the background via a systray icon, or as a one-off CLI cool.

Documentation on https://paretosecurity.com/docs/linux/install.

linux-2000w

Installation

Using Debian/Ubuntu/Pop!_OS/RHEL/Fedora/CentOS

See https://pkg.paretosecurity.com for install steps.

Quick Start

To run a one-time security audit:

paretosecurity check

Using Nix

Install from nixpkgs

Install CLI from nixpkgs

$ nix-env -iA nixpkgs.paretosecurity

or

$ nix profile install nixpkgs#paretosecurity

Install on NixOS

Install NixOS module

Add this to your NixOS configuration:

{
  services.paretosecurity.enable = true;
}

This will install the agent and its root helper so you don't need sudo to run it.

Install CLI only in NixOS via nixpkgs

Add this to your NixOS configuration:

{ pkgs, ... }: {
  environment.systemPackages = [ pkgs.paretosecurity ];
}

Run checks

$ paretosecurity check

This will analyze your system and provide a security report highlighting potential improvements and vulnerabilities.

If you did not install the root helper, you need to run it with sudo:

$ sudo paretosecurity check

Install via nix-channel

As root run:

$ sudo nix-channel --add https://github.com/ParetoSecurity/agent/archive/main.tar.gz paretosecurity
$ sudo nix-channel --update

Install CLI via nix-channel

To install the paretosecurity binary:

{
  environment.systemPackages = [ (pkgs.callPackage <paretosecurity/pkgs/paretosecurity.nix> {}) ];
}

Run checks

paretosecurity check

This will analyze your system and provide a security report highlighting potential improvements and vulnerabilities.

Install via Flakes

Install CLI via Flakes

Using NixOS module (replace system "x86_64-linux" with your system):

{
  environment.systemPackages = [ paretosecurity.packages.x86_64-linux.default ];
}

e.g. inside your flake.nix file:

{
  inputs.paretosecurity.url = "github:paretosecurity/agent";
  # ...

  outputs = { self, nixpkgs, paretosecurity }: {
    # change `yourhostname` to your actual hostname
    nixosConfigurations.yourhostname = nixpkgs.lib.nixosSystem {
      system = "x86_64-linux";
      modules = [
        # ...
        {
          environment.systemPackages = [ paretosecurity.packages.${system}.default ];
        }
      ];
    };
  };
}

Run checks

paretosecurity check

This will analyze your system and provide a security report highlighting potential improvements and vulnerabilities.

Extension points exported contracts — how you extend this code

Check (Interface)
(no doc) [29 implementers]
check/check.go
CommandRunner (Interface)
CommandRunner interface for running external commands [2 implementers]
trayapp/interfaces.go
StateManager (Interface)
StateManager interface for managing application state [2 implementers]
trayapp/interfaces.go
BrowserOpener (Interface)
BrowserOpener interface for opening URLs in browser [2 implementers]
trayapp/interfaces.go
SystemTray (Interface)
SystemTray interface for system tray operations [2 implementers]
trayapp/interfaces.go
MenuItem (Interface)
MenuItem interface for system tray menu items [2 implementers]
trayapp/interfaces.go

Core symbols most depended-on inside this repo

Run
called by 131
check/check.go
Info
called by 67
checks/linux/mock.go
RunCommand
called by 66
shared/command_unix.go
Name
called by 61
check/check.go
UUID
called by 45
check/check.go
SetTitle
called by 24
trayapp/interfaces.go
Add
called by 23
trayapp/interfaces.go
NewBroadcaster
called by 20
shared/broadcaster.go

Shape

Function 507
Method 498
Struct 104
Interface 13
TypeAlias 2

Languages

Go100%
TypeScript1%

Modules by API surface

trayapp/tray_test.go78 symbols
trayapp/interfaces.go53 symbols
trayapp/implementation.go53 symbols
checks/shared/package_manager_supply_chain.go38 symbols
checks/windows/screensaver_password.go31 symbols
runner/root_runner_test.go21 symbols
checks/windows/defender.go21 symbols
runner/checks_runner_test.go17 symbols
checks/windows/bitlocker_property_windows.go16 symbols
checks/shared/package_manager_supply_chain_test.go16 symbols
check/check_test.go16 symbols
team/report_test.go13 symbols

For agents

$ claude mcp add agent \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact