MCPcopy Index your code
hub / github.com/cea-sec/openwec

github.com/cea-sec/openwec @v0.3.0

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.3.0 ↗ · + Follow
804 symbols 2,232 edges 77 files 60 documented · 7% updated 5mo agov0.3.0 · 2024-09-07★ 998 open issues
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

OpenWEC

OpenWEC is a free and open source (GPLv3) implementation of a Windows Event Collector server running on GNU/Linux and written in Rust.

OpenWEC collects Windows event logs from a Linux machine without the need for a third-party local agent running on Windows machines.

OpenWEC implements the Windows Event Forwarding protocol (MS-WSMV), which is derived from WS-Management (DSP0226). The same protocol is used by the built-in Windows Event Forwarding plugin. As it speaks the same protocol, OpenWEC can be used with the built-in Windows Event Forwarding plugin. Only the source-initiated mode (Push) is supported for now.

OpenWEC is composed of two binaries: - openwecd: OpenWEC server - openwec: OpenWEC CLI, used to manage the OpenWEC server

The OpenWEC configuration is read from a file (by default /etc/openwec.conf.toml). See available parameters in openwec.conf.sample.toml. Subscriptions and their parameters are stored in a database and can be managed using openwec (see CLI documentation).

Documentation

Contributing

Any contribution is welcome, be it code, bug report, packaging, documentation or translation.

License

OpenWEC is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

OpenWEC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with OpenWEC. If not, see the gnu.org web site.

Extension points exported contracts — how you extend this code

SQLiteMigration (Interface)
A migration to be used within a Sqlite connection. [13 implementers]
common/src/database/sqlite.rs
Serializable (Interface)
(no doc) [5 implementers]
server/src/soap.rs
PostgresMigration (Interface)
(no doc) [13 implementers]
common/src/database/postgres.rs
OutputDriver (Interface)
(no doc) [5 implementers]
server/src/output.rs
Migration (Interface)
All migrations will implement this trait, and a migration trait specific to the chosen adapter. This trait defines the m [1 …
common/src/database/schema/mod.rs
OutputFormat (Interface)
(no doc) [4 implementers]
server/src/output.rs
Database (Interface)
(no doc) [2 implementers]
common/src/database/mod.rs

Core symbols most depended-on inside this repo

new
called by 445
cli/src/subscriptions.rs
uuid_string
called by 59
common/src/subscription.rs
name
called by 57
common/src/subscription.rs
as_str
called by 34
server/src/lib.rs
register_migration
called by 25
common/src/database/sqlite.rs
query
called by 24
common/src/subscription.rs
update_internal_version
called by 21
common/src/subscription.rs
set_uri
called by 20
common/src/subscription.rs

Shape

Method 338
Function 245
Class 169
Enum 45
Interface 7

Languages

Rust100%

Modules by API surface

common/src/subscription.rs95 symbols
common/src/settings.rs69 symbols
server/src/event.rs51 symbols
common/src/database/postgres.rs47 symbols
common/src/database/sqlite.rs41 symbols
cli/src/subscriptions.rs36 symbols
server/src/formats/nxlog.rs33 symbols
server/src/lib.rs29 symbols
server/src/formats/json.rs25 symbols
common/src/models/config.rs25 symbols
server/src/drivers/files.rs23 symbols
server/src/soap.rs22 symbols

For agents

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

⬇ download graph artifact