flowproof 0.12.2__tar.gz → 0.14.0__tar.gz
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.
- {flowproof-0.12.2 → flowproof-0.14.0}/Cargo.lock +7 -7
- {flowproof-0.12.2 → flowproof-0.14.0}/Cargo.toml +1 -1
- {flowproof-0.12.2 → flowproof-0.14.0}/PKG-INFO +1 -1
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_linux.rs +9 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/sap_com.rs +577 -88
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/web.rs +370 -42
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/author.rs +296 -6
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/heal.rs +5 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/lib.rs +5 -2
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/llm.rs +28 -8
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/recorder.rs +471 -22
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/rules.rs +18 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/spec.rs +868 -10
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/tests/model_client_http.rs +30 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/lib.rs +564 -43
- flowproof-0.14.0/crates/flowproof-cli/tests/documented_flags.rs +113 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/llm_author_e2e.rs +152 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/sap_e2e.rs +1 -1
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/sap_pipeline.rs +99 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/sap_sim_e2e.rs +34 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/support/sap_simulator.py +76 -30
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/web_e2e.rs +130 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/app.rs +110 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/lib.rs +12 -9
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/recording.rs +360 -10
- flowproof-0.14.0/crates/flowproof-driver/src/surface.rs +374 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-python/src/lib.rs +58 -6
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/src/lib.rs +164 -40
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/src/report.rs +72 -5
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/tests/replay_calc.rs +585 -1
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/schema/trace-v1.schema.json +155 -94
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/format.rs +46 -0
- flowproof-0.14.0/crates/flowproof-trace/tests/fixtures/multi.trace.jsonl +5 -0
- flowproof-0.14.0/crates/flowproof-trace/tests/schema_conformance.rs +141 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/__init__.py +1 -1
- {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/flow.py +62 -8
- {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/mcp_server.py +29 -6
- {flowproof-0.12.2 → flowproof-0.14.0}/pyproject.toml +1 -1
- flowproof-0.12.2/crates/flowproof-trace/tests/schema_conformance.rs +0 -67
- {flowproof-0.12.2 → flowproof-0.14.0}/README.md +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/agent_proxy.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/agent_runner.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/audit.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/capture.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/env_block.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/filters.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/identity.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/logon.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/netevents.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/run.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/spawn.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows/wfp.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/egress_windows.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/fs_observe.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/lib.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/mcp_core.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/mcp_http.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/mcp_stdio.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/src/vision.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/tests/drag_spike.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/tests/fs_observation_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-adapters/tests/windows_containment_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/agent_steps.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-agent/src/clarify.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/agent_flow.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/capture.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/src/main.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/agent_flow_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/agent_url_record_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/api_pipeline.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/audit_record_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/calc_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/clock_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/cookie_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/doctor_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/egress_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/examples_resolve.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_arg_matchers.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_audit_since.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_call_order.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_capability_regression.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_control_verdict.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_mcp_kill.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_no_tool_call.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/falsifiability_reply_contains.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/grid_cell_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/iframe_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/mcp_http_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/mcp_stdio_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/notepad_author_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/notepad_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/page_title_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/pinned_random_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/scoped_container_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/select_missing_option_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/skip_unless_env.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/suite_env_from.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/suite_flow_isolation.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/suite_missing_trace.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/visibility_e2e.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-cli/tests/vision_pipeline.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/backend.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/gdi.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/mock.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/oob.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/redact.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/visual.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-driver/src/window.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-python/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-replay/src/runrecord.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/Cargo.toml +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/captures.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/cassette.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/cassette_diff.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/egress.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/lib.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/secret.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/secret_scan.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/substitution.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/src/toolcalls.rs +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/crates/flowproof-trace/tests/fixtures/sample.trace.jsonl +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/cli.py +0 -0
- {flowproof-0.12.2 → flowproof-0.14.0}/flowproof/py.typed +0 -0
|
@@ -760,7 +760,7 @@ dependencies = [
|
|
|
760
760
|
|
|
761
761
|
[[package]]
|
|
762
762
|
name = "flowproof-adapters"
|
|
763
|
-
version = "0.
|
|
763
|
+
version = "0.14.0"
|
|
764
764
|
dependencies = [
|
|
765
765
|
"anyhow",
|
|
766
766
|
"flowproof-driver",
|
|
@@ -779,7 +779,7 @@ dependencies = [
|
|
|
779
779
|
|
|
780
780
|
[[package]]
|
|
781
781
|
name = "flowproof-agent"
|
|
782
|
-
version = "0.
|
|
782
|
+
version = "0.14.0"
|
|
783
783
|
dependencies = [
|
|
784
784
|
"chrono",
|
|
785
785
|
"flowproof-driver",
|
|
@@ -796,7 +796,7 @@ dependencies = [
|
|
|
796
796
|
|
|
797
797
|
[[package]]
|
|
798
798
|
name = "flowproof-cli"
|
|
799
|
-
version = "0.
|
|
799
|
+
version = "0.14.0"
|
|
800
800
|
dependencies = [
|
|
801
801
|
"ab_glyph",
|
|
802
802
|
"chrono",
|
|
@@ -817,7 +817,7 @@ dependencies = [
|
|
|
817
817
|
|
|
818
818
|
[[package]]
|
|
819
819
|
name = "flowproof-driver"
|
|
820
|
-
version = "0.
|
|
820
|
+
version = "0.14.0"
|
|
821
821
|
dependencies = [
|
|
822
822
|
"image",
|
|
823
823
|
"postgres",
|
|
@@ -831,7 +831,7 @@ dependencies = [
|
|
|
831
831
|
|
|
832
832
|
[[package]]
|
|
833
833
|
name = "flowproof-python"
|
|
834
|
-
version = "0.
|
|
834
|
+
version = "0.14.0"
|
|
835
835
|
dependencies = [
|
|
836
836
|
"flowproof-agent",
|
|
837
837
|
"flowproof-cli",
|
|
@@ -843,7 +843,7 @@ dependencies = [
|
|
|
843
843
|
|
|
844
844
|
[[package]]
|
|
845
845
|
name = "flowproof-replay"
|
|
846
|
-
version = "0.
|
|
846
|
+
version = "0.14.0"
|
|
847
847
|
dependencies = [
|
|
848
848
|
"chrono",
|
|
849
849
|
"flowproof-agent",
|
|
@@ -857,7 +857,7 @@ dependencies = [
|
|
|
857
857
|
|
|
858
858
|
[[package]]
|
|
859
859
|
name = "flowproof-trace"
|
|
860
|
-
version = "0.
|
|
860
|
+
version = "0.14.0"
|
|
861
861
|
dependencies = [
|
|
862
862
|
"jsonschema",
|
|
863
863
|
"regex",
|
|
@@ -22,7 +22,7 @@ members = ["crates/flowproof-driver", "crates/flowproof-trace", "crates/flowproo
|
|
|
22
22
|
exclude = ["spike/windows-containment"]
|
|
23
23
|
|
|
24
24
|
[workspace.package]
|
|
25
|
-
version = "0.
|
|
25
|
+
version = "0.14.0"
|
|
26
26
|
edition = "2021"
|
|
27
27
|
license = "Apache-2.0"
|
|
28
28
|
repository = "https://github.com/automators-com/flowproof"
|
|
@@ -1465,6 +1465,12 @@ fn notif_id_valid(fd: RawFd, id: u64) -> bool {
|
|
|
1465
1465
|
}
|
|
1466
1466
|
|
|
1467
1467
|
/// Extract `(msg_name, msg_namelen, msg_controllen)` from a raw msghdr copy.
|
|
1468
|
+
// `msg_controllen` is not the same type on every Linux target: `size_t` under
|
|
1469
|
+
// glibc, `socklen_t` under uclibc/arm and l4re. Clippy only ever sees the
|
|
1470
|
+
// target it is running on, so on x86_64-gnu it calls the cast redundant. It is
|
|
1471
|
+
// load-bearing everywhere else - libc writes the same `as usize` in its own
|
|
1472
|
+
// portable CMSG helpers. Removing it breaks those targets.
|
|
1473
|
+
#[allow(clippy::unnecessary_cast)]
|
|
1468
1474
|
fn msghdr_fields(hdr: &[u8]) -> (u64, u32, usize) {
|
|
1469
1475
|
let msg: libc::msghdr =
|
|
1470
1476
|
unsafe { std::ptr::read_unaligned(hdr.as_ptr() as *const libc::msghdr) };
|
|
@@ -1476,6 +1482,9 @@ fn msghdr_fields(hdr: &[u8]) -> (u64, u32, usize) {
|
|
|
1476
1482
|
}
|
|
1477
1483
|
|
|
1478
1484
|
/// Extract `(msg_iov ptr, msg_iovlen)` from a raw msghdr copy.
|
|
1485
|
+
// Same story as `msghdr_fields`: `msg_iovlen` is `size_t` under glibc and
|
|
1486
|
+
// `c_int` under uclibc/arm, uclibc/mips32, l4re and emscripten.
|
|
1487
|
+
#[allow(clippy::unnecessary_cast)]
|
|
1479
1488
|
fn msghdr_iov(hdr: &[u8]) -> (u64, usize) {
|
|
1480
1489
|
let msg: libc::msghdr =
|
|
1481
1490
|
unsafe { std::ptr::read_unaligned(hdr.as_ptr() as *const libc::msghdr) };
|