vulkro inspect
Look for malicious-code patterns in a project you have not run yet, so a person can review them before running any of it.
git clone https://example.com/some/repo && cd repo
vulkro inspect .
vulkro inspect . --json > capabilities.json
scan asks "is this code vulnerable". inspect asks "what can this code do if I run it". It groups the mal-* detectors into capabilities and lists each site to review. Unlike scan, it shows every confidence level, so a Medium-confidence shape (such as a committed binary) is never hidden.
It never says code is safe. A static scan of code that has not run, possibly written to evade it, can only point at behaviour for a person to judge. A run with nothing found is not a pass.
What it looks for
| Capability | Signal |
|---|---|
| Hidden or misleading source text (trojan source) | mal-trojan-source |
| Reverse shell or instance-metadata grab | mal-reverse-shell, mal-imds |
| Reads credentials, or reads and sends them out | mal-cred-read, mal-cred-exfil |
| Runs code from an install or build hook | mal-install-hook |
| Obfuscated or packed source | mal-obfuscation |
| Runs only on a given environment, date or host | mal-env-gate |
| Copies or republishes itself (worm) | mal-worm |
| Targets cryptocurrency wallets | mal-wallet |
| Fetches and runs remote code | mal-remote-load |
| Installs persistence (cron, launchd, systemd, shell rc) | mal-persist |
| Committed binary the scanner cannot read | mal-committed-binary |
| Lockfile or integrity-hash mismatch | mal-dep-integrity |
| Prompt injection aimed at an AI coding agent | mal-prompt-injection |
Flags
| Flag | Description |
|---|---|
[PATH] | Project root. Default .. |
--json | Print the CapabilityReport JSON (capabilities[] with hits[] of file, line, rule_id, message; total_findings; disclosure). There is no verdict field. |
--ai | Add a plain-language note from your AI model on why each shape is suspicious. Advisory only. See vulkro ai. |
Exit codes
| Code | Meaning |
|---|---|
0 | Nothing known was found. Not a safety guarantee. |
1 | Malicious-capability shapes found: review before you trust or run the code. |
2 | Error (bad path, IO failure, internal crash). |
Nothing leaves your machine. AI coding agents get the same result from the inspect_repo tool of vulkro mcp.