cybersecured-agent-cli 2.0.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. cybersecured_agent_cli-2.0.0/.gitignore +35 -0
  2. cybersecured_agent_cli-2.0.0/CHANGELOG.md +47 -0
  3. cybersecured_agent_cli-2.0.0/CONTRIBUTING.md +51 -0
  4. cybersecured_agent_cli-2.0.0/LICENSE +674 -0
  5. cybersecured_agent_cli-2.0.0/PKG-INFO +76 -0
  6. cybersecured_agent_cli-2.0.0/README.md +35 -0
  7. cybersecured_agent_cli-2.0.0/docs/agent-identity-design.md +272 -0
  8. cybersecured_agent_cli-2.0.0/docs/command-reference.md +350 -0
  9. cybersecured_agent_cli-2.0.0/docs/developer-guide.md +201 -0
  10. cybersecured_agent_cli-2.0.0/docs/diagnose-command.md +108 -0
  11. cybersecured_agent_cli-2.0.0/docs/workspace-detection.md +73 -0
  12. cybersecured_agent_cli-2.0.0/pyproject.toml +86 -0
  13. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/__init__.py +12 -0
  14. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/__main__.py +6 -0
  15. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/__init__.py +23 -0
  16. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/_types.py +17 -0
  17. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/hermes.py +108 -0
  18. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/kimi_cli.py +108 -0
  19. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/openclaw.py +117 -0
  20. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/opencode.py +111 -0
  21. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/api_client.py +251 -0
  22. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/cli.py +73 -0
  23. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/__init__.py +25 -0
  24. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/advisory.py +52 -0
  25. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/agent.py +395 -0
  26. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/application.py +100 -0
  27. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/assessment.py +82 -0
  28. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/auth.py +78 -0
  29. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/config.py +50 -0
  30. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/coverage.py +46 -0
  31. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/diagnose.py +24 -0
  32. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/incident.py +234 -0
  33. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/scan.py +164 -0
  34. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/status.py +33 -0
  35. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/config.py +114 -0
  36. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/constants.py +98 -0
  37. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/exceptions.py +25 -0
  38. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/__init__.py +20 -0
  39. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/core.py +126 -0
  40. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/dump.py +139 -0
  41. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/hashing.py +55 -0
  42. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/versions.py +9 -0
  43. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/__init__.py +4 -0
  44. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/cloud_detect.py +111 -0
  45. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/config_files.py +73 -0
  46. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/desensitize.py +163 -0
  47. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/machine_id.py +173 -0
  48. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/process_chain.py +165 -0
  49. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/machine_id.py +13 -0
  50. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/output.py +91 -0
  51. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/risk_factors.py +43 -0
  52. cybersecured_agent_cli-2.0.0/src/cybersecured_agent/workspace.py +31 -0
  53. cybersecured_agent_cli-2.0.0/tests/test_agent_frameworks.py +100 -0
  54. cybersecured_agent_cli-2.0.0/tests/test_api_client.py +310 -0
  55. cybersecured_agent_cli-2.0.0/tests/test_config.py +110 -0
  56. cybersecured_agent_cli-2.0.0/tests/test_desensitize.py +74 -0
  57. cybersecured_agent_cli-2.0.0/tests/test_diagnose.py +67 -0
  58. cybersecured_agent_cli-2.0.0/tests/test_fingerprint.py +160 -0
  59. cybersecured_agent_cli-2.0.0/tests/test_machine_id.py +114 -0
  60. cybersecured_agent_cli-2.0.0/tests/test_output.py +87 -0
  61. cybersecured_agent_cli-2.0.0/tests/test_process_chain.py +31 -0
  62. cybersecured_agent_cli-2.0.0/tests/test_risk_factors.py +95 -0
  63. cybersecured_agent_cli-2.0.0/tests/test_workspace.py +46 -0
