aisoc-cli 0.1.0__py3-none-any.whl

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.
@@ -0,0 +1,90 @@
1
+ Metadata-Version: 2.5
2
+ Name: aisoc-cli
3
+ Version: 0.1.0
4
+ Summary: AiSOC Developer CLI — scaffold, validate, and publish plugins and detections
5
+ Project-URL: Homepage, https://github.com/beenuar/AiSOC
6
+ Project-URL: Documentation, https://github.com/beenuar/AiSOC#readme
7
+ Project-URL: Repository, https://github.com/beenuar/AiSOC
8
+ Author-email: Beenu Arora <beenu@cyble.com>
9
+ License: MIT
10
+ Keywords: aisoc,cli,plugin,security,soc
11
+ Classifier: Development Status :: 3 - Alpha
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: OSI Approved :: MIT License
14
+ Classifier: Programming Language :: Python :: 3
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Security
18
+ Requires-Python: >=3.11
19
+ Requires-Dist: click>=8.1
20
+ Requires-Dist: cryptography<51,>=46
21
+ Requires-Dist: httpx>=0.27
22
+ Requires-Dist: jsonschema>=4.21
23
+ Requires-Dist: pyyaml>=6.0
24
+ Requires-Dist: rich>=13.7
25
+ Requires-Dist: structlog>=24.1
26
+ Provides-Extra: dev
27
+ Requires-Dist: mypy<3,>=2.3.1; extra == 'dev'
28
+ Requires-Dist: pytest-asyncio>=0.23; extra == 'dev'
29
+ Requires-Dist: pytest>=8.0; extra == 'dev'
30
+ Requires-Dist: ruff<0.17,>=0.16.8; extra == 'dev'
31
+ Description-Content-Type: text/markdown
32
+
33
+ # aisoc-cli
34
+
35
+ Developer CLI for building, validating, and publishing AiSOC plugins and detection rules.
36
+
37
+ > **Status — monorepo today, not yet on PyPI.** The CLI ships from this monorepo and is fully functional today. `pip install aisoc-cli` does not resolve: the upload is blocked on registry credentials, which is an account action rather than a code change. The CLI name (`aisoc`) and command surface stay identical once it ships.
38
+
39
+ ## Installation
40
+
41
+ ```bash
42
+ # Today (from this monorepo):
43
+ git clone https://github.com/beenuar/AiSOC.git
44
+ cd AiSOC && pip install -e packages/aisoc-cli
45
+
46
+ # Not yet on PyPI — the upload is blocked on registry credentials,
47
+ # which is an account action rather than a code change. Until then, install
48
+ # from source with the command above.
49
+ # pipx install aisoc-cli # recommended (isolated venv)
50
+ # pip install aisoc-cli
51
+ ```
52
+
53
+ ## Commands
54
+
55
+ ### Plugin Scaffold
56
+ ```bash
57
+ aisoc plugin scaffold my-enricher
58
+ aisoc plugin scaffold my-connector --type connector
59
+ ```
60
+
61
+ ### Plugin Validate
62
+ ```bash
63
+ aisoc plugin validate ./my-enricher
64
+ aisoc plugin validate ./my-enricher/plugin.yaml
65
+ ```
66
+
67
+ ### Plugin Publish
68
+ ```bash
69
+ export AISOC_API_URL=https://api.example.com
70
+ export AISOC_API_KEY=sk-...
71
+ aisoc plugin publish ./my-enricher
72
+ ```
73
+
74
+ ### Detection Validate
75
+ ```bash
76
+ aisoc detection validate ./detections/brute-force.yaml
77
+ ```
78
+
79
+ ### Key Generation
80
+ ```bash
81
+ aisoc keygen # generates ~/.aisoc/signing.key + signing.pub
82
+ ```
83
+
84
+ ## Environment Variables
85
+
86
+ | Variable | Description |
87
+ |---|---|
88
+ | `AISOC_API_URL` | AiSOC API base URL (default: `http://localhost:8000`) |
89
+ | `AISOC_API_KEY` | API key for authentication |
90
+ | `AISOC_SIGNING_KEY` | Path to Ed25519 private key (default: `~/.aisoc/signing.key`) |
@@ -0,0 +1,21 @@
1
+ aisoc_cli/__init__.py,sha256=qjv7YQRjubtX-j5gVcBnKWV8sVLh5BxUqEKG63IsuVQ,89
2
+ aisoc_cli/main.py,sha256=cdxMoG-wnPaCeSrgU3akTL5VyUpp4zNcCeqH6RKDwQM,49808
3
+ aisoc_cli/templates/connector/README.md.tmpl,sha256=7LUUuNMLnqsWEOSarcom4fztoMdi3XApaiJBg8bLt8I,939
4
+ aisoc_cli/templates/connector/connector.py.tmpl,sha256=pM0IGrY2CK_kp0NrFQwsLaTwEBRtXxbHy3aFNg2hyB4,4209
5
+ aisoc_cli/templates/connector/plugin.yaml.tmpl,sha256=u51V8560xdG17scHOJDX7V9XVmTowYOjTm10fbd-2z4,1160
6
+ aisoc_cli/templates/detection/README.md.tmpl,sha256=vT29-ql7flzUvvXU3AkoA6mnhWgfqy82cafW0EcgEAQ,582
7
+ aisoc_cli/templates/detection/plugin.yaml.tmpl,sha256=8Pd4yUL8oEG4fIUwIVOGB0DfOZcuJqArFei8U-VFnKc,387
8
+ aisoc_cli/templates/detection/rules/example.yaml.tmpl,sha256=ZmTkUYwdnKnQUqGDqx3RsNXG-p47rNHugM7iwRJcPu0,849
9
+ aisoc_cli/templates/enricher/README.md.tmpl,sha256=sVfecWecqpmO6JZc7l9Dun58K231H87Lvxz0ofN8dHY,603
10
+ aisoc_cli/templates/enricher/plugin.py.tmpl,sha256=Rn0CkodMsFPjHNGkzJIA8KVHub8-Q-SEnZy_vfO4M8U,1332
11
+ aisoc_cli/templates/enricher/plugin.yaml.tmpl,sha256=ijl96ekuh8nRCgtOg8K6jjLZqy49nlMH7dYW5SbznV0,765
12
+ aisoc_cli/templates/responder/README.md.tmpl,sha256=SOhkJjNWKytCIkkJxjaE9L9N4x-BCgDwirmilBMgByk,550
13
+ aisoc_cli/templates/responder/plugin.py.tmpl,sha256=cBsD8VTsIv7WEnUkwyhUwB0PoxbY2Bg8MmRoMOzWV58,2281
14
+ aisoc_cli/templates/responder/plugin.yaml.tmpl,sha256=qIuvjLV2qJItvCw-4bNWz7cWc1gKDcNLdltzgzUUjhA,803
15
+ aisoc_cli/templates/widget/README.md.tmpl,sha256=XYCc2IwVXY-tM8mARMJfFFK6AKOruivr0DhBvbCDrUE,1027
16
+ aisoc_cli/templates/widget/plugin.yaml.tmpl,sha256=BdfoGMpP57lqwnY3QTkYx-ZWHhgtYWP1yepBA1xDxb0,749
17
+ aisoc_cli/templates/widget/widget.py.tmpl,sha256=5XuDKMbVR7V5pRlCPLBbJwhCLcl_0jrGhHBrztg5E2s,1706
18
+ aisoc_cli-0.1.0.dist-info/METADATA,sha256=1YZWMeRRvLoMIwlXoAImWrDz5MX5OoXBwef9HtqRpmA,2940
19
+ aisoc_cli-0.1.0.dist-info/WHEEL,sha256=W3fkpkm7-wf9vBI5Z-7s0eWkeM-spu78I8Neb98DeEg,87
20
+ aisoc_cli-0.1.0.dist-info/entry_points.txt,sha256=gGKdusA819JZ7xtrqd1fl-mlessEbg_ynx01i0hGDUo,45
21
+ aisoc_cli-0.1.0.dist-info/RECORD,,
@@ -0,0 +1,4 @@
1
+ Wheel-Version: 1.0
2
+ Generator: hatchling 1.32.4
3
+ Root-Is-Purelib: true
4
+ Tag: py3-none-any
@@ -0,0 +1,2 @@
1
+ [console_scripts]
2
+ aisoc = aisoc_cli.main:cli