argus-scan 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.
@@ -0,0 +1,44 @@
1
+ # Python
2
+ __pycache__/
3
+ *.py[cod]
4
+ *$py.class
5
+ *.so
6
+ .Python
7
+ build/
8
+ dist/
9
+ *.egg-info/
10
+ .eggs/
11
+ .venv/
12
+ venv/
13
+ env/
14
+ .pytest_cache/
15
+ .mypy_cache/
16
+ .ruff_cache/
17
+ htmlcov/
18
+ .coverage
19
+ *.cover
20
+
21
+ # Node.js / npm
22
+ node_modules/
23
+ dist/
24
+ *.js.map
25
+ *.d.ts
26
+ *.d.ts.map
27
+
28
+ # VS Code
29
+ .vscode/
30
+ *.vsix
31
+
32
+ # OS
33
+ .DS_Store
34
+ Thumbs.db
35
+
36
+ # Environment
37
+ .env
38
+ .env.local
39
+ *.env
40
+
41
+ # Temporary scan output
42
+ *.sarif
43
+ zap-report.json
44
+ trivy-report.json
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 codetesting-mcp contributors
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,189 @@
1
+ Metadata-Version: 2.4
2
+ Name: argus-scan
3
+ Version: 0.1.0
4
+ Summary: Argus — open-source security scanner with many eyes. SAST, DAST, SCA, Secrets, IaC, Terraform, Ansible via CLI and MCP.
5
+ Project-URL: Homepage, https://github.com/your-org/argus-mcp
6
+ Project-URL: Repository, https://github.com/your-org/argus-mcp
7
+ Project-URL: Issues, https://github.com/your-org/argus-mcp/issues
8
+ Project-URL: Documentation, https://github.com/your-org/argus-mcp/blob/main/README.md
9
+ License: MIT License
10
+
11
+ Copyright (c) 2026 codetesting-mcp contributors
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ of this software and associated documentation files (the "Software"), to deal
15
+ in the Software without restriction, including without limitation the rights
16
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
+ copies of the Software, and to permit persons to whom the Software is
18
+ furnished to do so, subject to the following conditions:
19
+
20
+ The above copyright notice and this permission notice shall be included in all
21
+ copies or substantial portions of the Software.
22
+
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
29
+ SOFTWARE.
30
+ License-File: LICENSE
31
+ Keywords: ai,ansible-lint,argus,bandit,code-scanning,dast,devsecops,gitleaks,mcp,owasp-zap,sast,sca,security,semgrep,tfsec,trivy,vulnerability
32
+ Classifier: Development Status :: 4 - Beta
33
+ Classifier: Intended Audience :: Developers
34
+ Classifier: License :: OSI Approved :: MIT License
35
+ Classifier: Programming Language :: Python :: 3
36
+ Classifier: Programming Language :: Python :: 3.10
37
+ Classifier: Programming Language :: Python :: 3.11
38
+ Classifier: Programming Language :: Python :: 3.12
39
+ Classifier: Topic :: Security
40
+ Classifier: Topic :: Software Development :: Testing
41
+ Requires-Python: >=3.10
42
+ Requires-Dist: anyio>=4.0.0
43
+ Requires-Dist: mcp>=1.0.0
44
+ Provides-Extra: all-tools
45
+ Requires-Dist: ansible-lint>=6.0.0; extra == 'all-tools'
46
+ Requires-Dist: bandit>=1.7.0; extra == 'all-tools'
47
+ Requires-Dist: checkov>=3.0.0; extra == 'all-tools'
48
+ Requires-Dist: detect-secrets>=1.4.0; extra == 'all-tools'
49
+ Requires-Dist: flake8-bandit>=4.0.0; extra == 'all-tools'
50
+ Requires-Dist: flake8>=6.0.0; extra == 'all-tools'
51
+ Requires-Dist: pip-audit>=2.0.0; extra == 'all-tools'
52
+ Requires-Dist: safety>=3.0.0; extra == 'all-tools'
53
+ Requires-Dist: semgrep>=1.0.0; extra == 'all-tools'
54
+ Provides-Extra: dev
55
+ Requires-Dist: mypy>=1.0.0; extra == 'dev'
56
+ Requires-Dist: pytest-asyncio>=0.23.0; extra == 'dev'
57
+ Requires-Dist: pytest-cov>=4.0.0; extra == 'dev'
58
+ Requires-Dist: pytest>=7.0.0; extra == 'dev'
59
+ Requires-Dist: ruff>=0.1.0; extra == 'dev'
60
+ Description-Content-Type: text/markdown
61
+
62
+ # argus-mcp (Python)
63
+
64
+ An **MCP server** that gives AI assistants (Claude, Cursor, etc.) the ability to run comprehensive security scans on your codebase.
65
+
66
+ ## What It Does
67
+
68
+ Exposes the following **MCP tools** for use by any MCP-compatible AI client:
69
+
70
+ | Tool | Description | Scanners |
71
+ |------|-------------|----------|
72
+ | `scan_sast` | Static code analysis | Semgrep, Bandit, ESLint-security |
73
+ | `scan_dast` | Dynamic web app scanning | OWASP ZAP, Nikto |
74
+ | `scan_sca` | Dependency vulnerability scanning | Trivy, Safety, pip-audit, npm audit |
75
+ | `scan_secrets` | Leaked secrets & credentials | Gitleaks, detect-secrets, TruffleHog |
76
+ | `scan_iac` | IaC misconfiguration scanning | Checkov, Trivy config, Terrascan |
77
+ | `scan_container` | Container image scanning | Trivy |
78
+ | `scan_all` | Full scan (all of the above) | All tools |
79
+ | `check_tools` | Check tool availability | — |
80
+
81
+ ## Installation
82
+
83
+ ```bash
84
+ pip install argus-scan
85
+ ```
86
+
87
+ Install with all Python-native security tools:
88
+
89
+ ```bash
90
+ pip install "argus-scan[all-tools]"
91
+ ```
92
+
93
+ ## Usage
94
+
95
+ ### Run the MCP Server
96
+
97
+ ```bash
98
+ argus-mcp
99
+ ```
100
+
101
+ The server communicates via **stdio** (standard MCP transport).
102
+
103
+ ### Configure in Cursor / Claude Desktop
104
+
105
+ Add to your MCP configuration (`~/.cursor/mcp.json` or `claude_desktop_config.json`):
106
+
107
+ ```json
108
+ {
109
+ "mcpServers": {
110
+ "argus": {
111
+ "command": "argus-scan"
112
+ }
113
+ }
114
+ }
115
+ ```
116
+
117
+ Or with `uvx` (no installation required):
118
+
119
+ ```json
120
+ {
121
+ "mcpServers": {
122
+ "argus": {
123
+ "command": "uvx",
124
+ "args": ["argus-scan"]
125
+ }
126
+ }
127
+ }
128
+ ```
129
+
130
+ ## External Tool Dependencies
131
+
132
+ The MCP server wraps these external tools. Install the ones you need:
133
+
134
+ ### SAST
135
+ ```bash
136
+ pip install semgrep bandit flake8 flake8-bandit # Python SAST
137
+ npm install -g eslint eslint-plugin-security # JS/TS SAST
138
+ ```
139
+
140
+ ### DAST
141
+ ```bash
142
+ docker pull ghcr.io/zaproxy/zaproxy:stable # OWASP ZAP (recommended)
143
+ brew install nikto # Nikto
144
+ ```
145
+
146
+ ### SCA
147
+ ```bash
148
+ # Trivy (cross-platform)
149
+ brew install trivy
150
+ # OR
151
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh
152
+
153
+ pip install safety pip-audit # Python SCA
154
+ ```
155
+
156
+ ### Secret Scanning
157
+ ```bash
158
+ brew install gitleaks trufflehog # macOS
159
+ pip install detect-secrets # cross-platform
160
+ ```
161
+
162
+ ### IaC
163
+ ```bash
164
+ pip install checkov # Checkov
165
+ brew install terrascan # Terrascan
166
+ ```
167
+
168
+ ## Example: Ask Claude to Scan Your Code
169
+
170
+ Once configured, you can ask:
171
+
172
+ - *"Scan `/path/to/myproject` for security vulnerabilities"*
173
+ - *"Check my Python code for OWASP Top 10 issues using Semgrep"*
174
+ - *"Are there any hardcoded secrets in this repository?"*
175
+ - *"Scan my Kubernetes manifests for misconfigurations"*
176
+ - *"Run a full security audit of my codebase"*
177
+
178
+ ## Development
179
+
180
+ ```bash
181
+ git clone https://github.com/your-org/argus-mcp
182
+ cd argus-mcp/packages/python
183
+ pip install -e ".[dev]"
184
+ pytest
185
+ ```
186
+
187
+ ## License
188
+
189
+ MIT
@@ -0,0 +1,128 @@
1
+ # argus-mcp (Python)
2
+
3
+ An **MCP server** that gives AI assistants (Claude, Cursor, etc.) the ability to run comprehensive security scans on your codebase.
4
+
5
+ ## What It Does
6
+
7
+ Exposes the following **MCP tools** for use by any MCP-compatible AI client:
8
+
9
+ | Tool | Description | Scanners |
10
+ |------|-------------|----------|
11
+ | `scan_sast` | Static code analysis | Semgrep, Bandit, ESLint-security |
12
+ | `scan_dast` | Dynamic web app scanning | OWASP ZAP, Nikto |
13
+ | `scan_sca` | Dependency vulnerability scanning | Trivy, Safety, pip-audit, npm audit |
14
+ | `scan_secrets` | Leaked secrets & credentials | Gitleaks, detect-secrets, TruffleHog |
15
+ | `scan_iac` | IaC misconfiguration scanning | Checkov, Trivy config, Terrascan |
16
+ | `scan_container` | Container image scanning | Trivy |
17
+ | `scan_all` | Full scan (all of the above) | All tools |
18
+ | `check_tools` | Check tool availability | — |
19
+
20
+ ## Installation
21
+
22
+ ```bash
23
+ pip install argus-scan
24
+ ```
25
+
26
+ Install with all Python-native security tools:
27
+
28
+ ```bash
29
+ pip install "argus-scan[all-tools]"
30
+ ```
31
+
32
+ ## Usage
33
+
34
+ ### Run the MCP Server
35
+
36
+ ```bash
37
+ argus-mcp
38
+ ```
39
+
40
+ The server communicates via **stdio** (standard MCP transport).
41
+
42
+ ### Configure in Cursor / Claude Desktop
43
+
44
+ Add to your MCP configuration (`~/.cursor/mcp.json` or `claude_desktop_config.json`):
45
+
46
+ ```json
47
+ {
48
+ "mcpServers": {
49
+ "argus": {
50
+ "command": "argus-scan"
51
+ }
52
+ }
53
+ }
54
+ ```
55
+
56
+ Or with `uvx` (no installation required):
57
+
58
+ ```json
59
+ {
60
+ "mcpServers": {
61
+ "argus": {
62
+ "command": "uvx",
63
+ "args": ["argus-scan"]
64
+ }
65
+ }
66
+ }
67
+ ```
68
+
69
+ ## External Tool Dependencies
70
+
71
+ The MCP server wraps these external tools. Install the ones you need:
72
+
73
+ ### SAST
74
+ ```bash
75
+ pip install semgrep bandit flake8 flake8-bandit # Python SAST
76
+ npm install -g eslint eslint-plugin-security # JS/TS SAST
77
+ ```
78
+
79
+ ### DAST
80
+ ```bash
81
+ docker pull ghcr.io/zaproxy/zaproxy:stable # OWASP ZAP (recommended)
82
+ brew install nikto # Nikto
83
+ ```
84
+
85
+ ### SCA
86
+ ```bash
87
+ # Trivy (cross-platform)
88
+ brew install trivy
89
+ # OR
90
+ curl -sfL https://raw.githubusercontent.com/aquasecurity/trivy/main/contrib/install.sh | sh
91
+
92
+ pip install safety pip-audit # Python SCA
93
+ ```
94
+
95
+ ### Secret Scanning
96
+ ```bash
97
+ brew install gitleaks trufflehog # macOS
98
+ pip install detect-secrets # cross-platform
99
+ ```
100
+
101
+ ### IaC
102
+ ```bash
103
+ pip install checkov # Checkov
104
+ brew install terrascan # Terrascan
105
+ ```
106
+
107
+ ## Example: Ask Claude to Scan Your Code
108
+
109
+ Once configured, you can ask:
110
+
111
+ - *"Scan `/path/to/myproject` for security vulnerabilities"*
112
+ - *"Check my Python code for OWASP Top 10 issues using Semgrep"*
113
+ - *"Are there any hardcoded secrets in this repository?"*
114
+ - *"Scan my Kubernetes manifests for misconfigurations"*
115
+ - *"Run a full security audit of my codebase"*
116
+
117
+ ## Development
118
+
119
+ ```bash
120
+ git clone https://github.com/your-org/argus-mcp
121
+ cd argus-mcp/packages/python
122
+ pip install -e ".[dev]"
123
+ pytest
124
+ ```
125
+
126
+ ## License
127
+
128
+ MIT
@@ -0,0 +1,92 @@
1
+ [build-system]
2
+ requires = ["hatchling"]
3
+ build-backend = "hatchling.build"
4
+
5
+ [project]
6
+ name = "argus-scan"
7
+ version = "0.1.0"
8
+ description = "Argus — open-source security scanner with many eyes. SAST, DAST, SCA, Secrets, IaC, Terraform, Ansible via CLI and MCP."
9
+ readme = "README.md"
10
+ license = { file = "LICENSE" }
11
+ requires-python = ">=3.10"
12
+ keywords = [
13
+ "argus", "mcp", "security", "sast", "dast", "sca", "devsecops",
14
+ "semgrep", "bandit", "trivy", "owasp-zap", "gitleaks", "tfsec",
15
+ "ansible-lint", "code-scanning", "vulnerability", "ai",
16
+ ]
17
+ classifiers = [
18
+ "Development Status :: 4 - Beta",
19
+ "Intended Audience :: Developers",
20
+ "License :: OSI Approved :: MIT License",
21
+ "Programming Language :: Python :: 3",
22
+ "Programming Language :: Python :: 3.10",
23
+ "Programming Language :: Python :: 3.11",
24
+ "Programming Language :: Python :: 3.12",
25
+ "Topic :: Security",
26
+ "Topic :: Software Development :: Testing",
27
+ ]
28
+ dependencies = [
29
+ "mcp>=1.0.0",
30
+ "anyio>=4.0.0",
31
+ ]
32
+
33
+ [project.optional-dependencies]
34
+ # Install all Python-native security tools
35
+ all-tools = [
36
+ "semgrep>=1.0.0",
37
+ "bandit>=1.7.0",
38
+ "flake8>=6.0.0",
39
+ "flake8-bandit>=4.0.0",
40
+ "safety>=3.0.0",
41
+ "pip-audit>=2.0.0",
42
+ "detect-secrets>=1.4.0",
43
+ "checkov>=3.0.0",
44
+ "ansible-lint>=6.0.0",
45
+ ]
46
+ dev = [
47
+ "pytest>=7.0.0",
48
+ "pytest-asyncio>=0.23.0",
49
+ "pytest-cov>=4.0.0",
50
+ "mypy>=1.0.0",
51
+ "ruff>=0.1.0",
52
+ ]
53
+
54
+ [project.scripts]
55
+ # Primary CLI — works with no AI subscription
56
+ argus = "argus.cli:run"
57
+ # Alias for MCP clients that reference the full package name
58
+ argus-mcp = "argus.cli:run"
59
+
60
+ [project.urls]
61
+ Homepage = "https://github.com/your-org/argus-mcp"
62
+ Repository = "https://github.com/your-org/argus-mcp"
63
+ Issues = "https://github.com/your-org/argus-mcp/issues"
64
+ Documentation = "https://github.com/your-org/argus-mcp/blob/main/README.md"
65
+
66
+ [tool.hatch.build.targets.wheel]
67
+ packages = ["src/argus"]
68
+
69
+ [tool.hatch.build.targets.sdist]
70
+ include = [
71
+ "/src",
72
+ "/tests",
73
+ "/README.md",
74
+ "/LICENSE",
75
+ ]
76
+
77
+ [tool.pytest.ini_options]
78
+ asyncio_mode = "auto"
79
+ testpaths = ["tests"]
80
+
81
+ [tool.mypy]
82
+ python_version = "3.10"
83
+ strict = false
84
+ ignore_missing_imports = true
85
+
86
+ [tool.ruff]
87
+ line-length = 100
88
+ target-version = "py310"
89
+
90
+ [tool.ruff.lint]
91
+ select = ["E", "F", "W", "I", "UP"]
92
+ ignore = ["E501"]
@@ -0,0 +1,7 @@
1
+ """argus-mcp: MCP server for code security testing.
2
+
3
+ Provides SAST, DAST, SCA, secret scanning, and IaC security scanning
4
+ via the Model Context Protocol.
5
+ """
6
+ __version__ = "0.1.0"
7
+ __all__ = ["__version__"]