cntr
Fast, case-insensitive ASCII letter frequency analysis for any text file.
cntr FILEC11 · POSIX · OPEN SOURCE
Focused command-line tools in native C11 and readable Python—with bounded inputs, Unix administration, threat hunting, and a read-only interface for local AI troubleshooting.
$ git clone https://github.com/drmbios/pydev
$ cd pydev && make
✓ built 32 native tools
$ bin/cntr README.md
a 131
b 12
c 38
▋
01 / THE TOOLBOX
Each utility stays deliberately small, composable, and predictable—the Unix philosophy without the mystery behavior.
Fast, case-insensitive ASCII letter frequency analysis for any text file.
cntr FILEA Mastermind-style four-digit terminal game with secure randomness and feedback.
codebreaker [ATTEMPTS]Extract quoted link destinations from bounded HTML input in linear time.
parser_html FILESearch or install packages through a shell-free, injection-resistant launcher.
qpipper ACTION PACKAGEInspect compact or formatted JSON with explicit input and nesting limits.
readjson FILEStore and update question-answer entries using prepared SQLite statements.
sql DB add NAME ANSWERPull names and telephone numbers from vCard files into a clean summary.
contacts FILE.vcfA complete local two-player tic-tac-toe game with guarded input.
tttA bounded, error-aware text writer for quick terminal workflows.
write2file FILE TEXTCalculate standard CRC-32 values for fast file integrity comparisons.
checksum FILE...Inspect binary data as aligned hexadecimal bytes and printable ASCII.
hexview FILE [MAX_BYTES]Extract meaningful printable runs from bounded binary input.
stringsx FILE [MIN_LENGTH]Generate secure passwords from unbiased operating-system randomness.
randpass [LENGTH]Translate Linux x86-64 syscall numbers into names and plain-language explanations.
syscallx NUMBER...List files with numeric permissions and true recursive directory sizes.
lsx [-aSr] [PATH]Trace syscalls and forked process dependencies as an indented tree.
traceflow COMMAND [ARG...]Combine CPU, memory, load, disk, and network graphs with separate CSV logs.
syswatch --count 10 --log logsMap logged-in users to their processes and safely dry-run session termination.
sessionx --terminate USERInspect process owners, memory, threads, executables, and open descriptor counts.
procexp [PID]Summarize kernel, architecture, processor, page size, CPU count, and physical memory.
coreinfoReport the real resolution of available POSIX realtime, monotonic, and CPU clocks.
clockresConvert integers among decimal, hexadecimal, octal, and binary with overflow checks.
numconv NUMBERDiscover all hard links sharing a target file's device and inode.
linkscan FILE [ROOT]Inventory standard Linux and macOS startup entries without loading or executing them.
autostartxQuery WHOIS services with input validation, timeouts, and a bounded response.
whoisx example.comHunt malware, miners, risky persistence, and rootkit indicators with bounded heuristics and hash-verified signature updates.
antivermis --check-update URL DBNEW / QUANTUM HOSTS + PQC
Five new C11 and Python tools for classical Linux/macOS hosts: OpenSSL-backed post-quantum keys, bounded circuit validation, ideal simulation, and memory planning. No physical QPU or quantum RNG is implied.
Inventory local OpenSSL KEM and signature algorithms. Check for ML-KEM and ML-DSA; availability is not a security certification.
pqcheckGenerate ML-KEM or ML-DSA keys with OpenSSL 3.5+. New owner-only directory, no overwrite, no classical fallback. Private keys are unencrypted: protect them.
pqkey ML-KEM-768 pq-keysValidate a documented OpenQASM 2 subset and report qubits, gates, and dependency depth. Bounded to 20 qubits and 2,048 gates.
qasmcheck examples/bell.qasmSimulate ideal circuits on a CPU and print basis-state probabilities. Up to 10 qubits; no shots, noise model, or hardware backend.
qsim examples/bell.qasmEstimate dense complex128 statevector memory without allocating it. Thirty qubits need 16 GiB of payload, before runtime overhead.
qbudget 30Generate 256 bits of OS-random entropy as 64 hex characters. A high-entropy secret—not a quantum RNG, cipher, or automatic protocol upgrade.
randpass --quantumFor Linux control hosts, pair these with coreinfo, syswatch, procexp, clockres, lsx, Antivermis, and structured file/system evidence. They inspect classical resources, not qubits or laboratory pulse timing.
02 / STRUCTURED EVIDENCE
The optional pydev AI adapter produces versioned JSON with evidence IDs, explicit coverage, units, capability discovery, and honest unsupported states.
Stable status, timestamps, platform, measurements, evidence, warnings, errors, and coverage for every collector.
python3 -m pydev_ai capabilitiesTwelve bounded stdio tools with strict filesystem roots and no shell, mutation, termination, installation, or network access.
python3 -m pydev_ai.mcp_server --root PATHCorrelates correctly sampled host and process rates while separating facts, hypotheses, missing evidence, and next checks.
pydev-ai diagnose-pressureConnects file identity, bounded inspection, Antivermis indicators, startup metadata, and running-path observations.
pydev-ai --root PATH investigate-file FILE$ python3 -m pip install -e '.[mcp]'
$ python3 -m pydev_ai.mcp_server --root "$PWD"
✓ read-only stdio tools · no API key required
03 / PLATFORM SUPPORT
Cross-platform collectors work on Linux and macOS. Linux-only counters report unsupported on other systems instead of returning made-up measurements.
Rooted file inspection, checksums, directory usage, hard-link discovery, startup inventory, and bounded Antivermis scanning.
inspect_file · scan_files · find_hardlinksDelta-based CPU, disk, network, and process rates with PID identity, reset detection, explicit units, and bounded samples.
sample_system_metrics · list_processesNVIDIA metrics use nvidia-smi when available. Inference telemetry requires an exact configured host and explicit network permission.
pydev-ai ai-healthThe AI interface cannot run a shell, install packages, alter files, terminate processes, or expose process environments and credential stores.
get_capabilities04 / RECENT UPDATES
The project now maintains matching Python and C11 editions, with security boundaries documented and exercised in both.
Five bounded C/Python additions, post-quantum OpenSSL key interoperability, high-entropy secret generation, and a curated host-tool guide.
pqcheck · pqkey · qasmcheck · qsim · qbudgetFixed scan budgets, descriptor races, telemetry logic, and redaction gaps. Enabled GitHub security scans and protected-branch checks.
CodeQL · secret scanning · dependency reviewAdded structured evidence collectors, deterministic workflows, correct sampled metrics, strict filesystem roots, and optional local MCP.
make python-check · make mcp-checkAdded independent Python 3.9+ counterparts for every user-facing native tool, including Antivermis and the Linux administration suite.
make python-checkAdded Antivermis signature updates with HTTPS-only remote feeds, SHA-256 verification, parser validation, and atomic installation.
antivermis --update-db URL DBAdded Linux administration plus six cross-platform Sysinternals/NirSoft-inspired terminal tools.
traceflow · syswatch · coreinfoAdded binary tools, optional SQLite builds, parser limits, abuse tests, and sanitizer CI.
make sanitizeConverted the repaired Python sketches into strict C11 tools and launched the GitHub Pages site.
make && make check05 / BUILT DEFENSIVELY
These utilities assume files can be oversized, strings malformed, and arguments malicious. Limits are part of the product—not an afterthought.
Explore the abuse tests ↗General readers cap input at 16 MiB; Antivermis defaults to 32 MiB and hard-caps files at 64 MiB.
Grammar, nesting, and output growth are checked before rendering.
Package arguments never become executable shell syntax.
Sanitizers, special-file rejection, and symlink tests run across the suite.
06 / GET STARTED
You need a C11 compiler and Make. SQLite is optional; Python 3.9+ runs the Python and structured tools, while MCP needs Python 3.10+.
$ git clone https://github.com/drmbios/pydev.git
$ cd pydev
$ make && make check