|
| 1 | +# PROOF-NEEDS.md |
| 2 | +<!-- SPDX-License-Identifier: PMPL-1.0-or-later --> |
| 3 | + |
| 4 | +## Current State |
| 5 | + |
| 6 | +- **LOC**: ~9,350 |
| 7 | +- **Languages**: Ada, Idris2, Zig, Nickel |
| 8 | +- **Existing ABI proofs**: `src/abi/*.idr` (template-level) |
| 9 | +- **Dangerous patterns**: None detected |
| 10 | + |
| 11 | +## What Needs Proving |
| 12 | + |
| 13 | +### DNS Record Manipulation (hinfo_loc_fluctuator_ada/src/) |
| 14 | +- `dns_records.adb/ads`, `dns_records_extended.adb/ads` — DNS record creation and modification |
| 15 | +- `dns_update.adb/ads` — DNS update protocol |
| 16 | +- Prove: generated DNS records conform to RFC specifications (RFC 1035, etc.) |
| 17 | +- Prove: DNS updates are idempotent or safely retryable |
| 18 | + |
| 19 | +### Authentication (hinfo_loc_fluctuator_ada/src/secure_auth.adb) |
| 20 | +- Secure authentication for DNS updates |
| 21 | +- Prove: authentication tokens are never transmitted in cleartext |
| 22 | +- Prove: authentication failure results in no DNS modifications |
| 23 | + |
| 24 | +### Firewall Management (hinfo_loc_fluctuator_ada/src/firewall_manager.adb/ads) |
| 25 | +- Firewall rule manipulation during DNS fluctuation |
| 26 | +- Prove: firewall rules always return to a safe state after fluctuation |
| 27 | + |
| 28 | +### Scheduler (hinfo_loc_fluctuator_ada/src/scheduler.adb/ads) |
| 29 | +- Timed DNS fluctuation |
| 30 | +- Prove: scheduler never produces overlapping fluctuation windows |
| 31 | + |
| 32 | +### SDP Controller (hinfo_loc_fluctuator_ada/src/sdp_controller.adb/ads) |
| 33 | +- SDP (Software-Defined Perimeter) control |
| 34 | +- Prove: SDP state is consistent with DNS state after fluctuation |
| 35 | + |
| 36 | +## Recommended Prover |
| 37 | + |
| 38 | +- **SPARK** (natural fit — Ada code can be annotated with SPARK contracts) |
| 39 | +- **Idris2** for ABI layer |
| 40 | + |
| 41 | +## Priority |
| 42 | + |
| 43 | +**HIGH** — Network security tool manipulating DNS records and firewall rules. Incorrect fluctuation could cause service outages or security exposures. SPARK annotations on the Ada code would be the most effective approach. |
0 commit comments