secure-code-agent 0.11.0__tar.gz → 0.11.1__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.
- {secure_code_agent-0.11.0/src/secure_code_agent.egg-info → secure_code_agent-0.11.1}/PKG-INFO +2 -2
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/README.md +1 -1
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1/src/secure_code_agent.egg-info}/PKG-INFO +2 -2
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/__init__.py +1 -1
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/cli.py +13 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/demo.py +5 -5
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/LICENSE +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/pyproject.toml +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/setup.cfg +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/SOURCES.txt +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/dependency_links.txt +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/entry_points.txt +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/requires.txt +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/top_level.txt +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/baseline.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/config.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/data/semgrep-offline.yaml +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/findings.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/git_tools.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/history.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/instructions.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/pillar.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/practice.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/remediation.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/renderers.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/ruleset.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/sarif.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanner_status.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/__init__.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/bandit_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/base.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/builtin_rules.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/checkov_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/floor.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/gitleaks_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/gosec_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/hadolint_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/njsscan_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/npm_audit_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/osv_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/pip_audit_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/rubocop_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/scorecard_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/semgrep_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/trivy_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/trufflehog_scanner.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scoring.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/standards.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/suppressions.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/triage.py +0 -0
- {secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/verify.py +0 -0
{secure_code_agent-0.11.0/src/secure_code_agent.egg-info → secure_code_agent-0.11.1}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: secure-code-agent
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.1
|
|
4
4
|
Summary: Deterministic security gate + bounded AI remediation prompt generator. NIST SSDF / OWASP ASVS / CWE Top 25 anchored.
|
|
5
5
|
Author: Marshall Guillory
|
|
6
6
|
License: MIT
|
|
@@ -470,7 +470,7 @@ For agents that support invokable skills, this repo ships a portable skill under
|
|
|
470
470
|
## GitHub Action
|
|
471
471
|
|
|
472
472
|
```yaml
|
|
473
|
-
- uses: marshallguillory86/secure-code-agent@v0.11.
|
|
473
|
+
- uses: marshallguillory86/secure-code-agent@v0.11.1
|
|
474
474
|
with:
|
|
475
475
|
config: secure-code-agent.json
|
|
476
476
|
fail-on-gate: true
|
|
@@ -424,7 +424,7 @@ For agents that support invokable skills, this repo ships a portable skill under
|
|
|
424
424
|
## GitHub Action
|
|
425
425
|
|
|
426
426
|
```yaml
|
|
427
|
-
- uses: marshallguillory86/secure-code-agent@v0.11.
|
|
427
|
+
- uses: marshallguillory86/secure-code-agent@v0.11.1
|
|
428
428
|
with:
|
|
429
429
|
config: secure-code-agent.json
|
|
430
430
|
fail-on-gate: true
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1/src/secure_code_agent.egg-info}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: secure-code-agent
|
|
3
|
-
Version: 0.11.
|
|
3
|
+
Version: 0.11.1
|
|
4
4
|
Summary: Deterministic security gate + bounded AI remediation prompt generator. NIST SSDF / OWASP ASVS / CWE Top 25 anchored.
|
|
5
5
|
Author: Marshall Guillory
|
|
6
6
|
License: MIT
|
|
@@ -470,7 +470,7 @@ For agents that support invokable skills, this repo ships a portable skill under
|
|
|
470
470
|
## GitHub Action
|
|
471
471
|
|
|
472
472
|
```yaml
|
|
473
|
-
- uses: marshallguillory86/secure-code-agent@v0.11.
|
|
473
|
+
- uses: marshallguillory86/secure-code-agent@v0.11.1
|
|
474
474
|
with:
|
|
475
475
|
config: secure-code-agent.json
|
|
476
476
|
fail-on-gate: true
|
|
@@ -400,6 +400,19 @@ def _do_audit(args: argparse.Namespace) -> int:
|
|
|
400
400
|
root_for_tests = target if target.is_dir() else target.parent
|
|
401
401
|
|
|
402
402
|
def _classify(finding: Finding) -> str:
|
|
403
|
+
# A dependency advisory is about the dependency, not about the file
|
|
404
|
+
# that happened to declare it. Classified by category before path,
|
|
405
|
+
# because the path routing gets it wrong: `requirements.txt` matches
|
|
406
|
+
# the documentation pattern `**/*.txt`, so every CVE in a pip
|
|
407
|
+
# manifest was filed under **documentation** — eighteen of them on a
|
|
408
|
+
# six-file demo tree. A dependency finding is not documentation
|
|
409
|
+
# whatever the manifest is called.
|
|
410
|
+
#
|
|
411
|
+
# Returning "primary" hands it to `split_side_axes` below, which is
|
|
412
|
+
# what moves it onto the dependencies axis. Neither axis is scored,
|
|
413
|
+
# so this changes where a finding is *reported*, not the grade.
|
|
414
|
+
if finding.category is Category.DEPENDENCIES:
|
|
415
|
+
return "primary"
|
|
403
416
|
if is_test_path(finding.file_path, root_for_tests, cfg.test_patterns):
|
|
404
417
|
return "test tree"
|
|
405
418
|
if is_test_path(finding.file_path, root_for_tests, cfg.docs_patterns):
|
|
@@ -101,11 +101,11 @@ def build(destination: Path | None = None) -> Path:
|
|
|
101
101
|
(root / "README.md").write_text(README, encoding="utf-8")
|
|
102
102
|
# No dependency manifest. A pinned-vulnerable `requirements.txt` was here
|
|
103
103
|
# and it made the demo worse, not better: eighteen pip-audit CVEs drowned
|
|
104
|
-
# the seven code defects the demo exists to show.
|
|
105
|
-
#
|
|
106
|
-
#
|
|
107
|
-
# axis
|
|
108
|
-
#
|
|
104
|
+
# the seven code defects the demo exists to show.
|
|
105
|
+
#
|
|
106
|
+
# It also surfaced a real defect, since fixed: those CVEs were filed on
|
|
107
|
+
# the **documentation** axis, because the manifest is a `.txt` file and
|
|
108
|
+
# the axis split read the extension before the category.
|
|
109
109
|
return root
|
|
110
110
|
|
|
111
111
|
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/SOURCES.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/requires.txt
RENAMED
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_agent.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanner_status.py
RENAMED
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/base.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/floor.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{secure_code_agent-0.11.0 → secure_code_agent-0.11.1}/src/secure_code_audit/scanners/osv_scanner.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|