asec 0.1.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.
- asec-0.1.0/.gitignore +277 -0
- asec-0.1.0/LICENSE +31 -0
- asec-0.1.0/Makefile +31 -0
- asec-0.1.0/PKG-INFO +80 -0
- asec-0.1.0/README.md +17 -0
- asec-0.1.0/pyproject.toml +87 -0
- asec-0.1.0/src/asec/__init__.py +1 -0
- asec-0.1.0/src/asec/api_client.py +186 -0
- asec-0.1.0/src/asec/cli.py +38 -0
- asec-0.1.0/src/asec/cli_api_key.py +64 -0
- asec-0.1.0/src/asec/cli_auth.py +220 -0
- asec-0.1.0/src/asec/cli_devsecops/__init__.py +28 -0
- asec-0.1.0/src/asec/cli_devsecops/asset.py +103 -0
- asec-0.1.0/src/asec/cli_devsecops/issue.py +59 -0
- asec-0.1.0/src/asec/cli_devsecops/product.py +89 -0
- asec-0.1.0/src/asec/cli_devsecops/revision.py +113 -0
- asec-0.1.0/src/asec/cli_devsecops/upload.py +73 -0
- asec-0.1.0/src/asec/cli_pentest/__init__.py +32 -0
- asec-0.1.0/src/asec/cli_pentest/run.py +189 -0
- asec-0.1.0/src/asec/cli_pentest/run_profile.py +284 -0
- asec-0.1.0/src/asec/cli_pentest/run_record.py +49 -0
- asec-0.1.0/src/asec/cli_pentest/run_record_decisions.py +40 -0
- asec-0.1.0/src/asec/cli_pentest/run_record_findings.py +83 -0
- asec-0.1.0/src/asec/cli_pentest/run_record_target_analysis.py +58 -0
- asec-0.1.0/src/asec/cli_pentest/run_record_task_board.py +50 -0
- asec-0.1.0/src/asec/cli_pentest/run_report.py +176 -0
- asec-0.1.0/src/asec/cli_pentest/supervisor.py +29 -0
- asec-0.1.0/src/asec/cli_pentest/target.py +103 -0
- asec-0.1.0/src/asec/cli_pentest/vpn.py +56 -0
- asec-0.1.0/src/asec/cli_pentest/web_login.py +111 -0
- asec-0.1.0/src/asec/cli_profile.py +45 -0
- asec-0.1.0/src/asec/cli_scanners.py +27 -0
- asec-0.1.0/src/asec/config.py +175 -0
- asec-0.1.0/src/asec/oidc_auth.py +220 -0
- asec-0.1.0/src/asec/output.py +10 -0
- asec-0.1.0/src/asec/templates/__init__.py +0 -0
- asec-0.1.0/src/asec/templates/callback_error.html +105 -0
- asec-0.1.0/src/asec/templates/callback_success.html +107 -0
- asec-0.1.0/src/asec/templates/svg/icon-check.svg +3 -0
- asec-0.1.0/src/asec/templates/svg/icon-cross.svg +4 -0
- asec-0.1.0/src/asec/templates/svg/icon-info.svg +5 -0
- asec-0.1.0/src/asec/templates/svg/icon-warning.svg +5 -0
- asec-0.1.0/src/asec/templates/svg/logo.svg +20 -0
- asec-0.1.0/tests/__init__.py +0 -0
- asec-0.1.0/tests/cli_devsecops/__init__.py +0 -0
- asec-0.1.0/tests/cli_devsecops/test_asset.py +100 -0
- asec-0.1.0/tests/cli_devsecops/test_product.py +96 -0
- asec-0.1.0/tests/cli_devsecops/test_revision.py +111 -0
- asec-0.1.0/tests/cli_devsecops/test_upload.py +80 -0
- asec-0.1.0/tests/cli_pentest/__init__.py +0 -0
- asec-0.1.0/tests/cli_pentest/test_run.py +407 -0
- asec-0.1.0/tests/cli_pentest/test_run_profile.py +549 -0
- asec-0.1.0/tests/cli_pentest/test_run_record.py +28 -0
- asec-0.1.0/tests/cli_pentest/test_run_record_decisions.py +60 -0
- asec-0.1.0/tests/cli_pentest/test_run_record_findings.py +133 -0
- asec-0.1.0/tests/cli_pentest/test_run_record_target_analysis.py +87 -0
- asec-0.1.0/tests/cli_pentest/test_run_record_task_board.py +65 -0
- asec-0.1.0/tests/cli_pentest/test_run_report.py +236 -0
- asec-0.1.0/tests/cli_pentest/test_supervisor.py +34 -0
- asec-0.1.0/tests/cli_pentest/test_target.py +142 -0
- asec-0.1.0/tests/cli_pentest/test_vpn.py +97 -0
- asec-0.1.0/tests/cli_pentest/test_web_login.py +85 -0
- asec-0.1.0/tests/test_api_client.py +146 -0
- asec-0.1.0/tests/test_api_client_requests.py +277 -0
- asec-0.1.0/tests/test_auth.py +336 -0
- asec-0.1.0/tests/test_cli.py +92 -0
- asec-0.1.0/tests/test_cli_api_key.py +80 -0
- asec-0.1.0/tests/test_cli_upload.py +108 -0
- asec-0.1.0/tests/test_config.py +222 -0
- asec-0.1.0/tests/test_oidc_auth.py +42 -0
- asec-0.1.0/tests/test_oidc_auth_flow.py +142 -0
- asec-0.1.0/tests/test_oidc_login_flow.py +110 -0
- asec-0.1.0/tests/test_output.py +25 -0
- asec-0.1.0/uv.lock +798 -0
asec-0.1.0/.gitignore
ADDED
|
@@ -0,0 +1,277 @@
|
|
|
1
|
+
# Byte-compiled / optimized / DLL files
|
|
2
|
+
__pycache__/
|
|
3
|
+
*.py[cod]
|
|
4
|
+
*$py.class
|
|
5
|
+
|
|
6
|
+
# C extensions
|
|
7
|
+
*.so
|
|
8
|
+
|
|
9
|
+
# Distribution / packaging
|
|
10
|
+
.Python
|
|
11
|
+
build/
|
|
12
|
+
develop-eggs/
|
|
13
|
+
dist/
|
|
14
|
+
downloads/
|
|
15
|
+
eggs/
|
|
16
|
+
.eggs/
|
|
17
|
+
# Python library directories (but not frontend lib)
|
|
18
|
+
lib/
|
|
19
|
+
!platform/web-ui/frontend/lib/
|
|
20
|
+
!platform/web-ui/lib/
|
|
21
|
+
!infra/ops-dashboard/app/lib/
|
|
22
|
+
!infra/ecspresso/lib/
|
|
23
|
+
lib64/
|
|
24
|
+
parts/
|
|
25
|
+
sdist/
|
|
26
|
+
var/
|
|
27
|
+
wheels/
|
|
28
|
+
share/python-wheels/
|
|
29
|
+
*.egg-info/
|
|
30
|
+
.installed.cfg
|
|
31
|
+
*.egg
|
|
32
|
+
MANIFEST
|
|
33
|
+
|
|
34
|
+
# PyInstaller
|
|
35
|
+
# Usually these files are written by a python script from a template
|
|
36
|
+
# before PyInstaller builds the exe, so as to inject date/other infos into it.
|
|
37
|
+
*.manifest
|
|
38
|
+
*.spec
|
|
39
|
+
|
|
40
|
+
# Installer logs
|
|
41
|
+
pip-log.txt
|
|
42
|
+
pip-delete-this-directory.txt
|
|
43
|
+
|
|
44
|
+
# Unit test / coverage reports
|
|
45
|
+
htmlcov/
|
|
46
|
+
.tox/
|
|
47
|
+
.nox/
|
|
48
|
+
.coverage
|
|
49
|
+
.coverage.*
|
|
50
|
+
.cache
|
|
51
|
+
.agenticsec_logs
|
|
52
|
+
nosetests.xml
|
|
53
|
+
coverage.xml
|
|
54
|
+
*.cover
|
|
55
|
+
*.py,cover
|
|
56
|
+
.hypothesis/
|
|
57
|
+
.pytest_cache/
|
|
58
|
+
cover/
|
|
59
|
+
|
|
60
|
+
# Translations
|
|
61
|
+
*.mo
|
|
62
|
+
*.pot
|
|
63
|
+
|
|
64
|
+
# Django stuff:
|
|
65
|
+
local_settings.py
|
|
66
|
+
db.sqlite3
|
|
67
|
+
db.sqlite3-journal
|
|
68
|
+
|
|
69
|
+
# Flask stuff:
|
|
70
|
+
instance/
|
|
71
|
+
.webassets-cache
|
|
72
|
+
|
|
73
|
+
# Scrapy stuff:
|
|
74
|
+
.scrapy
|
|
75
|
+
|
|
76
|
+
# Sphinx documentation
|
|
77
|
+
docs/_build/
|
|
78
|
+
|
|
79
|
+
# PyBuilder
|
|
80
|
+
.pybuilder/
|
|
81
|
+
/target/
|
|
82
|
+
|
|
83
|
+
# Jupyter Notebook
|
|
84
|
+
.ipynb_checkpoints
|
|
85
|
+
|
|
86
|
+
# IPython
|
|
87
|
+
profile_default/
|
|
88
|
+
ipython_config.py
|
|
89
|
+
|
|
90
|
+
# pyenv
|
|
91
|
+
# For a library or package, you might want to ignore these files since the code is
|
|
92
|
+
# intended to run in multiple environments; otherwise, check them in:
|
|
93
|
+
# .python-version
|
|
94
|
+
|
|
95
|
+
# pipenv
|
|
96
|
+
# According to pypa/pipenv#598, it is recommended to include Pipfile.lock in version control.
|
|
97
|
+
# However, in case of collaboration, if having platform-specific dependencies or dependencies
|
|
98
|
+
# having no cross-platform support, pipenv may install dependencies that don't work, or not
|
|
99
|
+
# install all needed dependencies.
|
|
100
|
+
#Pipfile.lock
|
|
101
|
+
|
|
102
|
+
# UV
|
|
103
|
+
# Similar to Pipfile.lock, it is generally recommended to include uv.lock in version control.
|
|
104
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
105
|
+
# commonly ignored for libraries.
|
|
106
|
+
#uv.lock
|
|
107
|
+
|
|
108
|
+
# poetry
|
|
109
|
+
# Similar to Pipfile.lock, it is generally recommended to include poetry.lock in version control.
|
|
110
|
+
# This is especially recommended for binary packages to ensure reproducibility, and is more
|
|
111
|
+
# commonly ignored for libraries.
|
|
112
|
+
# https://python-poetry.org/docs/basic-usage/#commit-your-poetrylock-file-to-version-control
|
|
113
|
+
#poetry.lock
|
|
114
|
+
|
|
115
|
+
# pdm
|
|
116
|
+
# Similar to Pipfile.lock, it is generally recommended to include pdm.lock in version control.
|
|
117
|
+
#pdm.lock
|
|
118
|
+
# pdm stores project-wide configurations in .pdm.toml, but it is recommended to not include it
|
|
119
|
+
# in version control.
|
|
120
|
+
# https://pdm.fming.dev/latest/usage/project/#working-with-version-control
|
|
121
|
+
.pdm.toml
|
|
122
|
+
.pdm-python
|
|
123
|
+
.pdm-build/
|
|
124
|
+
|
|
125
|
+
# PEP 582; used by e.g. github.com/David-OConnor/pyflow and github.com/pdm-project/pdm
|
|
126
|
+
__pypackages__/
|
|
127
|
+
|
|
128
|
+
# Celery stuff
|
|
129
|
+
celerybeat-schedule
|
|
130
|
+
celerybeat.pid
|
|
131
|
+
|
|
132
|
+
# SageMath parsed files
|
|
133
|
+
*.sage.py
|
|
134
|
+
|
|
135
|
+
# Environments
|
|
136
|
+
.env
|
|
137
|
+
.venv
|
|
138
|
+
env/
|
|
139
|
+
!**/src/**/env/
|
|
140
|
+
venv/
|
|
141
|
+
ENV/
|
|
142
|
+
env.bak/
|
|
143
|
+
venv.bak/
|
|
144
|
+
|
|
145
|
+
# Environment files
|
|
146
|
+
.env.*
|
|
147
|
+
!.env.example
|
|
148
|
+
!.env.enc
|
|
149
|
+
|
|
150
|
+
# commit tag
|
|
151
|
+
.commit-tag.env
|
|
152
|
+
|
|
153
|
+
# Spyder project settings
|
|
154
|
+
.spyderproject
|
|
155
|
+
.spyproject
|
|
156
|
+
|
|
157
|
+
# Rope project settings
|
|
158
|
+
.ropeproject
|
|
159
|
+
|
|
160
|
+
# mkdocs documentation
|
|
161
|
+
/site
|
|
162
|
+
docs/developer/site/
|
|
163
|
+
docs/user/site/
|
|
164
|
+
platform/web-ui/public/docs/
|
|
165
|
+
|
|
166
|
+
# mypy
|
|
167
|
+
.mypy_cache/
|
|
168
|
+
.dmypy.json
|
|
169
|
+
dmypy.json
|
|
170
|
+
|
|
171
|
+
# Pyre type checker
|
|
172
|
+
.pyre/
|
|
173
|
+
|
|
174
|
+
# pytype static type analyzer
|
|
175
|
+
.pytype/
|
|
176
|
+
|
|
177
|
+
# Cython debug symbols
|
|
178
|
+
cython_debug/
|
|
179
|
+
|
|
180
|
+
# PyCharm
|
|
181
|
+
# JetBrains specific template is maintained in a separate JetBrains.gitignore that can
|
|
182
|
+
# be found at https://github.com/github/gitignore/blob/main/Global/JetBrains.gitignore
|
|
183
|
+
# and can be added to the global gitignore or merged into this file. For a more nuclear
|
|
184
|
+
# option (not recommended) you can uncomment the following to ignore the entire idea folder.
|
|
185
|
+
#.idea/
|
|
186
|
+
|
|
187
|
+
# Ruff stuff:
|
|
188
|
+
.ruff_cache/
|
|
189
|
+
|
|
190
|
+
# PyPI configuration file
|
|
191
|
+
.pypirc
|
|
192
|
+
|
|
193
|
+
logs/
|
|
194
|
+
!pentest/cloud/agenticsec-run-entrypoint/logs/
|
|
195
|
+
!experiment/results/**/logs/
|
|
196
|
+
pentest/cloud/agenticsec-run-entrypoint/logs/*/inprogress/
|
|
197
|
+
pentest/cloud/agenticsec-run-entrypoint/logs/*/ng/
|
|
198
|
+
pentest/cloud/agenticsec-run-entrypoint/logs/agenticsec-run_*/master.jsonl
|
|
199
|
+
|
|
200
|
+
*.ovpn
|
|
201
|
+
|
|
202
|
+
# Grafana MCP tokens (all environments)
|
|
203
|
+
.grafana-mcp-token*
|
|
204
|
+
|
|
205
|
+
# Vendor directories
|
|
206
|
+
vendor/
|
|
207
|
+
**/vendor/
|
|
208
|
+
|
|
209
|
+
# AWS SAM build artifacts
|
|
210
|
+
.aws-sam/
|
|
211
|
+
**/.aws-sam/
|
|
212
|
+
|
|
213
|
+
# Additional build artifacts
|
|
214
|
+
*.egg-info/
|
|
215
|
+
**/*.egg-info/
|
|
216
|
+
|
|
217
|
+
# AgenticSec results
|
|
218
|
+
*/agenticsec-results/*.json
|
|
219
|
+
|
|
220
|
+
# Hydra restore files
|
|
221
|
+
./runner/hydra.restore
|
|
222
|
+
|
|
223
|
+
# sprout
|
|
224
|
+
.sprout/
|
|
225
|
+
|
|
226
|
+
# tmp
|
|
227
|
+
tmp/
|
|
228
|
+
runner/tmp/
|
|
229
|
+
|
|
230
|
+
# Playwright MCP working directory (auto-generated snapshots & console logs)
|
|
231
|
+
.playwright-mcp/
|
|
232
|
+
|
|
233
|
+
# serena
|
|
234
|
+
.serena/cache/
|
|
235
|
+
|
|
236
|
+
# Generated API documentation
|
|
237
|
+
platform/agenticsec-hub/docs/html/
|
|
238
|
+
|
|
239
|
+
# Generated test artifacts
|
|
240
|
+
pentest/cloud/agenticsec/nmap_scans/
|
|
241
|
+
|
|
242
|
+
# Development configuration files (generated from templates, modified at runtime)
|
|
243
|
+
pentest/edge/agenticsec-supervisor/dev-config/installer_config.json
|
|
244
|
+
pentest/edge/agenticsec-supervisor/dev-config/state.json
|
|
245
|
+
|
|
246
|
+
# Grafana dashboards (auto-generated from Jsonnet templates)
|
|
247
|
+
infra/local/grafana/dashboards/*.json
|
|
248
|
+
infra/cloud/grafana/dashboards/*.json
|
|
249
|
+
|
|
250
|
+
# Fluent Bit configuration (auto-generated from YAML template)
|
|
251
|
+
infra/local/fluent-bit/fluent-bit.conf
|
|
252
|
+
|
|
253
|
+
# Metabase dashboards/cards (exported from prd, not git-managed)
|
|
254
|
+
infra/local/metabase/dashboards/*.json
|
|
255
|
+
infra/local/metabase/cards/*.json
|
|
256
|
+
# Metasploit knowledge intermediate files
|
|
257
|
+
knowledges/metasploit/intermediate/
|
|
258
|
+
|
|
259
|
+
# Generated documentation
|
|
260
|
+
docs/developer/development/dependency-graph.html
|
|
261
|
+
|
|
262
|
+
# dbt build outputs
|
|
263
|
+
infra/data-pipeline/target/
|
|
264
|
+
infra/data-pipeline/dbt_packages/
|
|
265
|
+
infra/data-pipeline/logs/
|
|
266
|
+
|
|
267
|
+
# Semgrep scan results
|
|
268
|
+
semgrep-results.sarif
|
|
269
|
+
|
|
270
|
+
# Claude Code local settings (personal permission history)
|
|
271
|
+
.claude/settings.local.json
|
|
272
|
+
|
|
273
|
+
# Claude Code worktrees
|
|
274
|
+
.claude/worktrees/
|
|
275
|
+
|
|
276
|
+
# Miscellaneous
|
|
277
|
+
.DS_Store
|
asec-0.1.0/LICENSE
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
AgenticSec CLI (asec) — Proprietary Software License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 AgenticSec, Inc. All rights reserved.
|
|
4
|
+
|
|
5
|
+
This software, including its source code, binaries, and accompanying
|
|
6
|
+
documentation (collectively, the "Software"), is proprietary and confidential
|
|
7
|
+
to AgenticSec, Inc. ("AgenticSec"). It is not open-source software.
|
|
8
|
+
|
|
9
|
+
Use of the Software requires a valid AgenticSec account and an active
|
|
10
|
+
subscription or other written agreement with AgenticSec. Subject to such an
|
|
11
|
+
agreement, AgenticSec grants you a limited, non-exclusive, non-transferable,
|
|
12
|
+
revocable license to install and use the Software solely to access AgenticSec
|
|
13
|
+
services for your own internal business purposes.
|
|
14
|
+
|
|
15
|
+
Except as expressly permitted above or by applicable mandatory law, you may not:
|
|
16
|
+
|
|
17
|
+
- copy, reproduce, or distribute the Software;
|
|
18
|
+
- modify, adapt, translate, or create derivative works of the Software;
|
|
19
|
+
- reverse engineer, decompile, or disassemble the Software;
|
|
20
|
+
- sublicense, sell, rent, lease, or otherwise make the Software available to
|
|
21
|
+
any third party; or
|
|
22
|
+
- remove or alter any proprietary notices contained in the Software.
|
|
23
|
+
|
|
24
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
25
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
26
|
+
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
27
|
+
AGENTICSEC BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN
|
|
28
|
+
ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION
|
|
29
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
30
|
+
|
|
31
|
+
For licensing inquiries, contact: dev@agenticsec.tech
|
asec-0.1.0/Makefile
ADDED
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
.PHONY: help test format lint clean
|
|
2
|
+
|
|
3
|
+
# 現在のパッケージパスを取得
|
|
4
|
+
CURRENT_PACKAGE := cli/asec
|
|
5
|
+
ROOT_DIR := ../..
|
|
6
|
+
|
|
7
|
+
# デフォルトターゲット
|
|
8
|
+
help:
|
|
9
|
+
@echo "Usage: make [target]"
|
|
10
|
+
@echo ""
|
|
11
|
+
@echo "Targets:"
|
|
12
|
+
@echo " test Run all tests with coverage"
|
|
13
|
+
@echo " format Format code with ruff"
|
|
14
|
+
@echo " lint Run linting checks with ruff"
|
|
15
|
+
@echo " clean Clean cache and temporary files"
|
|
16
|
+
|
|
17
|
+
# テスト実行
|
|
18
|
+
test:
|
|
19
|
+
@$(MAKE) -C $(ROOT_DIR) _test_single PKG=$(CURRENT_PACKAGE)
|
|
20
|
+
|
|
21
|
+
# コードフォーマット
|
|
22
|
+
format:
|
|
23
|
+
@$(MAKE) -C $(ROOT_DIR) _format_single PKG=$(CURRENT_PACKAGE)
|
|
24
|
+
|
|
25
|
+
# リント実行
|
|
26
|
+
lint:
|
|
27
|
+
@$(MAKE) -C $(ROOT_DIR) _lint_single PKG=$(CURRENT_PACKAGE)
|
|
28
|
+
|
|
29
|
+
# クリーンアップ
|
|
30
|
+
clean:
|
|
31
|
+
@$(MAKE) -C $(ROOT_DIR) _clean_single PKG=$(CURRENT_PACKAGE)
|
asec-0.1.0/PKG-INFO
ADDED
|
@@ -0,0 +1,80 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: asec
|
|
3
|
+
Version: 0.1.0
|
|
4
|
+
Summary: AgenticSec CLI
|
|
5
|
+
Project-URL: Homepage, https://app.agenticsec.tech
|
|
6
|
+
Project-URL: Documentation, https://app.agenticsec.tech/docs/
|
|
7
|
+
Author-email: "AgenticSec, Inc." <dev@agenticsec.tech>
|
|
8
|
+
Maintainer-email: "AgenticSec, Inc." <dev@agenticsec.tech>
|
|
9
|
+
License: AgenticSec CLI (asec) — Proprietary Software License
|
|
10
|
+
|
|
11
|
+
Copyright (c) 2026 AgenticSec, Inc. All rights reserved.
|
|
12
|
+
|
|
13
|
+
This software, including its source code, binaries, and accompanying
|
|
14
|
+
documentation (collectively, the "Software"), is proprietary and confidential
|
|
15
|
+
to AgenticSec, Inc. ("AgenticSec"). It is not open-source software.
|
|
16
|
+
|
|
17
|
+
Use of the Software requires a valid AgenticSec account and an active
|
|
18
|
+
subscription or other written agreement with AgenticSec. Subject to such an
|
|
19
|
+
agreement, AgenticSec grants you a limited, non-exclusive, non-transferable,
|
|
20
|
+
revocable license to install and use the Software solely to access AgenticSec
|
|
21
|
+
services for your own internal business purposes.
|
|
22
|
+
|
|
23
|
+
Except as expressly permitted above or by applicable mandatory law, you may not:
|
|
24
|
+
|
|
25
|
+
- copy, reproduce, or distribute the Software;
|
|
26
|
+
- modify, adapt, translate, or create derivative works of the Software;
|
|
27
|
+
- reverse engineer, decompile, or disassemble the Software;
|
|
28
|
+
- sublicense, sell, rent, lease, or otherwise make the Software available to
|
|
29
|
+
any third party; or
|
|
30
|
+
- remove or alter any proprietary notices contained in the Software.
|
|
31
|
+
|
|
32
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
33
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
34
|
+
FITNESS FOR A PARTICULAR PURPOSE, AND NONINFRINGEMENT. IN NO EVENT SHALL
|
|
35
|
+
AGENTICSEC BE LIABLE FOR ANY CLAIM, DAMAGES, OR OTHER LIABILITY, WHETHER IN AN
|
|
36
|
+
ACTION OF CONTRACT, TORT, OR OTHERWISE, ARISING FROM, OUT OF, OR IN CONNECTION
|
|
37
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|
38
|
+
|
|
39
|
+
For licensing inquiries, contact: dev@agenticsec.tech
|
|
40
|
+
License-File: LICENSE
|
|
41
|
+
Keywords: agentic,agenticsec,cli,devsecops,penetration-testing,security
|
|
42
|
+
Classifier: Development Status :: 4 - Beta
|
|
43
|
+
Classifier: Environment :: Console
|
|
44
|
+
Classifier: Intended Audience :: Developers
|
|
45
|
+
Classifier: Intended Audience :: Information Technology
|
|
46
|
+
Classifier: License :: Other/Proprietary License
|
|
47
|
+
Classifier: Operating System :: OS Independent
|
|
48
|
+
Classifier: Programming Language :: Python :: 3
|
|
49
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
50
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
51
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
52
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
53
|
+
Classifier: Topic :: Security
|
|
54
|
+
Classifier: Topic :: Software Development :: Quality Assurance
|
|
55
|
+
Requires-Python: >=3.11
|
|
56
|
+
Requires-Dist: click>=8.1.0
|
|
57
|
+
Requires-Dist: cryptography>=45.0.0
|
|
58
|
+
Requires-Dist: httpx>=0.28.0
|
|
59
|
+
Requires-Dist: playwright>=1.49.0
|
|
60
|
+
Requires-Dist: pyjwt>=2.10.0
|
|
61
|
+
Requires-Dist: tomli-w>=1.0.0
|
|
62
|
+
Description-Content-Type: text/markdown
|
|
63
|
+
|
|
64
|
+
# asec — the AgenticSec CLI
|
|
65
|
+
|
|
66
|
+
`asec` is the command-line interface for [AgenticSec](https://app.agenticsec.tech),
|
|
67
|
+
an AI-driven security platform for agentic penetration testing and DevSecOps
|
|
68
|
+
scanning.
|
|
69
|
+
|
|
70
|
+
**Proprietary software.** `asec` is commercial software and is **not**
|
|
71
|
+
open-source. Using it requires a valid AgenticSec account.
|
|
72
|
+
|
|
73
|
+
For access and installation instructions, please contact
|
|
74
|
+
**sales@agenticsec.tech**.
|
|
75
|
+
|
|
76
|
+
- Homepage: [app.agenticsec.tech](https://app.agenticsec.tech)
|
|
77
|
+
|
|
78
|
+
## License
|
|
79
|
+
|
|
80
|
+
Proprietary. Copyright (c) 2026 AgenticSec, Inc. All rights reserved.
|
asec-0.1.0/README.md
ADDED
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
# asec — the AgenticSec CLI
|
|
2
|
+
|
|
3
|
+
`asec` is the command-line interface for [AgenticSec](https://app.agenticsec.tech),
|
|
4
|
+
an AI-driven security platform for agentic penetration testing and DevSecOps
|
|
5
|
+
scanning.
|
|
6
|
+
|
|
7
|
+
**Proprietary software.** `asec` is commercial software and is **not**
|
|
8
|
+
open-source. Using it requires a valid AgenticSec account.
|
|
9
|
+
|
|
10
|
+
For access and installation instructions, please contact
|
|
11
|
+
**sales@agenticsec.tech**.
|
|
12
|
+
|
|
13
|
+
- Homepage: [app.agenticsec.tech](https://app.agenticsec.tech)
|
|
14
|
+
|
|
15
|
+
## License
|
|
16
|
+
|
|
17
|
+
Proprietary. Copyright (c) 2026 AgenticSec, Inc. All rights reserved.
|
|
@@ -0,0 +1,87 @@
|
|
|
1
|
+
[project]
|
|
2
|
+
name = "asec"
|
|
3
|
+
version = "0.1.0"
|
|
4
|
+
description = "AgenticSec CLI"
|
|
5
|
+
readme = "README.md"
|
|
6
|
+
requires-python = ">=3.11"
|
|
7
|
+
license = { file = "LICENSE" }
|
|
8
|
+
authors = [
|
|
9
|
+
{ name = "AgenticSec, Inc.", email = "dev@agenticsec.tech" },
|
|
10
|
+
]
|
|
11
|
+
maintainers = [
|
|
12
|
+
{ name = "AgenticSec, Inc.", email = "dev@agenticsec.tech" },
|
|
13
|
+
]
|
|
14
|
+
keywords = ["security", "penetration-testing", "devsecops", "agentic", "cli", "agenticsec"]
|
|
15
|
+
classifiers = [
|
|
16
|
+
"Development Status :: 4 - Beta",
|
|
17
|
+
"Environment :: Console",
|
|
18
|
+
"Intended Audience :: Developers",
|
|
19
|
+
"Intended Audience :: Information Technology",
|
|
20
|
+
"License :: Other/Proprietary License",
|
|
21
|
+
"Operating System :: OS Independent",
|
|
22
|
+
"Programming Language :: Python :: 3",
|
|
23
|
+
"Programming Language :: Python :: 3.11",
|
|
24
|
+
"Programming Language :: Python :: 3.12",
|
|
25
|
+
"Programming Language :: Python :: 3.13",
|
|
26
|
+
"Programming Language :: Python :: 3.14",
|
|
27
|
+
"Topic :: Security",
|
|
28
|
+
"Topic :: Software Development :: Quality Assurance",
|
|
29
|
+
]
|
|
30
|
+
dependencies = [
|
|
31
|
+
"click>=8.1.0",
|
|
32
|
+
"httpx>=0.28.0",
|
|
33
|
+
"PyJWT>=2.10.0",
|
|
34
|
+
"cryptography>=45.0.0",
|
|
35
|
+
"tomli_w>=1.0.0",
|
|
36
|
+
# Drives a real browser for `asec pentest web-login` (interactive auth capture).
|
|
37
|
+
# After install, run `playwright install chromium` once to fetch the browser.
|
|
38
|
+
"playwright>=1.49.0",
|
|
39
|
+
]
|
|
40
|
+
|
|
41
|
+
[project.urls]
|
|
42
|
+
Homepage = "https://app.agenticsec.tech"
|
|
43
|
+
Documentation = "https://app.agenticsec.tech/docs/"
|
|
44
|
+
|
|
45
|
+
[project.scripts]
|
|
46
|
+
asec = "asec.cli:main"
|
|
47
|
+
|
|
48
|
+
[dependency-groups]
|
|
49
|
+
dev = [
|
|
50
|
+
"pytest>=8.4.2",
|
|
51
|
+
"pytest-asyncio>=1.2.0",
|
|
52
|
+
"pytest-cov>=7.0.0",
|
|
53
|
+
"mypy>=1.18.2",
|
|
54
|
+
"ruff>=0.13.1",
|
|
55
|
+
]
|
|
56
|
+
|
|
57
|
+
[build-system]
|
|
58
|
+
requires = ["hatchling"]
|
|
59
|
+
build-backend = "hatchling.build"
|
|
60
|
+
|
|
61
|
+
[tool.pytest.ini_options]
|
|
62
|
+
asyncio_mode = "auto"
|
|
63
|
+
testpaths = ["tests"]
|
|
64
|
+
python_files = ["test_*.py"]
|
|
65
|
+
python_functions = ["test_*"]
|
|
66
|
+
|
|
67
|
+
[tool.coverage.run]
|
|
68
|
+
omit = []
|
|
69
|
+
|
|
70
|
+
[tool.coverage.report]
|
|
71
|
+
exclude_lines = [
|
|
72
|
+
"pragma: no cover",
|
|
73
|
+
"if __name__ == .__main__.:",
|
|
74
|
+
"pass",
|
|
75
|
+
]
|
|
76
|
+
fail_under = 90
|
|
77
|
+
|
|
78
|
+
[tool.ruff]
|
|
79
|
+
line-length = 120
|
|
80
|
+
target-version = "py311"
|
|
81
|
+
|
|
82
|
+
[tool.ruff.lint]
|
|
83
|
+
select = ["E", "F", "I", "N", "W", "UP", "B", "SIM", "C90"]
|
|
84
|
+
ignore = ["E501", "SIM117"]
|
|
85
|
+
|
|
86
|
+
[tool.hatch.build.targets.wheel]
|
|
87
|
+
packages = ["src/asec"]
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
"""asec - AgenticSec DevSecOps CLI."""
|