@@ -19,6 +19,8 @@ The Symbi Agent Runtime System provides a complete infrastructure for executing
19
19
- ** SchemaPin Security** : Tool verification with Trust-On-First-Use (TOFU)
20
20
- ** AI Tool Review** : Automated security analysis and signing workflow
21
21
- ** Policy Engine** : Resource access control with YAML-based policies
22
+ - ** Basic Secrets Management** : Local encrypted file storage for secure configurations
23
+ - ** Cryptographic CLI** : Tool for encrypting/decrypting secret files locally
22
24
- ** Optional HTTP API** : RESTful API interface for external system integration (feature-gated)
23
25
24
26
## Architecture
@@ -363,9 +365,56 @@ match decision.decision {
363
365
// Handle other decision types
364
366
}
365
367
}
368
+ ### 9 . Basic Secrets Management
369
+
370
+ Local encrypted file storage for secure configuration data :
371
+
372
+ ```rust
373
+ use symbi_runtime :: secrets :: file_backend :: * ;
374
+ use symbi_runtime :: crypto :: * ;
375
+
376
+ // Configure encrypted file storage
377
+ let file_config = FileBackendConfig {
378
+ base_path : " ./secrets" . to_string (),
379
+ file_extension : " enc" . to_string (),
380
+ permissions : 0o600 ,
381
+ };
382
+
383
+ let crypto = Aes256GcmCrypto :: new ();
384
+ let key_utils = KeyUtils :: new ();
385
+ let master_key = key_utils . get_or_create_key ()? ;
386
+
387
+ let file_backend = FileBackend :: new (file_config , crypto , master_key ). await ? ;
388
+
389
+ // Store encrypted secret
390
+ let secret = Secret :: new (" api_key" , " secret_value_123" )
391
+ . with_metadata (" environment" , " development" );
392
+
393
+ file_backend . store_secret (" app/api_key" , secret ). await ? ;
394
+
395
+ // Retrieve a secret
396
+ let retrieved = file_backend . get_secret (" app/api_key" ). await ? ;
397
+ println! (" API Key: {}" , retrieved . value);
366
398
```
367
399
368
- ### 9. Optional HTTP API
400
+ #### CLI Usage
401
+
402
+ Encrypt and decrypt secret files:
403
+
404
+ ``` bash
405
+ # Encrypt a JSON configuration file
406
+ symbiont secrets encrypt --in config.json --out config.json.enc
407
+
408
+ # Decrypt and view
409
+ symbiont secrets decrypt --in config.json.enc
410
+
411
+ # Edit encrypted file in-place
412
+ symbiont secrets edit --file config.json.enc
413
+ ```
414
+
415
+ ```
416
+
417
+ ### 10. Optional HTTP API
369
418
370
419
When enabled with the `http-api` feature, the runtime exposes a RESTful API:
371
420
@@ -426,11 +475,10 @@ cargo build --features http-api
426
475
427
476
## Security Features
428
477
429
- ### Multi-tier Sandboxing
478
+ ### Sandboxing
430
479
431
- - ** Tier1** : Docker containers with resource limits
432
- - ** Tier2** : gVisor for enhanced isolation
433
- - ** Tier3** : Firecracker microVMs for maximum security
480
+ - ** Tier 1 (Docker)** : Container isolation with resource limits and security hardening
481
+ - ** Enhanced Isolation** : Additional tiers available in Enterprise edition
434
482
435
483
### SchemaPin Cryptographic Security
436
484
@@ -715,7 +763,13 @@ For issues and questions:
715
763
- [x] Resource access management with policy engine
716
764
- [x] Complete end-to-end security framework
717
765
718
- ### 🚧 Phase 6: Advanced Intelligence (PLANNED)
766
+ ### ✅ Phase 6: Basic Secrets Management (COMPLETED)
767
+ - [x] Encrypted file backend with AES-256-GCM encryption
768
+ - [x] CLI tools for secret encryption/decryption operations
769
+ - [x] Cross-platform file-based secret storage
770
+ - [x] Integration with existing runtime components
771
+
772
+ ### 🚧 Phase 7: Advanced Intelligence (PLANNED)
719
773
- [ ] Multi-modal RAG support (images, audio, structured data)
720
774
- [ ] Cross-agent knowledge synthesis with knowledge graphs
721
775
- [ ] Intelligent context management with adaptive pruning
0 commit comments