Security
Scope and trust model
Aquila Graph POC is a local, non-production, single-operator experiment. Its normative behavior is defined by poc/contract.md, and its boundaries are described in ARCHITECTURE.md. It is not a service, library, security product, or production deployment.
The supported model assumes that the same local operator controls the repository, launcher, Docker execution, and .runs/ artifacts. Content hashes and exact manifests detect unexpected variation and correlate files within that execution. They are not signatures and do not authenticate evidence against an actor who can replace the repository, launcher, and complete artifact set.
What to report
Report concrete behavior that violates an implemented boundary, such as:
- output escaping the configured
.runs/<run-id>/directory; - acceptance of an execution whose observed non-root, capability-free, no-new-privileges, read-only, or isolated-network posture contradicts the required posture;
- surviving or unaccounted child processes, or a reproducible bypass of a documented resource limit;
- acceptance of undeclared semantic or build inputs;
- local secret material entering the Docker build context, image, or CI evidence;
- acceptance of executable or JDK identity substitution;
- acceptance by
checkof malformed, omitted, extra, stale, or internally inconsistent run artifacts; - an exposed credential or private key in tracked content or generated CI evidence; or
- project-specific CI or build configuration that executes untrusted content with broader authority than declared.
Include the exact commit, command, Docker and Compose versions, host operating system and architecture, a minimal reproducer, the expected and observed boundary, impact within this trust model, relevant standard error, and the smallest useful artifacts. Do not attach an entire .runs/ directory unless it is necessary, and review all attachments for secrets first.
Reporting route
If the report is safe to disclose publicly, open a minimal GitHub issue.
Do not post credentials, personal data, confidential exploit details, or undisclosed third-party vulnerabilities in a public issue. Use GitHub private vulnerability reporting only if the repository's Security tab makes it available. If no private route is available and public disclosure is inappropriate, do not open a public issue or include sensitive details.
Outside the supported claim
The absence of production authentication, authorization, tenant isolation, remote APIs, signing, remote attestation, high availability, service-level objectives, or deployment hardening is intentional and is not by itself a vulnerability.
A report that assumes an actor can already replace the repository, launcher, Docker execution, and complete .runs/ tree must identify an additional claimed boundary or consumer affected by that capability. General product-hardening requests and design proposals belong in the normal issue and contribution workflow.
Report vulnerabilities in Docker, Python, Eclipse Temurin, or GitHub Actions upstream unless the report demonstrates a project-specific, reachable impact caused by this repository's use or configuration.
Public documentation boundary
GitHub Pages publishes generated HTML, CSS, JavaScript, and referenced static assets to the public internet. The documentation build must publish only the validated VitePress output; it must not upload .runs/, local configuration, credentials, PlantUML sources, package manifests, source maps, or raw experiment evidence.
VitePress Markdown may contain HTML and Vue components, so documentation changes are reviewed as build-executed code rather than passive text. The build uses a locked dependency graph with lifecycle scripts disabled, and publication must not execute repository code in the job that holds Pages write authority.
Maintenance status
This repository has no supported release series. The current main branch is the only active development line. Historical and baseline tags are reproduction references, not maintained versions.
The project does not commit to a security-response time, disclosure embargo, security-update schedule, CVE assignment, or bug bounty.