fiber_audit 0.1.0 → 0.2.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/.fiber-audit.example.yml +19 -0
- data/ARCHITECTURE.md +726 -0
- data/CHANGELOG.md +41 -0
- data/LICENSE +201 -0
- data/README.md +66 -8
- data/lib/fiber_audit/cli.rb +87 -2
- data/lib/fiber_audit/configuration.rb +106 -6
- data/lib/fiber_audit/errors.rb +2 -0
- data/lib/fiber_audit/operation_vocabulary.rb +42 -0
- data/lib/fiber_audit/reporters/text.rb +1 -1
- data/lib/fiber_audit/runtime/active_operations.rb +146 -0
- data/lib/fiber_audit/runtime/boot.rb +83 -0
- data/lib/fiber_audit/runtime/clock.rb +35 -0
- data/lib/fiber_audit/runtime/environment.rb +289 -0
- data/lib/fiber_audit/runtime/event.rb +86 -0
- data/lib/fiber_audit/runtime/execution_context.rb +89 -0
- data/lib/fiber_audit/runtime/heartbeat.rb +113 -0
- data/lib/fiber_audit/runtime/jsonl/schema.rb +312 -0
- data/lib/fiber_audit/runtime/jsonl/writer.rb +122 -0
- data/lib/fiber_audit/runtime/lifecycle.rb +343 -0
- data/lib/fiber_audit/runtime/limits.rb +102 -0
- data/lib/fiber_audit/runtime/location.rb +44 -0
- data/lib/fiber_audit/runtime/policy.rb +121 -0
- data/lib/fiber_audit/runtime/probes/base.rb +333 -0
- data/lib/fiber_audit/runtime/probes/http.rb +80 -0
- data/lib/fiber_audit/runtime/probes/io_select.rb +50 -0
- data/lib/fiber_audit/runtime/probes/registry.rb +156 -0
- data/lib/fiber_audit/runtime/probes/socket.rb +76 -0
- data/lib/fiber_audit/runtime/probes/subprocess.rb +83 -0
- data/lib/fiber_audit/runtime/probes/synchronization.rb +58 -0
- data/lib/fiber_audit/runtime/probes/thread_state.rb +39 -0
- data/lib/fiber_audit/runtime/probes/thread_wait.rb +25 -0
- data/lib/fiber_audit/runtime/rails_integration.rb +320 -0
- data/lib/fiber_audit/runtime/recorder.rb +333 -0
- data/lib/fiber_audit/runtime/redactor.rb +102 -0
- data/lib/fiber_audit/runtime/sampler.rb +26 -0
- data/lib/fiber_audit/runtime/scheduler_observer.rb +128 -0
- data/lib/fiber_audit/runtime/session.rb +112 -0
- data/lib/fiber_audit/runtime/supervisor.rb +114 -0
- data/lib/fiber_audit/runtime/validation.rb +68 -0
- data/lib/fiber_audit/runtime/watchdog.rb +479 -0
- data/lib/fiber_audit/runtime/watchdog_policy.rb +64 -0
- data/lib/fiber_audit/runtime.rb +37 -0
- data/lib/fiber_audit/static/rules/blocking_subprocess.rb +3 -8
- data/lib/fiber_audit/static/rules/direct_socket.rb +2 -3
- data/lib/fiber_audit/static/rules/io_select.rb +2 -4
- data/lib/fiber_audit/static/rules/net_http_in_request.rb +3 -5
- data/lib/fiber_audit/static/rules/synchronization.rb +2 -6
- data/lib/fiber_audit/static/rules/thread_current_state.rb +3 -2
- data/lib/fiber_audit/static/rules/thread_join.rb +3 -2
- data/lib/fiber_audit/version.rb +1 -1
- data/lib/fiber_audit.rb +1 -0
- metadata +38 -2
checksums.yaml
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
---
|
|
2
2
|
SHA256:
|
|
3
|
-
metadata.gz:
|
|
4
|
-
data.tar.gz:
|
|
3
|
+
metadata.gz: f76c5789a7f5490e2e568cb6ea912520ae1350cc5a0de15053b3b30fd271e10d
|
|
4
|
+
data.tar.gz: aac0a9b350682e2c1abb167057ab4ea9ba912f277efa8818dd7269cee8d71058
|
|
5
5
|
SHA512:
|
|
6
|
-
metadata.gz:
|
|
7
|
-
data.tar.gz:
|
|
6
|
+
metadata.gz: 9d1cbe6bca9cc0363a483f9c2902a13c0389fc1fc0b833023d923342c23e8ea01b884e71233ddc2ba5b6f802cb83f7af6c5bb17ae67ef1b01d96958517ea5bca
|
|
7
|
+
data.tar.gz: f14db18581138d051937fbb788b4c3d6a8ec8970647fa82612d5911d2809b55918adfd27e02ec790500e86ae80c8cdeec112a60515d8cc22eb1f52da07ffcf89
|
data/.fiber-audit.example.yml
CHANGED
|
@@ -31,3 +31,22 @@ report:
|
|
|
31
31
|
|
|
32
32
|
# critical, high, medium, low, or info. Default low hides info findings.
|
|
33
33
|
min_severity: low
|
|
34
|
+
|
|
35
|
+
# The opt-in `fiber-audit runtime -- COMMAND` recorder, targeted operation
|
|
36
|
+
# probes, and scheduler watchdog use these limits.
|
|
37
|
+
runtime:
|
|
38
|
+
redaction:
|
|
39
|
+
mode: strict
|
|
40
|
+
sampling:
|
|
41
|
+
rate: 0.1
|
|
42
|
+
overhead:
|
|
43
|
+
max_events_per_second: 100
|
|
44
|
+
max_events_per_session: 10000
|
|
45
|
+
max_record_bytes: 16384
|
|
46
|
+
max_session_bytes: 10485760
|
|
47
|
+
watchdog:
|
|
48
|
+
enabled: true
|
|
49
|
+
heartbeat_interval_ms: 25
|
|
50
|
+
stall_threshold_ms: 100
|
|
51
|
+
max_frames: 20
|
|
52
|
+
fail_open: true
|