Download codex-rs/exec-server/src/regular_file_tests.rs from SaylorTwift/codex: direct link, hf CLI and curl.
- Browser
- Download file 1.45 kB
-
https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/exec-server/src/regular_file_tests.rs
- Command line
-
hf download hf://SaylorTwift/codex/codex-rs/exec-server/src/regular_file_tests.rs
-
curl -L -o regular_file_tests.rs https://huggingface.co/SaylorTwift/codex/resolve/main/codex-rs/exec-server/src/regular_file_tests.rs
1.45 kB
| use super::read_sensitive_file_to_string; | |
| use tempfile::TempDir; | |
| async fn read_sensitive_file_reads_regular_file() { | |
| let directory = TempDir::new().expect("temporary directory"); | |
| let path = directory.path().join("role.toml"); | |
| tokio::fs::write(&path, "developer_instructions = 'stay focused'") | |
| .await | |
| .expect("write regular file"); | |
| assert_eq!( | |
| read_sensitive_file_to_string(&path) | |
| .await | |
| .expect("read regular file"), | |
| "developer_instructions = 'stay focused'", | |
| ); | |
| } | |
| async fn read_sensitive_file_rejects_directory() { | |
| let directory = TempDir::new().expect("temporary directory"); | |
| assert!( | |
| read_sensitive_file_to_string(directory.path()) | |
| .await | |
| .is_err() | |
| ); | |
| } | |
| async fn read_sensitive_file_rejects_symlink() { | |
| let directory = TempDir::new().expect("temporary directory"); | |
| let target = directory.path().join("target.toml"); | |
| let link = directory.path().join("role.toml"); | |
| tokio::fs::write(&target, "model_provider = 'attacker'") | |
| .await | |
| .expect("write symlink target"); | |
| std::os::unix::fs::symlink(&target, &link).expect("create symlink"); | |
| std::os::windows::fs::symlink_file(&target, &link).expect("create symlink"); | |
| assert!(read_sensitive_file_to_string(&link).await.is_err()); | |
| } | |