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.
- cybersecured_agent_cli-2.0.0/.gitignore +35 -0
- cybersecured_agent_cli-2.0.0/CHANGELOG.md +47 -0
- cybersecured_agent_cli-2.0.0/CONTRIBUTING.md +51 -0
- cybersecured_agent_cli-2.0.0/LICENSE +674 -0
- cybersecured_agent_cli-2.0.0/PKG-INFO +76 -0
- cybersecured_agent_cli-2.0.0/README.md +35 -0
- cybersecured_agent_cli-2.0.0/docs/agent-identity-design.md +272 -0
- cybersecured_agent_cli-2.0.0/docs/command-reference.md +350 -0
- cybersecured_agent_cli-2.0.0/docs/developer-guide.md +201 -0
- cybersecured_agent_cli-2.0.0/docs/diagnose-command.md +108 -0
- cybersecured_agent_cli-2.0.0/docs/workspace-detection.md +73 -0
- cybersecured_agent_cli-2.0.0/pyproject.toml +86 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/__init__.py +12 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/__main__.py +6 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/__init__.py +23 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/_types.py +17 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/hermes.py +108 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/kimi_cli.py +108 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/openclaw.py +117 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/agent_frameworks/opencode.py +111 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/api_client.py +251 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/cli.py +73 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/__init__.py +25 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/advisory.py +52 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/agent.py +395 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/application.py +100 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/assessment.py +82 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/auth.py +78 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/config.py +50 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/coverage.py +46 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/diagnose.py +24 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/incident.py +234 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/scan.py +164 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/commands/status.py +33 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/config.py +114 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/constants.py +98 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/exceptions.py +25 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/__init__.py +20 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/core.py +126 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/dump.py +139 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/hashing.py +55 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/fingerprint/versions.py +9 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/__init__.py +4 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/cloud_detect.py +111 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/config_files.py +73 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/desensitize.py +163 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/machine_id.py +173 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/infra/process_chain.py +165 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/machine_id.py +13 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/output.py +91 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/risk_factors.py +43 -0
- cybersecured_agent_cli-2.0.0/src/cybersecured_agent/workspace.py +31 -0
- cybersecured_agent_cli-2.0.0/tests/test_agent_frameworks.py +100 -0
- cybersecured_agent_cli-2.0.0/tests/test_api_client.py +310 -0
- cybersecured_agent_cli-2.0.0/tests/test_config.py +110 -0
- cybersecured_agent_cli-2.0.0/tests/test_desensitize.py +74 -0
- cybersecured_agent_cli-2.0.0/tests/test_diagnose.py +67 -0
- cybersecured_agent_cli-2.0.0/tests/test_fingerprint.py +160 -0
- cybersecured_agent_cli-2.0.0/tests/test_machine_id.py +114 -0
- cybersecured_agent_cli-2.0.0/tests/test_output.py +87 -0
- cybersecured_agent_cli-2.0.0/tests/test_process_chain.py +31 -0
- cybersecured_agent_cli-2.0.0/tests/test_risk_factors.py +95 -0
- 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.
|