بنقرة واحدة
بنقرة واحدة
Audit and update all project documentation to stay in sync with the current development status.
Perform a project-wide code review covering security, correctness, code quality, tests, documentation, and style.
Stage, commit, and push changes to the remote repository with a well-formed commit message.
Manage the full software release process, including version bumps, changelogs, Git tags, and GitHub releases.
| name | security-audit |
| description | Perform project-wide security audits of the bypass password manager. |
bypass is a password manager — security review is the highest-stakes review this project has. When auditing, always follow these steps:
Dependency audit
cargo audit (install with cargo install cargo-audit if missing) against Cargo.lock. Any unpatched RUSTSEC advisory in a dependency that touches crypto, parsing, networking, or process spawning is treated as Critical until proven otherwise.cargo deny check if deny.toml is configured. Confirm no GPL/AGPL deps were pulled in transitively (the crate is intended to be permissively licensed).Plaintext lifecycle
Zeroizing<Vec<u8>> / Zeroizing<String> (or equivalent) and is dropped as early as possible.format!, println!, eprintln!, log::*, tracing::*, dbg!, or a panic message.bypass edit: the tempfile must be created with 0600 perms on a path the user controls (prefer XDG_RUNTIME_DIR / tmpfs); the file must be unlinked before the editor exits, and the buffer zeroized.GPG subprocess hygiene
gpg invocations use std::process::Command with arguments as separate arg() calls — no shell, no string concatenation.gpg only via stdin (Stdio::piped()); ciphertext leaves via stdout. Never write plaintext to a tempfile that gpg then reads.GNUPGHOME is respected when set; tests never inherit the user's real GNUPGHOME.Filesystem boundary
.., absolute paths, and resolved paths that escape the root..gpg-id lookup must use the resolved, post-symlink path..gpg files and .gpg-id should be 0600 / 0644 respectively; the store root should be 0700.Git integration risk
git2 operations must not leak plaintext into commit messages, refs, or notes.Clipboard handling
arboard behavior matches expectations on each platform actually targeted.Generation entropy
OsRng (via rand::rngs::OsRng or equivalent CSPRNG). Never use thread_rng() for secrets unless it is documented as CSPRNG-backed for the chosen crate version.Sync layer (when present)
.gpg blobs cross the network. The sync layer must not have access to GPG keys or plaintext.Report findings — Document all identified risks, classify by severity (Critical, High, Medium, Low), and provide specific remediation steps. Include file path + line number for every finding. For Critical issues, also suggest whether a hotfix release is warranted.