بنقرة واحدة
questionnaire
Auto-fill security questionnaires (SIG Lite, CAIQ, Enterprise) using scan data and policy documents.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
القائمة
Auto-fill security questionnaires (SIG Lite, CAIQ, Enterprise) using scan data and policy documents.
التثبيت باستخدام Codex أو Claude انسخ هذا Prompt والصقه في Codex أو Claude أو مساعد آخر ليراجع صفحة Skill ويثبّتها لك.
استنادا إلى تصنيف SOC المهني
| name | questionnaire |
| description | Auto-fill security questionnaires (SIG Lite, CAIQ, Enterprise) using scan data and policy documents. |
| user-invocable | true |
You are helping a founder auto-fill a security questionnaire using Shasta scan data and generated policies. Be concise and practical.
Read shasta.config.json for python_cmd. Use that for all commands (shown as <PYTHON_CMD>).
<PYTHON_CMD> -c "
from shasta.db.schema import ShastaDB
db = ShastaDB(); db.initialize()
scan = db.get_recent_scan(max_age_minutes=120)
if scan:
print(f'RECENT_SCAN_FOUND|{scan.id}|{scan.completed_at}|{scan.summary.total_findings if scan.summary else 0} findings')
else:
print('NO_RECENT_SCAN')
"
If no recent scan exists, tell the user: "No recent scan found. Run /scan first, then come back to auto-fill your questionnaire."
Ask the user which questionnaire to fill:
Based on the user's choice, set the bank variable to sig_lite, caiq, or enterprise.
<PYTHON_CMD> -c "
import json
from shasta.db.schema import ShastaDB
from shasta.questionnaire.engine import QuestionnaireEngine
from shasta.questionnaire.questions import QUESTIONNAIRE_BANKS
from shasta.questionnaire.generator import generate_csv, generate_markdown
db = ShastaDB(); db.initialize()
scan = db.get_recent_scan(max_age_minutes=120)
if not scan:
scan = db.get_latest_scan()
if not scan:
print('ERROR: No scan data found. Run /scan first.')
exit(1)
bank_name = '<BANK>' # sig_lite, caiq, or enterprise
questions = QUESTIONNAIRE_BANKS[bank_name]
names = {'sig_lite': 'SIG Lite', 'caiq': 'CAIQ v4', 'enterprise': 'Generic Enterprise'}
engine = QuestionnaireEngine(scan)
result = engine.fill(questions, questionnaire_type=names[bank_name])
scan_date = str(scan.completed_at) if scan.completed_at else 'unknown'
csv_path = generate_csv(result, questions)
md_path = generate_markdown(result, questions, scan_date=scan_date)
print(json.dumps({
'questionnaire': result.questionnaire_type,
'total': result.total_questions,
'auto_answered': result.auto_answered,
'manual_required': result.manual_required,
'coverage_pct': result.coverage_pct,
'csv_path': str(csv_path),
'md_path': str(md_path),
'confidence': {
'high': sum(1 for a in result.answers if a.confidence == 'high'),
'medium': sum(1 for a in result.answers if a.confidence == 'medium'),
'manual': sum(1 for a in result.answers if a.confidence == 'manual'),
},
'sample_answers': [
{'id': a.question_id, 'answer': a.answer, 'confidence': a.confidence}
for a in result.answers[:5]
],
}, indent=2))
"
Replace <BANK> with the user's selection.
Report the results clearly:
{csv_path}, Markdown report at {md_path}"Deep code scan for AI security issues — prompt injection, PII in prompts, hardcoded keys, unguarded agents.
Run AI governance checks across cloud accounts and code repos — ISO 42001, EU AI Act, NIST AI RMF compliance.
Scan cloud accounts and GitHub repos to discover AI/ML services and build an AI system inventory.
Walk staged changes against the engineering principles checklist and report pass/fail per principle. Run before any non-trivial commit. Catches doc drift, stub functions, single-region defaults, missing framework mappings, and other regressions before they ship.
Generate a public-facing security trust page from scan data. Produces a single deployable index.html that shows compliance framework scores, security policies, infrastructure overview, and data protection posture. Deployable to S3, Vercel, Netlify, or GitHub Pages.
Paste a vendor's domain. Get a security risk assessment in 60 seconds.