aikido-zen 0.1.1 → 1.0.0.pre.beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.simplecov +7 -0
- data/CHANGELOG.md +4 -0
- data/README.md +11 -2
- data/benchmarks/README.md +8 -12
- data/benchmarks/rails7.1_sql_injection.js +30 -34
- data/docs/banner.svg +128 -129
- data/docs/config.md +8 -6
- data/docs/rails.md +1 -1
- data/lib/aikido/zen/agent.rb +13 -9
- data/lib/aikido/zen/api_client.rb +17 -7
- data/lib/aikido/zen/attack.rb +105 -36
- data/lib/aikido/zen/background_worker.rb +52 -0
- data/lib/aikido/zen/collector/routes.rb +2 -0
- data/lib/aikido/zen/collector.rb +31 -4
- data/lib/aikido/zen/config.rb +55 -20
- data/lib/aikido/zen/detached_agent/agent.rb +78 -0
- data/lib/aikido/zen/detached_agent/front_object.rb +37 -0
- data/lib/aikido/zen/detached_agent/server.rb +41 -0
- data/lib/aikido/zen/detached_agent.rb +2 -0
- data/lib/aikido/zen/errors.rb +18 -1
- data/lib/aikido/zen/event.rb +4 -2
- data/lib/aikido/zen/middleware/check_allowed_addresses.rb +2 -14
- data/lib/aikido/zen/middleware/middleware.rb +11 -0
- data/lib/aikido/zen/middleware/{throttler.rb → rack_throttler.rb} +11 -13
- data/lib/aikido/zen/middleware/request_tracker.rb +190 -0
- data/lib/aikido/zen/middleware/set_context.rb +1 -4
- data/lib/aikido/zen/outbound_connection_monitor.rb +4 -0
- data/lib/aikido/zen/payload.rb +2 -0
- data/lib/aikido/zen/rails_engine.rb +12 -0
- data/lib/aikido/zen/rate_limiter/breaker.rb +3 -3
- data/lib/aikido/zen/rate_limiter.rb +7 -12
- data/lib/aikido/zen/request/rails_router.rb +6 -18
- data/lib/aikido/zen/request/schema/auth_schemas.rb +14 -0
- data/lib/aikido/zen/request/schema/builder.rb +0 -2
- data/lib/aikido/zen/request/schema/definition.rb +0 -5
- data/lib/aikido/zen/request/schema.rb +18 -3
- data/lib/aikido/zen/runtime_settings.rb +2 -2
- data/lib/aikido/zen/scanners/path_traversal/helpers.rb +65 -0
- data/lib/aikido/zen/scanners/path_traversal_scanner.rb +63 -0
- data/lib/aikido/zen/scanners/shell_injection/helpers.rb +159 -0
- data/lib/aikido/zen/scanners/shell_injection_scanner.rb +64 -0
- data/lib/aikido/zen/scanners/sql_injection_scanner.rb +4 -6
- data/lib/aikido/zen/scanners/ssrf/private_ip_checker.rb +33 -21
- data/lib/aikido/zen/scanners/ssrf_scanner.rb +15 -7
- data/lib/aikido/zen/scanners/stored_ssrf_scanner.rb +6 -0
- data/lib/aikido/zen/scanners.rb +2 -0
- data/lib/aikido/zen/sink.rb +6 -1
- data/lib/aikido/zen/sinks/action_controller.rb +34 -15
- data/lib/aikido/zen/sinks/file.rb +120 -0
- data/lib/aikido/zen/sinks/kernel.rb +73 -0
- data/lib/aikido/zen/sinks/socket.rb +13 -0
- data/lib/aikido/zen/sinks.rb +8 -0
- data/lib/aikido/zen/system_info.rb +1 -1
- data/lib/aikido/zen/version.rb +2 -2
- data/lib/aikido/zen/worker.rb +5 -0
- data/lib/aikido/zen.rb +54 -8
- data/tasklib/bench.rake +31 -7
- data/tasklib/wrk.rb +88 -0
- metadata +21 -7
metadata
CHANGED
@@ -1,14 +1,14 @@
|
|
1
1
|
--- !ruby/object:Gem::Specification
|
2
2
|
name: aikido-zen
|
3
3
|
version: !ruby/object:Gem::Version
|
4
|
-
version: 0.
|
4
|
+
version: 1.0.0.pre.beta.1
|
5
5
|
platform: ruby
|
6
6
|
authors:
|
7
7
|
- Nicolas Sanguinetti
|
8
|
-
autorequire:
|
8
|
+
autorequire:
|
9
9
|
bindir: exe
|
10
10
|
cert_chain: []
|
11
|
-
date:
|
11
|
+
date: 2025-06-04 00:00:00.000000000 Z
|
12
12
|
dependencies:
|
13
13
|
- !ruby/object:Gem::Dependency
|
14
14
|
name: concurrent-ruby
|
@@ -52,7 +52,7 @@ dependencies:
|
|
52
52
|
- - ">="
|
53
53
|
- !ruby/object:Gem::Version
|
54
54
|
version: '0'
|
55
|
-
description:
|
55
|
+
description:
|
56
56
|
email:
|
57
57
|
- foca@foca.io
|
58
58
|
executables: []
|
@@ -79,6 +79,7 @@ files:
|
|
79
79
|
- lib/aikido/zen/agent/heartbeats_manager.rb
|
80
80
|
- lib/aikido/zen/api_client.rb
|
81
81
|
- lib/aikido/zen/attack.rb
|
82
|
+
- lib/aikido/zen/background_worker.rb
|
82
83
|
- lib/aikido/zen/capped_collections.rb
|
83
84
|
- lib/aikido/zen/collector.rb
|
84
85
|
- lib/aikido/zen/collector/hosts.rb
|
@@ -90,12 +91,18 @@ files:
|
|
90
91
|
- lib/aikido/zen/context.rb
|
91
92
|
- lib/aikido/zen/context/rack_request.rb
|
92
93
|
- lib/aikido/zen/context/rails_request.rb
|
94
|
+
- lib/aikido/zen/detached_agent.rb
|
95
|
+
- lib/aikido/zen/detached_agent/agent.rb
|
96
|
+
- lib/aikido/zen/detached_agent/front_object.rb
|
97
|
+
- lib/aikido/zen/detached_agent/server.rb
|
93
98
|
- lib/aikido/zen/errors.rb
|
94
99
|
- lib/aikido/zen/event.rb
|
95
100
|
- lib/aikido/zen/internals.rb
|
96
101
|
- lib/aikido/zen/middleware/check_allowed_addresses.rb
|
102
|
+
- lib/aikido/zen/middleware/middleware.rb
|
103
|
+
- lib/aikido/zen/middleware/rack_throttler.rb
|
104
|
+
- lib/aikido/zen/middleware/request_tracker.rb
|
97
105
|
- lib/aikido/zen/middleware/set_context.rb
|
98
|
-
- lib/aikido/zen/middleware/throttler.rb
|
99
106
|
- lib/aikido/zen/outbound_connection.rb
|
100
107
|
- lib/aikido/zen/outbound_connection_monitor.rb
|
101
108
|
- lib/aikido/zen/package.rb
|
@@ -122,6 +129,10 @@ files:
|
|
122
129
|
- lib/aikido/zen/runtime_settings/rate_limit_settings.rb
|
123
130
|
- lib/aikido/zen/scan.rb
|
124
131
|
- lib/aikido/zen/scanners.rb
|
132
|
+
- lib/aikido/zen/scanners/path_traversal/helpers.rb
|
133
|
+
- lib/aikido/zen/scanners/path_traversal_scanner.rb
|
134
|
+
- lib/aikido/zen/scanners/shell_injection/helpers.rb
|
135
|
+
- lib/aikido/zen/scanners/shell_injection_scanner.rb
|
125
136
|
- lib/aikido/zen/scanners/sql_injection_scanner.rb
|
126
137
|
- lib/aikido/zen/scanners/ssrf/dns_lookups.rb
|
127
138
|
- lib/aikido/zen/scanners/ssrf/private_ip_checker.rb
|
@@ -134,9 +145,11 @@ files:
|
|
134
145
|
- lib/aikido/zen/sinks/curb.rb
|
135
146
|
- lib/aikido/zen/sinks/em_http.rb
|
136
147
|
- lib/aikido/zen/sinks/excon.rb
|
148
|
+
- lib/aikido/zen/sinks/file.rb
|
137
149
|
- lib/aikido/zen/sinks/http.rb
|
138
150
|
- lib/aikido/zen/sinks/httpclient.rb
|
139
151
|
- lib/aikido/zen/sinks/httpx.rb
|
152
|
+
- lib/aikido/zen/sinks/kernel.rb
|
140
153
|
- lib/aikido/zen/sinks/mysql2.rb
|
141
154
|
- lib/aikido/zen/sinks/net_http.rb
|
142
155
|
- lib/aikido/zen/sinks/patron.rb
|
@@ -152,6 +165,7 @@ files:
|
|
152
165
|
- lib/aikido/zen/worker.rb
|
153
166
|
- tasklib/bench.rake
|
154
167
|
- tasklib/libzen.rake
|
168
|
+
- tasklib/wrk.rb
|
155
169
|
homepage: https://aikido.dev
|
156
170
|
licenses:
|
157
171
|
- AGPL-3.0-or-later
|
@@ -159,7 +173,7 @@ metadata:
|
|
159
173
|
homepage_uri: https://aikido.dev
|
160
174
|
source_code_uri: https://github.com/aikidosec/firewall-ruby
|
161
175
|
changelog_uri: https://github.com/aikidosec/firewall-ruby/blob/main/CHANGELOG.md
|
162
|
-
post_install_message:
|
176
|
+
post_install_message:
|
163
177
|
rdoc_options: []
|
164
178
|
require_paths:
|
165
179
|
- lib
|
@@ -175,7 +189,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
|
|
175
189
|
version: '0'
|
176
190
|
requirements: []
|
177
191
|
rubygems_version: 3.5.22
|
178
|
-
signing_key:
|
192
|
+
signing_key:
|
179
193
|
specification_version: 4
|
180
194
|
summary: Embedded Web Application Firewall that autonomously protects Ruby apps against
|
181
195
|
common and critical attacks.
|