원클릭으로
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.