mirror of
https://github.com/openai/codex.git
synced 2026-11-13 06:45:07 +00:00
## Why Guardian treated all skill instructions as untrusted, so it could not use the invocation of a user-owned skill as authorization evidence. ## What changed - Record explicit and implicit skill invocations through extension contributors. - Send Guardian a bounded, deduplicated list of canonical skill paths only when they resolve under the user's Codex or `.agents` skill directories. - Keep repository skills and symlinks that escape trusted roots untrusted, and send only verified paths rather than skill contents to the classifier. - Avoid recording host skill prompts that were superseded by core skill injection. ## Testing - Added unit coverage for trusted roots, symlink escapes, deduplication, and size limits. - Added integration coverage showing that Guardian trusts invoked user skills while rejecting a forged repository skill. GitOrigin-RevId: 1cc0be230f7e6649110201c23c3de8f26447ff36
40 lines
1.1 KiB
TOML
40 lines
1.1 KiB
TOML
[package]
|
|
edition.workspace = true
|
|
license.workspace = true
|
|
name = "codex-guardian-v2"
|
|
version.workspace = true
|
|
|
|
[lib]
|
|
name = "codex_guardian_v2"
|
|
path = "src/lib.rs"
|
|
doctest = false
|
|
|
|
[lints]
|
|
workspace = true
|
|
|
|
[dependencies]
|
|
codex-api = { workspace = true }
|
|
codex-core = { workspace = true }
|
|
codex-extension-api = { workspace = true }
|
|
codex-features = { workspace = true }
|
|
codex-history = { workspace = true }
|
|
codex-http-client = { workspace = true }
|
|
codex-login = { workspace = true }
|
|
codex-model-provider = { workspace = true }
|
|
codex-models-manager = { workspace = true }
|
|
codex-network-proxy = { workspace = true }
|
|
codex-protocol = { workspace = true }
|
|
dirs = { workspace = true }
|
|
http = { workspace = true }
|
|
serde_json = { workspace = true }
|
|
thiserror = { workspace = true }
|
|
tokio = { workspace = true, features = ["time"] }
|
|
tracing = { workspace = true }
|
|
|
|
[dev-dependencies]
|
|
anyhow = { workspace = true }
|
|
codex-model-provider-info = { workspace = true }
|
|
core_test_support = { workspace = true }
|
|
pretty_assertions = { workspace = true }
|
|
tokio = { workspace = true, features = ["macros", "rt-multi-thread"] }
|