Skip to content
API Documentation
BastionGuard™
RootGuardEvent.hpp
Go to the documentation of this file.
1/*
2 * BastionGuard™ RootGuard GTK integration
3 * Copyright (C) 2025–2026 Calogero Scarnà
4 * SPDX-License-Identifier: GPL-3.0-or-later
5 */
6#pragma once
7
8#include <cstdint>
9#include <optional>
10#include <string>
11
13
19
20struct Event {
21 std::string received_at;
22 std::string event;
23 std::string verdict;
24 std::uint32_t pid{};
25 std::uint32_t tgid{};
26 std::uint32_t ppid{};
27 std::uint32_t old_euid{};
28 std::uint32_t new_euid{};
29 std::uint32_t rule_id{};
30 std::uint32_t reason_flags{};
31 std::int32_t lsm_flags{};
32 std::uint32_t auxiliary{};
33 std::uint64_t device{};
34 std::uint64_t inode{};
35 std::uint64_t actor_device{};
36 std::uint64_t actor_inode{};
37 std::uint64_t parent_device{};
38 std::uint64_t parent_inode{};
39 std::uint64_t actor_start_boottime_ns{};
40 std::uint32_t old_mode{};
41 std::uint32_t new_mode{};
42 std::uint32_t old_uid{};
43 std::uint32_t new_uid{};
44 std::uint32_t old_gid{};
45 std::uint32_t new_gid{};
46 std::string comm;
47 std::string parent_comm;
48 std::string actor_executable;
49 std::string parent_executable;
50 std::string filename;
51 std::string path_resolution{"basename-only"};
52 std::string raw_json;
53};
54
55std::optional<Event> parse_event_json(const std::string& line);
56std::string format_event(const Event& event);
57std::string event_fingerprint(const Event& event);
58EventSeverity classify_event(const Event& event) noexcept;
59bool is_security_observation(const Event& event) noexcept;
60bool is_actionable_incident(const Event& event) noexcept;
61bool is_system_service_path(const std::string& path) noexcept;
62
63} // namespace BastionGuard::RootGuard
std::string event_fingerprint(const Event &event)
bool is_actionable_incident(const Event &event) noexcept
bool is_security_observation(const Event &event) noexcept
std::string format_event(const Event &event)
std::optional< Event > parse_event_json(const std::string &line)
EventSeverity classify_event(const Event &event) noexcept
bool is_system_service_path(const std::string &path) noexcept