mirror of
https://github.com/mukul975/Anthropic-Cybersecurity-Skills.git
synced 2026-08-27 19:59:40 +03:00
Production hardening: security fixes, code quality, 724 skills complete
- Fix 25 shell=True subprocess calls with list-based commands - Fix 49 verify=False in defensive skills (env-var override) - Add timeout to 231 HTTP/subprocess/socket calls - Fix 6 SQL injection patterns with whitelist validation - Replace 8 __import__() with standard imports - Remove 701 unused imports across 442 files - Add authorized-testing disclaimers to all offensive skills - Complete 11 incomplete skill directories - Expand 10 stub SKILL.md files with full content - Fix 2 YAML parse errors in frontmatter - Fix 5 pre-existing syntax errors - Convert 22 hardcoded paths/ports to environment variables - Back up 21 redundant skill pairs to .bak - Fix 2 global declaration errors - 724/724 skills with full folder anatomy (SKILL.md + agent.py + api-reference.md + LICENSE) - 0 compile errors across all 724 agent.py files
This commit is contained in:
@@ -20,7 +20,7 @@ def get_sf_session(base_url):
|
||||
|
||||
def list_modules(session):
|
||||
"""List available SpiderFoot modules."""
|
||||
resp = session.get(f"{session.base_url}/api/modules")
|
||||
resp = session.get(f"{session.base_url}/api/modules", timeout=30)
|
||||
resp.raise_for_status()
|
||||
modules = resp.json()
|
||||
return [{"name": m.get("name", ""), "descr": m.get("descr", ""),
|
||||
@@ -30,7 +30,7 @@ def list_modules(session):
|
||||
|
||||
def list_scan_types(session):
|
||||
"""List available scan types (use cases)."""
|
||||
resp = session.get(f"{session.base_url}/api/scantypes")
|
||||
resp = session.get(f"{session.base_url}/api/scantypes", timeout=30)
|
||||
resp.raise_for_status()
|
||||
return resp.json()
|
||||
|
||||
@@ -42,7 +42,7 @@ def start_scan(session, target, scan_name, use_case="all"):
|
||||
"scantarget": target,
|
||||
"usecase": use_case,
|
||||
}
|
||||
resp = session.post(f"{session.base_url}/api/startscan", data=data)
|
||||
resp = session.post(f"{session.base_url}/api/startscan", data=data, timeout=30)
|
||||
resp.raise_for_status()
|
||||
result = resp.json()
|
||||
scan_id = result.get("scanid", result.get("id", ""))
|
||||
@@ -52,7 +52,7 @@ def start_scan(session, target, scan_name, use_case="all"):
|
||||
|
||||
def get_scan_status(session, scan_id):
|
||||
"""Check scan status."""
|
||||
resp = session.get(f"{session.base_url}/api/scanstatus/{scan_id}")
|
||||
resp = session.get(f"{session.base_url}/api/scanstatus/{scan_id}", timeout=30)
|
||||
resp.raise_for_status()
|
||||
return resp.json()
|
||||
|
||||
@@ -75,7 +75,7 @@ def wait_for_scan(session, scan_id, poll_interval=10, timeout=600):
|
||||
|
||||
def get_scan_results(session, scan_id):
|
||||
"""Retrieve all results from a completed scan."""
|
||||
resp = session.get(f"{session.base_url}/api/scanresults/{scan_id}")
|
||||
resp = session.get(f"{session.base_url}/api/scanresults/{scan_id}", timeout=30)
|
||||
resp.raise_for_status()
|
||||
return resp.json()
|
||||
|
||||
|
||||
Reference in New Issue
Block a user