Skip to content

audit: classify Track C panic-attack findings (#138) - #271

Merged
hyperpolymath merged 1 commit into
mainfrom
chore/panic-attack-triage-138
Jun 1, 2026
Merged

audit: classify Track C panic-attack findings (#138)#271
hyperpolymath merged 1 commit into
mainfrom
chore/panic-attack-triage-138

Conversation

@hyperpolymath

Copy link
Copy Markdown
Owner

Summary

Triages all 8 panic-attack Track C findings from the 2026-05-26 estate sweep. Creates `audits/assail-classifications.a2ml` (ephapax did not yet have this audit registry — sister boj-server has had one since the FFI sweep #154 / #155).

File:lineCategoryClassificationWhy
flake.nixSupplyChainlegitimate-template-scaffoldDormant placeholder flake (`{project-description}`, `REMINDER:`), no workflow consumes it. Pinning before activation is premature — activate-then-pin should be one PR.
ephapax-package/src/registry.rs:98UnboundedAllocationlegitimate-user-config-fileReads local registry index — user's own `.ephapax/registry/index.json`
ephapax-package/src/registry.rs:261UnboundedAllocationlegitimate-local-hash-walkInside `compute_directory_hash`; reads files this process just wrote to disk
ephapax-package/src/manifest.rs:130UnboundedAllocationlegitimate-user-manifestReads user's own `ephapax.toml`
ephapax-repl/src/lib.rs:170UnboundedAllocationlegitimate-repl-load-commandREPL `:load ` — interactive user input
ephapax-cli/src/main.rs:245 (+ 257, 327)UnboundedAllocationlegitimate-cli-arg-pathCLI arg path read; standard CLI tool pattern
ephapax-cli/src/import_resolver.rs:125 (+ 195)UnboundedAllocationlegitimate-project-sourceImport resolver reading project source files
ephapax-tools/src/formatter.rs:311 (+ documenter.rs:211)UnboundedAllocationlegitimate-cli-source-input`ephapax fmt` / `ephapax doc` reading user-supplied paths

Sister-issue parallelism

Same template + vocabulary as boj-server#155 (merged 2026-06-01 11:31Z) so cross-repo audit summaries read fluently. Same trust-boundary reasoning ports cleanly:

  • `legitimate-user-config-file` (registry.rs:98) ≈ `legitimate-user-config-file` (tray/src/server.rs:130 in boj-server#155)
  • The flake.nix branch in both — but boj-server's flake.lock IS present (`legitimate-flake-lock-pinned`) while ephapax's flake.nix is template-scaffold (`legitimate-template-scaffold`).

Test plan

  • String-aware paren balance check on the new a2ml file (62 = 62)
  • CI parses the new file (whatever a2ml-validation workflow ephapax runs)
  • Spot-check each cited line in the live source

Closes#138
Refs hyperpolymath/panic-attack#32, hyperpolymath/boj-server#155

🤖 Generated with Claude Code

8 findings from the 2026-05-26 estate sweep triaged 2026-06-01. None
require code changes; each is recorded in `audits/assail-classifications.a2ml`
(new file — ephapax did not yet have this audit registry) with a
per-finding rationale so a future re-sweep on the same line does not
require re-investigation.
Per-finding:
- flake.nix SupplyChain: legitimate-template-scaffold. Dormant
placeholder flake (`description = "ephapax - {project-description}"`,
`*REMINDER:*` comments still present), not wired to any workflow.
Pinning before activation is premature.
- 7 × UnboundedAllocation across ephapax-package / ephapax-repl /
ephapax-cli / ephapax-tools — every one is `std::fs::read_to_string`
or `std::fs::read` on a path that is either (a) the user's own
project file, (b) a CLI argument they just typed, or (c) a
locally-written registry file. No remote-attacker reachability.
Parallel triage of boj-server#155 (sister issue from the same
2026-05-26 sweep). Same vocabulary (`legitimate-user-config-file`,
`legitimate-cli-arg-path`, etc.) so cross-repo summaries read fluently.
Closes#138
Refs hyperpolymath/panic-attack#32, hyperpolymath/boj-server#155
Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
@hyperpolymath
hyperpolymath enabled auto-merge (squash) June 1, 2026 12:09
@github-actions

Copy link
Copy Markdown

🔍 Hypatia Security Scan

Findings: 71 issues detected

SeverityCount
🔴 Critical9
🟠 High14
🟡 Medium48

⚠️Action Required: Critical security issues found!

View findings
[
{
"reason": "Issue in abi-verify.yml",
"type": "missing_timeout_minutes",
"file": "abi-verify.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in codeql.yml",
"type": "missing_timeout_minutes",
"file": "codeql.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in coq-build.yml",
"type": "missing_timeout_minutes",
"file": "coq-build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in coq-build.yml",
"type": "missing_timeout_minutes",
"file": "coq-build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in coq-build.yml",
"type": "missing_timeout_minutes",
"file": "coq-build.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in governance.yml",
"type": "missing_timeout_minutes",
"file": "governance.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in hypatia-scan.yml",
"type": "missing_timeout_minutes",
"file": "hypatia-scan.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in mirror.yml",
"type": "missing_timeout_minutes",
"file": "mirror.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in rust-ci.yml",
"type": "missing_timeout_minutes",
"file": "rust-ci.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
},
{
"reason": "Issue in scorecard-enforcer.yml",
"type": "missing_timeout_minutes",
"file": "scorecard-enforcer.yml",
"action": "flag",
"rule_module": "workflow_audit",
"severity": "medium"
}
]

Powered by Hypatia Neurosymbolic CI/CD Intelligence

@hyperpolymath
hyperpolymath merged commit 27f7b1f into mainJun 1, 2026
20 checks passed
@hyperpolymath
hyperpolymath deleted the chore/panic-attack-triage-138 branch June 1, 2026 12:10
Sign up for freeto join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

security: 8 Critical/High panic-attack findings need human triage (Track C)

1 participant

@hyperpolymath