No description
This repository has been archived on 2026-06-16. You can view files and clone it, but you cannot make any changes to its state, such as pushing and creating new issues, pull requests or comments.
  • C++ 57.2%
  • C 39.9%
  • Shell 2.1%
  • CMake 0.8%
Find a file
root df24326470 patch performance optimization from maat4
change some utarray to thread local variable, to reduce the frequency of calloc and free
2024-11-14 03:13:06 +00:00
ci cancel upload symbol 2023-04-18 12:04:27 +08:00
cmake delete libmaat_tools rpm 2023-04-03 20:08:00 +08:00
deps add temp code 2024-09-26 11:14:06 +00:00
docs rename o2o and object2object to object_group 2024-10-24 07:56:49 +00:00
examples [Doc] maatframe markdown documents 2024-03-29 08:37:40 +00:00
include use attribute_name instead of attribute_id to map condition_id 2024-10-08 11:10:03 +00:00
scanner store history pattern ids at expr_matcher after hs/rs stream scan, instead of storing them during hs/rs scan 2024-10-28 10:44:22 +00:00
src patch performance optimization from maat4 2024-11-14 03:13:06 +00:00
test merge the duplicated code between HS and RS in test case, using TEST_P of gtest 2024-11-05 03:30:04 +00:00
tools fix maat_redis_tool, fix some mem leaks, use (uuid_t *) type as para of function to avoid some problems 2024-09-27 11:38:41 +00:00
vendor 🔧 build(rulescan cxx flags): ignore narrowing for el9 2024-11-11 17:39:12 +08:00
.DS_Store Using markdown files to replace MAAT网络流处理配置统一描述框架.docx 2023-05-04 06:16:42 +00:00
.gitignore 1.rename rule_state to rule_compile_state 2024-08-30 08:28:58 +00:00
.gitlab-ci.yml 🐎 ci(add aarch64 jobs): aarch64 + el9 2024-11-11 18:23:17 +08:00
autorevision.sh add ci config 2023-02-16 11:13:23 +08:00
CMakeLists.txt add temp code 2024-09-26 11:14:06 +00:00
readme.md rename terminology "group" to "object" 2024-08-22 10:26:59 +00:00

maat logo

Maat is a unified description framework for network flow processing configuration

Name origin

Maat was the goddness of harmony, justice, and truth in ancient Egypt. Her feather served as the measure that determined whether the souls of the departed would successfully reach the paradise of the afterlife. We use this meaning metaphorically to indicate whether the scanning hits an effective rule or not, which is the core function of Maat.

Why should I use Maat?

Please imagine the following scenario:

  • S1The user adds 10 security deny policies and expects that if the traffic matches any of the 10 configured policies, the traffic should be denied. If the number of policies grows to 1,000, 10,000 or more, and at the same time different policies require different actions such as asllow, monitor, etc.

  • S2The user has pre-stored a large amount of IP geolocation information in a table and expects to quickly retrieve the geolocation information of a given IP address.

The above are two typical usage scenarios of Maat, one is the scanning scenario, and the other is the callback scenario. In addition, Maat also provides detailed path information and statistical information for hit policies, and more advanced features are waiting for you to explore, try it!

Getting Started

Read getting started for building steps and play with examples.

More details