fix(module): check Windows DLL owner and ACL before load - #27
Conversation
Tiny Sweeper reviewTiny Sweeper reviewed this change across 6 lane(s) and found 1 active actionable finding(s). Detailed lane evidence and any incomplete work are listed below. State: Changes requested Review snapshot
Completeness: Complete What changedThe review could not produce a supported behavioral summary; inspect the cited changed surface and lane details below. FeaturesNone identified with supported citations. TestsNo supported feature-to-test mapping was produced. Test execution is not inferred. Findings
Before merge
How this fits togetherflowchart LR
n0["check_directory<br/>changed"]:::changed
n1["check_file<br/>changed"]:::changed
n2["windows_directory_grants_untrusted_write<br/>changed"]:::changed
n3["ModuleInfo"]:::impacted
n4["load_dir"]:::impacted
n5["new"]:::impacted
n6["register_lazy"]:::impacted
n7["scan_dir"]:::impacted
n8["Err"]:::impacted
n0 -->|calls| n2
n0 -->|calls| n8
n1 -->|calls| n5
n1 -->|calls| n8
n2 -->|calls| n8
n4 -->|calls| n0
n4 -->|calls| n1
n4 -->|uses| n3
n4 -->|calls| n5
n4 -->|calls| n6
n4 -->|calls| n8
n6 -->|calls| n1
n6 -->|uses| n3
n6 -->|calls| n5
n6 -->|calls| n8
n7 -->|calls| n0
n7 -->|calls| n1
n7 -->|uses| n3
n7 -->|calls| n5
classDef changed fill:#0d4429,stroke:#238636,color:#e6edf3
classDef impacted fill:#161b22,stroke:#6e7681,color:#c9d1d9
classDef flagged fill:#5a1e02,stroke:#d93f0b,color:#ffffff
classDef blocking fill:#67060c,stroke:#f85149,color:#ffffff
Agent review detailscritique
security
tests
commits
description
e2e
Evidence and run details
|
|
Navigate logical layers of code changes, visualize relationships, and explore their blast radius. Note Currently processing new changes in this PR. This may take a few minutes, please wait... ⚙️ Run configurationConfiguration used: Organization UI Review profile: CHILL Plan: Advanced Run ID: 📒 Files selected for processing (2)
Comment |
There was a problem hiding this comment.
Requesting changes: 1 lane(s) blocking, worst finding is high.
Fix or reply to the findings below and push. The next review clears this automatically once they are gone — you should not need to dismiss anything by hand.
$0.0027 · 104,754 in / 12,103 out · 13,412 cached (13%) · ladder/vectors, gpt-5.6-luna, deepseek-v4-flash · 381 embedded
critique: $0.0008 · 32,200 in / 649 out · 4,224 cached (13%) · gpt-5.6-luna
security: $0.0013 · 51,239 in / 1,510 out · 5,604 cached (11%) · gpt-5.6-luna
tests: $0.0003 · 13,298 in / 2,281 out · 2,048 cached (15%) · deepseek-v4-flash
description: $0.0002 · 4,786 in / 3,836 out · 1,536 cached (32%) · deepseek-v4-flash
Summary
CREATOR OWNERdirectory allowance from fix(module): accept Windows creator-owner module cache ACL #25 while refusing a DLL writable byEveryone.Why
PR #25 fixed OpenHuman's Windows module-cache refusal and was merged while its security review finished. The review correctly noted that an inherited
CREATOR OWNERACE on a directory can grant rights to a child object's owner. A hostile preexisting DLL owner could then write the file even when the parent directory itself is private. This follow-up checks the actual module file before load.Validation
cargo fmt --all -- --checkcargo test --locked -p tinybus --features modules module::host::tests --lib(33 passed, 10 fixture-dependent ignored on macOS)Everyonewrite grants on directories and files.Related
Summary by CodeRabbit