aikido-zen 0.1.1-arm64-linux → 1.0.0.pre.beta.1-arm64-linux

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.
Files changed (62) hide show
  1. checksums.yaml +4 -4
  2. data/.simplecov +7 -0
  3. data/CHANGELOG.md +4 -0
  4. data/README.md +11 -2
  5. data/benchmarks/README.md +8 -12
  6. data/benchmarks/rails7.1_sql_injection.js +30 -34
  7. data/docs/banner.svg +128 -129
  8. data/docs/config.md +8 -6
  9. data/docs/rails.md +1 -1
  10. data/lib/aikido/zen/agent.rb +13 -9
  11. data/lib/aikido/zen/api_client.rb +17 -7
  12. data/lib/aikido/zen/attack.rb +105 -36
  13. data/lib/aikido/zen/background_worker.rb +52 -0
  14. data/lib/aikido/zen/collector/routes.rb +2 -0
  15. data/lib/aikido/zen/collector.rb +31 -4
  16. data/lib/aikido/zen/config.rb +55 -20
  17. data/lib/aikido/zen/detached_agent/agent.rb +78 -0
  18. data/lib/aikido/zen/detached_agent/front_object.rb +37 -0
  19. data/lib/aikido/zen/detached_agent/server.rb +41 -0
  20. data/lib/aikido/zen/detached_agent.rb +2 -0
  21. data/lib/aikido/zen/errors.rb +18 -1
  22. data/lib/aikido/zen/event.rb +4 -2
  23. data/lib/aikido/zen/libzen-v0.1.37.aarch64.so +0 -0
  24. data/lib/aikido/zen/middleware/check_allowed_addresses.rb +2 -14
  25. data/lib/aikido/zen/middleware/middleware.rb +11 -0
  26. data/lib/aikido/zen/middleware/{throttler.rb → rack_throttler.rb} +11 -13
  27. data/lib/aikido/zen/middleware/request_tracker.rb +190 -0
  28. data/lib/aikido/zen/middleware/set_context.rb +1 -4
  29. data/lib/aikido/zen/outbound_connection_monitor.rb +4 -0
  30. data/lib/aikido/zen/payload.rb +2 -0
  31. data/lib/aikido/zen/rails_engine.rb +12 -0
  32. data/lib/aikido/zen/rate_limiter/breaker.rb +3 -3
  33. data/lib/aikido/zen/rate_limiter.rb +7 -12
  34. data/lib/aikido/zen/request/rails_router.rb +6 -18
  35. data/lib/aikido/zen/request/schema/auth_schemas.rb +14 -0
  36. data/lib/aikido/zen/request/schema/builder.rb +0 -2
  37. data/lib/aikido/zen/request/schema/definition.rb +0 -5
  38. data/lib/aikido/zen/request/schema.rb +18 -3
  39. data/lib/aikido/zen/runtime_settings.rb +2 -2
  40. data/lib/aikido/zen/scanners/path_traversal/helpers.rb +65 -0
  41. data/lib/aikido/zen/scanners/path_traversal_scanner.rb +63 -0
  42. data/lib/aikido/zen/scanners/shell_injection/helpers.rb +159 -0
  43. data/lib/aikido/zen/scanners/shell_injection_scanner.rb +64 -0
  44. data/lib/aikido/zen/scanners/sql_injection_scanner.rb +4 -6
  45. data/lib/aikido/zen/scanners/ssrf/private_ip_checker.rb +33 -21
  46. data/lib/aikido/zen/scanners/ssrf_scanner.rb +15 -7
  47. data/lib/aikido/zen/scanners/stored_ssrf_scanner.rb +6 -0
  48. data/lib/aikido/zen/scanners.rb +2 -0
  49. data/lib/aikido/zen/sink.rb +6 -1
  50. data/lib/aikido/zen/sinks/action_controller.rb +34 -15
  51. data/lib/aikido/zen/sinks/file.rb +120 -0
  52. data/lib/aikido/zen/sinks/kernel.rb +73 -0
  53. data/lib/aikido/zen/sinks/socket.rb +13 -0
  54. data/lib/aikido/zen/sinks.rb +8 -0
  55. data/lib/aikido/zen/system_info.rb +1 -1
  56. data/lib/aikido/zen/version.rb +2 -2
  57. data/lib/aikido/zen/worker.rb +5 -0
  58. data/lib/aikido/zen.rb +54 -8
  59. data/tasklib/bench.rake +31 -7
  60. data/tasklib/wrk.rb +88 -0
  61. metadata +22 -8
  62. data/lib/aikido/zen/libzen-v0.1.31.aarch64.so +0 -0
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.1.1
4
+ version: 1.0.0.pre.beta.1
5
5
  platform: arm64-linux
6
6
  authors:
7
7
  - Nicolas Sanguinetti
8
- autorequire:
8
+ autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-11-19 00:00:00.000000000 Z
11
+ date: 2025-06-04 00:00:00.000000000 Z
12
12
  dependencies:
13
13
  - !ruby/object:Gem::Dependency
