github.com / microsoft
microsoft/ tgrep
Rust·110 files·commit 69e4fd0·scanned 2h ago·cached ✓
15/100
LOW RISK
Minor findings consistent with the project type. Nothing reachable from install hooks.
score capped at 15 — microsoft is a verified organization — findings likely false positives
verdict accurate?
Verified organization
Crypto/Web3 project
threat-state: lowlive
FINDINGS ░▒▓
warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.tgrep-cli/src/mem.rs
unsafe {
let handle = GetCurrentProcess();
let mut counters = MaybeUninit::<PROCESS_MEMORY_COUNTERS>::zeroed();+3warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.tgrep-cli/src/search.rs
// accepts when it maps a file it is searching.
Self::Mapped(map) => unsafe { std::str::from_utf8_unchecked(map) },
}
}+3warningRust unsafe blockunsafe blocks bypass Rust's memory safety guarantees. Malware uses them for raw pointer manipulation, shellcode injection, or calling dangerous foreign functions.tgrep-cli/src/serve/index_cleanup.rs
// this never falls back to POSIX semantics when a mapped file rejects it.
let result = unsafe {
SetFileInformationByHandle(
file.as_raw_handle(),+3criticalRust process Command usagestd::process::Command can execute arbitrary shell commands. Malware uses it to drop payloads, exfiltrate data, or establish persistence.tgrep-core/benches/index_build.rs
let repo = create(file_count, bytes_per_file);
let mut child = Command::new(std::env::current_exe().unwrap())
.arg("--peak-memory-child")
.arg(repo.path())+8warningRust wallet/crypto code with network activityCode handling private keys or signing and also making network requests may be exfiltrating secrets or sending funds to an attacker.tgrep-cli/src/search.rs
/// Returns `None` if the bytes are not valid UTF-8, which is the caller's /// signal to fall back to reading and repairing them. /// /// Both questions need every byte, and asking them separately mea...+5
warningRust wallet/crypto code with network activityCode handling private keys or signing and also making network requests may be exfiltrating secrets or sending funds to an attacker.tgrep-cli/tests/watcher_watch_registration.rs
//! The descriptor-count assertion is Linux-only; Android has the same selective //! registration design but is not exercised by this test target. use std::fs;+5
infoSuspicious file in repoVery large source file (581KB) — could contain obfuscated payloadtgrep-cli/src/serve.rs+2
Scores are heuristics. A “safe” verdict means no known-malicious patterns were found — clever malware can look boring. Wrong verdict? Flag it above; confirmed false positives become regression tests.
70 files scanned @ 69e4fd0 | 9/25/2026 | heuristic scan — always review manually
risk by category
code execution25
network & exfiltration10
file system access0
obfuscation0
supply chain8
owasp / injection0
telemetry
files 70/110rules hit 11engine v6commit 69e4fd0
github
microsoft/tgrep
Trigram-indexed grep with a client/server architecture for fast regex search in large codebases locally
3354
135
175d
110 files
70 scanned(64%)
69e4fd0
architecture░▒▓
entry (0) flagged (8) pkg (60)
120 nodes · 131 edgesscroll to zoom · click node to jump to finding