Repository navigation
core_security
GitHub Action edited this page Oct 1, 2026
·
1 revision
iso_doc_type: "Specification" iso_viewpoint: "ComponentView" type: "module" title: "factory-core::security β Security Primitives" source_path: "crates/factory-core/src/security.rs" description: "ISO 42010 ComponentView / ISO 15289 Specification documentation for factory-core::security β Security Primitives." tags: ['iso42010', 'okf', 'component_view', 'rust', 'ast'] timestamp: "2026-10-01T14:00:00Z" generated: "agent:okf-professional-documenter" verified: "true" last_verified_commit: "fbdc5848"
Source:
crates/factory-core/src/security.rsLayer: Domain
classDiagram
class SandboxConstraint {
+u32 max_memory_mb
+f32 max_cpu_cores
+bool network_egress_allowed
+gvisor_default()$ SandboxConstraint
+sidecar_default()$ SandboxConstraint
+validate_bounds() bool
}
class SecurityValidator {
<<trait>>
+validate_signature(data, signature) Result~bool~
+audit_content(content) Result~AuditResult~
}
class Ed25519SecurityValidator {
+VerifyingKey public_key
}
class AuditResult {
+bool is_safe
+Vec~String~ findings
}
class SastScanResult {
+bool is_safe
+f32 score
+Vec~String~ findings
+bool critical_vulnerabilities_detected
+passes_gate() bool
+inspect_diff(diff)$ SastScanResult
}
class JitToken {
+String token
}
class SecurityBounds {
<<trait>>
+validate_token(token) Result~bool~
+issue_jit_token(audience) Result~JitToken~
+wipe_token_from_memory(token)
}
Ed25519SecurityValidator ..|> SecurityValidator
Ed25519SecurityValidator --> AuditResult
SecurityBounds --> JitToken
JitToken ..|> zeroize::ZeroizeOnDrop : derives
note for SandboxConstraint "gVisor: 30 MiB / 0.25 CPU\nSidecar: 20 MiB / 0.10 CPU\nNo network egress"
note for SastScanResult "Gate: score >= 8.0\nNo critical vulns"
| Check | Pattern | Score Impact | Critical? |
|---|---|---|---|
| Hardcoded Secrets |
password = ", api_key = ", secret = ", private_key = "
|
-4.0 | β |
| Command Injection |
system(, exec(, eval(
|
-5.0 | β |
| SQL Injection |
format!("select, format!("delete
|
-4.0 | β |
| Unbounded Loop |
loop { without break/return
|
-2.5 | β |
graph LR
OUTSIDE["Untrusted: External APIs"]
ZITI["OpenZiti Tunnel"]
NHI["NHI Credential Check"]
SAST["SAST Gate: >= 8.0"]
SANDBOX["gVisor Sandbox"]
OUTSIDE -->|"Encrypted"| ZITI
ZITI -->|"Ed25519 verify"| NHI
NHI -->|"inspect_diff()"| SAST
SAST -->|"Constrained execution"| SANDBOX
style OUTSIDE fill:#f44336,stroke:#c62828,color:#fff
style SANDBOX fill:#4CAF50,stroke:#2E7D32,color:#fff
Related: nhi.rs Β· Security Architecture
- Business Context
- Strategic Design
- Tactical Design
- Agent Specifications
- Runtime Sequences
- Infrastructure Adapters
- Mission Data Model
- lib.md
- gitlab_verifier.md
- poller_service.md
- telemetry_export.md
- Agents
- Workflows
- Bridge
- Utils
- lib.md
- github.md
- gitlab.md
- jira.md
- kafka.md
- ziti.md
- vault.md
- r2r.md
- semantica.md
- aethalgard.md
- mcp_client.md
- pipeline_classifier.md
- s3.md
- sentry.md
- security_validator.md
- cursor_store.md
- git_poller.md
- lib.md
- main.md
- protocol.md
- sandbox.md
- scratch.md
- feedback_route.md
- github_webhook.md
- Skills
-
Tools
- mod.md
- bridge.md
- deep_research_tool.md
- execute_code.md
- get_factory_status.md
- index_code.md
- inspect_kafka_topic.md
- launch_sandbox_pod.md
- list_minio_buckets.md
- list_minio_objects.md
- plan_mission.md
- retrieve_context.md
- run_tests.md
- search_jira.md
- security_review.md
- spec_kit_tasks_to_issues.md
- spec_kit_tool.md
- update_mission_status.md