14
14
  name: concurrent-ruby
@@ -55,7 +55,7 @@ dependencies:
55
55
  - !ruby/object:Gem::Version
56
56
  version: '0'
57
57
  force_ruby_platform: false
58
- description:
58
+ description:
59
59
  email:
60
60
  - foca@foca.io
61
61
  executables: []
@@ -82,6 +82,7 @@ files:
82
82
  - lib/aikido/zen/agent/heartbeats_manager.rb
83
83
  - lib/aikido/zen/api_client.rb
84
84
  - lib/aikido/zen/attack.rb
85
+ - lib/aikido/zen/background_worker.rb
85
86
  - lib/aikido/zen/capped_collections.rb
86
87
  - lib/aikido/zen/collector.rb
87
88
  - lib/aikido/zen/collector/hosts.rb
@@ -93,13 +94,19 @@ files:
93
94
  - lib/aikido/zen/context.rb
94
95
  - lib/aikido/zen/context/rack_request.rb
95
96
  - lib/aikido/zen/context/rails_request.rb
97
+ - lib/aikido/zen/detached_agent.rb
98
+ - lib/aikido/zen/detached_agent/agent.rb
99
+ - lib/aikido/zen/detached_agent/front_object.rb
100
+ - lib/aikido/zen/detached_agent/server.rb
96
101
  - lib/aikido/zen/errors.rb
97
102
  - lib/aikido/zen/event.rb
98
103
  - lib/aikido/zen/internals.rb
99
- - lib/aikido/zen/libzen-v0.1.31.aarch64.so
104
+ - lib/aikido/zen/libzen-v0.1.37.aarch64.so
100
105
  - lib/aikido/zen/middleware/check_allowed_addresses.rb
106
+ - lib/aikido/zen/middleware/middleware.rb
107
+ - lib/aikido/zen/middleware/rack_throttler.rb
108
+ - lib/aikido/zen/middleware/request_tracker.rb
101
109
  - lib/aikido/zen/middleware/set_context.rb
102
- - lib/aikido/zen/middleware/throttler.rb
103
110
  - lib/aikido/zen/outbound_connection.rb
104
111
  - lib/aikido/zen/outbound_connection_monitor.rb
105
112
  - lib/aikido/zen/package.rb
@@ -126,6 +133,10 @@ files:
126
133
  - lib/aikido/zen/runtime_settings/rate_limit_settings.rb
127
134
  - lib/aikido/zen/scan.rb
128
135
  - lib/aikido/zen/scanners.rb
136
+ - lib/aikido/zen/scanners/path_traversal/helpers.rb
137
+ - lib/aikido/zen/scanners/path_traversal_scanner.rb
138
+ - lib/aikido/zen/scanners/shell_injection/helpers.rb
139
+ - lib/aikido/zen/scanners/shell_injection_scanner.rb
129
140
  - lib/aikido/zen/scanners/sql_injection_scanner.rb
130
141
  - lib/aikido/zen/scanners/ssrf/dns_lookups.rb
131
142
  - lib/aikido/zen/scanners/ssrf/private_ip_checker.rb
@@ -138,9 +149,11 @@ files:
138
149
  - lib/aikido/zen/sinks/curb.rb
139
150
  - lib/aikido/zen/sinks/em_http.rb
140
151
  - lib/aikido/zen/sinks/excon.rb
152
+ - lib/aikido/zen/sinks/file.rb
141
153
  - lib/aikido/zen/sinks/http.rb
142
154
  - lib/aikido/zen/sinks/httpclient.rb
143
155
  - lib/aikido/zen/sinks/httpx.rb
156
+ - lib/aikido/zen/sinks/kernel.rb
144
157
  - lib/aikido/zen/sinks/mysql2.rb
145
158
  - lib/aikido/zen/sinks/net_http.rb
146
159
  - lib/aikido/zen/sinks/patron.rb
@@ -156,6 +169,7 @@ files:
156
169
  - lib/aikido/zen/worker.rb
157
170
  - tasklib/bench.rake
158
171
  - tasklib/libzen.rake
172
+ - tasklib/wrk.rb
159
173
  homepage: https://aikido.dev
160
174
  licenses:
161
175
  - AGPL-3.0-or-later
@@ -163,7 +177,7 @@ metadata:
163
177
  homepage_uri: https://aikido.dev
164
178
  source_code_uri: https://github.com/aikidosec/firewall-ruby
165
179
  changelog_uri: https://github.com/aikidosec/firewall-ruby/blob/main/CHANGELOG.md
166
- post_install_message:
180
+ post_install_message:
167
181
  rdoc_options: []
168
182
  require_paths:
169
183
  - lib
@@ -179,7 +193,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement
179
193
  version: '0'
180
194
  requirements: []
181
195
  rubygems_version: 3.5.22
182
- signing_key:
196
+ signing_key:
183
197
  specification_version: 4
184
198
  summary: Embedded Web Application Firewall that autonomously protects Ruby apps against
185
199
  common and critical attacks.