@@ -0,0 +1,35 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ dist/
9
+ *.egg-info/
10
+ .eggs/
11
+ *.egg
12
+
13
+ # Virtual environments
14
+ venv/
15
+ .env/
16
+ .venv/
17
+
18
+ # Testing
19
+ .pytest_cache/
20
+ .coverage
21
+ htmlcov/
22
+ .tox/
23
+
24
+ # IDE
25
+ .idea/
26
+ .vscode/
27
+ *.swp
28
+ *.swo
29
+
30
+ # OS
31
+ .DS_Store
32
+ Thumbs.db
33
+
34
+ # Build artifacts
35
+ downloads/
@@ -0,0 +1,47 @@
1
+ # Changelog
2
+
3
+ All notable changes to this project will be documented in this file.
4
+
5
+ The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
+ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
+
8
+ ## [1.0.0] - 2026-04-28
9
+
10
+ ### Added
11
+ - Initial release of Cybersecured Agent CLI
12
+ - Cross-platform support (Windows, Linux, macOS)
13
+ - Docker and cloud platform detection (AWS, Azure, GCP, Alibaba Cloud)
14
+ - Multi-agent framework detection (OpenClaw, Cursor, Claude Code, Kimi, Hermes)
15
+ - CLI commands: auth, agent, scan, assessment, application, advisory, incident, status
16
+ - Convention-based JSON file discovery for risk factors
17
+ - JSON/YAML output format support
18
+ - Configuration migration tool (from ~/.ai-agent-protection/ to ~/.config/cybersecured/)
19
+ - Build and publish script for intonator
20
+
21
+ ## [2.0.0] - 2026-05-10
22
+
23
+ ### Added
24
+ - `diagnose` command for collecting desensitized environment snapshots
25
+ - `agent_frameworks/` pluggable framework module architecture
26
+ - `infra/` shared infrastructure (process_chain, machine_id, cloud_detect, desensitize, config_files)
27
+ - `fingerprint/` modular fingerprint generation (core, hashing, versions, dump)
28
+ - Unsupported framework interception with exit code 2 and guidance to run `diagnose`
29
+ - Global fp version evolution mechanism (`FP_CURRENT_VERSION` + `LEGACY_VERSIONS`)
30
+ - Per-framework version dispatch table (`STABLE_IDENTITY_BY_VERSION`)
31
+ - Canonical JSON hashing scheme for future v1 fingerprints
32
+ - Import-time framework contract validation
33
+
34
+ ### Changed
35
+ - Refactored fingerprint generation from monolithic `fingerprint.py` to `fingerprint/` package
36
+ - Migrated `machine_id.py` to `infra/machine_id.py`
37
+ - Slimmed `workspace.py` to directory resolution only
38
+ - All business commands now call `get_agent_ctx(ctx)` for framework detection and fp generation
39
+ - `status` command now uses `get_agent_ctx` and displays fingerprint
40
+
41
+ ### Removed
42
+ - Support for cursor, claude-code, continue, windsurf, devin, aider frameworks (downgraded to unsupported)
43
+ - `FingerprintGenerator` class (replaced by `compute_fp` function)
44
+ - `WorkspaceDetector.detect_framework()`, `is_docker()`, `detect_cloud_platform()` (moved to `infra/`)
45
+
46
+ [2.0.0]: https://github.com/cybersecured/cybersecured-agent-cli/releases/tag/v2.0.0
47
+ [1.0.0]: https://github.com/cybersecured/cybersecured-agent-cli/releases/tag/v1.0.0
@@ -0,0 +1,51 @@
1
+ # Contributing to Cybersecured Agent CLI
2
+
3
+ Thank you for your interest in contributing to Cybersecured Agent CLI!
4
+
5
+ ## How to Contribute
6
+
7
+ ### Reporting Bugs
8
+
9
+ - Check if the bug has already been reported in [Issues](https://github.com/cybersecured/cybersecured-agent-cli/issues)
10
+ - Include steps to reproduce
11
+ - Include your OS and Python version
12
+ - Include the output of `cybersecured-agent --version`
13
+
14
+ ### Suggesting Features
15
+
16
+ - Open an issue with the `enhancement` label
17
+ - Describe the feature and its use case
18
+
19
+ ### Pull Requests
20
+
21
+ 1. Fork the repository
22
+ 2. Create a feature branch (`git checkout -b feature/amazing-feature`)
23
+ 3. Make your changes
24
+ 4. Run tests (`python -m pytest`)
25
+ 5. Commit your changes (`git commit -m 'Add amazing feature'`)
26
+ 6. Push to the branch (`git push origin feature/amazing-feature`)
27
+ 7. Open a Pull Request
28
+
29
+ ## Development Setup
30
+
31
+ ```bash
32
+ git clone https://github.com/cybersecured/cybersecured-agent-cli.git
33
+ cd cybersecured-agent-cli
34
+ uv pip install -e ".[dev]"
35
+ ```
36
+
37
+ ## Code Style
38
+
39
+ - Follow PEP 8
40
+ - Use Black for formatting (`black src/`)
41
+ - Use type hints where possible
42
+
43
+ ## Testing
44
+
45
+ ```bash
46
+ python -m pytest tests/ -v
47
+ ```
48
+
49
+ ## License
50
+
51
+ By contributing, you agree that your contributions will be licensed under the GPL-3.0-or-later License.