aaif-goose / aaif-goose/goose

fix(security): harden temp file permissions for sensitive data

Open
#11,620 1 comment 0 reactions 1 assignee Claimed by @jbg View on GitHub
Dominant language
Rust
Stars
54.2k
Forks
6.2k
Avg merge
3d 2h
Merged PRs (30d)
262

Description

### Description

In goose's Rust codebase, temp files may be created for handling sensitive data (API keys in logs, tool outputs, etc.). Ensuring 0o600 permissions is important for multi-user systems.

### Suggested audit

- Search for `NamedTempFile`, `tempfile`, `std::fs::write` with sensitive content
- Ensure 0o600 on Unix
- Add explicit permission setting where needed

### Location

- `crates/goose/src/agents/`
- `crates/goose/src/session/`
- Any credential handling

### Fix

```rust
use std::os::unix::fs::PermissionsExt;
let file = tempfile::NamedTempFile::new()?;
std::fs::set_permissions(file.path(), Permissions::from_mode(0o600))?;
```

### Why

Goose handles API keys, private code, and user data. Defense in depth.

Happy to PR.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.