Developer Tools

vsecurity-audit

Which security mechanisms are live, checked against the interpreter.

Released v1.0.0 · 2026-09-28
Import
use "stdlib/security_audit.ven"

Names the security mechanisms the interpreter and runtime provide, such as the ones the capability package relies on, and checks each one against the live interpreter. It reports its findings plainly and makes no claim of a security certification.

vsecurity-audit.ven
print security_audit_summary()
Reference (8 functions)

API reference

owner(name, owner_file, live, status)

Builds one security-mechanism registry entry as a Map.

map_get(owner("Test mechanism", "builtins", yes, "live: it works"), "name")

capability_gating_status(work_dir)

Proves capability-based deny-by-default access gating is live on THIS running VM with two real calls, not an assertion: a GRANTED capability must succeed, and an UNGRANTED (empty capability list) call to the identical path must be refused.

capability_gating_status("/tmp")

auth_primitive_status()

auth_primitive_status()

crlf_guard_status()

crlf_guard_status()

lockfile_tamper_detection_status(work_dir)

lockfile_tamper_detection_status("/tmp/vsecurity_audit_lock_probe")

security_owners(work_dir)

The full security-mechanism registry.

length(security_owners("/tmp/vsecurity_audit_owners_probe"))

security_audit_summary(work_dir)

A plain map summary ({"total": N, "live": M}) for callers (including tests) that want the count without parsing report text.

map_get(security_audit_summary("/tmp/vsecurity_audit_summary_probe"), "total")

security_audit_report(work_dir)

Human-readable report, the body of venutian security-audit.

length(split_text(security_audit_report("/var/audit/report"), "\n"))

Get notified when vsecurity-audit changes

Get notified about

New versions and security advisories.

New and updated packages, once a day.

News on the math model built in Venutian.