opn-test — independently scanned and version-tracked by SaferSkills.
SaferSkills independently audited opn-test (Agent Skill) and scored it 100/100 (green). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 0 high-severity and 0 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.
Findings & checks · 0 flagged
Every scanned point with the score it earned and what moved between them.
First recorded scan — no prior version to compare against.
The primary manifest — the file an agent reads to learn what this artifact does.
Run live integration tests against the OPNsense API to verify all MCP tools work correctly.
Usage: /opn-test (all domains) or /opn-test <domain> (single domain) Available domains: dns, firewall, acme, diagnostics, system, dhcp, interfaces, firmware
If a tool returns an unexpected error or wrong data:
bug including the failure detailsmcp-test or MCP-TEST for easy identificationdns)Read tests:
opnsense_dns_list_overrides — expect array responseopnsense_dns_list_forwards — expect array responseopnsense_dns_list_blocklist — expect array responseopnsense_dns_diagnostics — expect diagnostics dataWrite + Cleanup cycle — Host Override:
opnsense_dns_add_override — add host mcp-test, domain home.lab, ip 10.10.99.99, description MCP-TESTopnsense_dns_list_overrides — VERIFY: confirm mcp-test.home.lab appears in listopnsense_dns_delete_override — CLEANUP: delete by UUID from step 5opnsense_dns_list_overrides — VERIFY: confirm mcp-test.home.lab is goneWrite + Cleanup cycle — Forward:
opnsense_dns_add_forward — add forward for domain mcp-test-fwd.example.com, server 1.1.1.1opnsense_dns_delete_forward — CLEANUP: delete by UUID from step 9Write + Cleanup cycle — Blocklist:
opnsense_dns_block_domain — block mcp-test-block.example.comopnsense_dns_unblock_domain — CLEANUP: unblock mcp-test-block.example.comSafe write (no cleanup needed):
opnsense_dns_flush_cache — flush DNS cacheSKIP: opnsense_dns_apply — would apply pending DNS changes to live config
firewall)Read tests:
opnsense_fw_list_rules — expect array responseopnsense_fw_list_aliases — expect array responseWrite + Cleanup cycle — Rule:
opnsense_fw_add_rule — add DISABLED test rule: action block, interface lan, source_net any, destination_net any, description MCP-TEST-RULE, disabled trueopnsense_fw_list_rules — VERIFY: confirm MCP-TEST-RULE appearsopnsense_fw_toggle_rule — toggle the test rule (verifies toggle mechanism)opnsense_fw_update_rule — update description to MCP-TEST-RULE-UPDATEDopnsense_fw_delete_rule — CLEANUP: delete test ruleopnsense_fw_list_rules — VERIFY: confirm test rule is goneSKIP: opnsense_fw_apply — would apply rules to live firewall SKIP: opnsense_fw_manage_alias — test separately if needed
acme)Read tests only (all write operations involve real Let's Encrypt or destructive actions):
opnsense_acme_settings — get ACME settingsopnsense_acme_list_accounts — list accountsopnsense_acme_list_challenges — list challengesopnsense_acme_list_certs — list certificatesSKIP: All other ACME tools (add/delete account, register, add/update/delete challenge, create/delete/renew cert, apply)
diagnostics)Read tests:
opnsense_diag_system_info — get system infoopnsense_diag_arp_table — get ARP tableopnsense_diag_routes — get routing tableopnsense_diag_fw_states — get firewall statesopnsense_diag_fw_logs — get firewall logs (limit to 10)opnsense_diag_ping — ping gateway (use the firewall's own IP from sys_info)opnsense_diag_traceroute — traceroute to 1.1.1.1opnsense_diag_dns_lookup — reverse lookup for the firewall's own IPopnsense_diag_reverse_dns — reverse DNS for the firewall's own IPsystem)Read tests:
opnsense_sys_info — get system infoopnsense_sys_backup_list — list backupsopnsense_sys_backup_download — download current config (verify response contains XML)opnsense_sys_list_certs — list certificatesopnsense_svc_list — list all servicesSKIP: opnsense_svc_control — would restart live services SKIP: opnsense_sys_backup_revert — destructive
dhcp)Read tests:
opnsense_dhcp_list_leases — list active leasesopnsense_dhcp_find_lease — find a lease (use first MAC from lease list)opnsense_dhcp_list_static — list static mappingsWrite + Cleanup cycle — Static Mapping:
opnsense_dhcp_add_static — add static mapping: mac 00:00:5E:00:53:01, ipaddr 10.10.99.98, hostname MCP-TEST, description MCP live test entryopnsense_dhcp_list_static — VERIFY: confirm MCP-TEST appearsopnsense_dhcp_delete_static — CLEANUP: delete by UUID from step 4opnsense_dhcp_list_static — VERIFY: confirm MCP-TEST is goneinterfaces)Read tests:
opnsense_if_list — list interfacesopnsense_if_get — get details for lan interfaceopnsense_if_stats — get interface statisticsfirmware)Read tests:
opnsense_firmware_info — get firmware infoopnsense_firmware_status — check for updatesopnsense_firmware_list_plugins — list installed pluginsSKIP: opnsense_firmware_install — would install package SKIP: opnsense_firmware_remove — would remove package
After all tests complete, present results in this format:
## OPNsense Live Test Results — [DATE]
### Summary
- Total tools: 63
- Tested: [N] | Skipped: [N]
- PASS: [N] | FAIL: [N] | ERROR: [N]
- Write+Cleanup cycles: [N] completed, [N] failed
- Bugs created: [N] (list issue URLs)
### Per Domain
| Domain | Tools | Tested | Pass | Fail | Skip |
|--------|-------|--------|------|------|------|
| DNS | 12 | ... | ... | ... | ... |
| Firewall | 8 | ... | ... | ... | ... |
| ACME | 14 | ... | ... | ... | ... |
| Diagnostics | 9 | ... | ... | ... | ... |
| System | 7 | ... | ... | ... | ... |
| DHCP | 5 | ... | ... | ... | ... |
| Interfaces | 3 | ... | ... | ... | ... |
| Firmware | 5 | ... | ... | ... | ... |
### Failures (if any)
| Tool | Input | Expected | Actual | Issue |
|------|-------|----------|--------|-------|
| ... | ... | ... | ... | #XX |
### Cleanup Status
- [ ] All test entries removed
- [ ] No `mcp-test` / `MCP-TEST` entries remain in any domainPost a concise summary to Slack (channel provided by the caller):
🧪 OPNsense Live Test — [DATE]
Tested: [N]/63 | ✅ [N] Pass | ❌ [N] Fail | ⏭️ [N] Skip
Write+Cleanup: [N]/[N] clean
Bugs: [N] created ([issue URLs])mcp-test / MCP-TEST prefix for ALL test entries so they're easily identifiable.opnsense_dns_apply or opnsense_fw_apply — test entries should NOT be applied to live config.~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.