원클릭으로
vendor-risk
Paste a vendor's domain. Get a security risk assessment in 60 seconds.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
메뉴
Paste a vendor's domain. Get a security risk assessment in 60 seconds.
Codex 또는 Claude로 설치 이 Prompt를 복사해 Codex, Claude 또는 다른 어시스턴트에 붙여 넣으면 Skill 페이지를 검토하고 설치를 진행할 수 있습니다.
SOC 직업 분류 기준
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.
Launch the Shasta web dashboard to view compliance posture, findings, controls, and risk register in a browser.
| name | vendor-risk |
| description | Paste a vendor's domain. Get a security risk assessment in 60 seconds. |
| user-invocable | true |
You are running a third-party vendor risk assessment for a semi-technical founder. Explain findings in plain English. Be direct about risks.
Read shasta.config.json for python_cmd and optionally hibp_api_key. Use that for all commands (shown as <PYTHON_CMD>).
If the user hasn't provided a domain, ask for it. Examples: "stripe.com", "okta.com", "notion.so".
Optionally, ask:
<PYTHON_CMD> -c "
from rainier.db import RainierDB
db = RainierDB(); db.initialize()
a = db.get_recent_assessment('<DOMAIN>', max_age_hours=24)
if a:
print(f'RECENT|{a.id}|{a.completed_at}|{a.risk_grade.value}|{a.risk_score}')
else:
print('NO_RECENT')
db.close()
"
If a recent assessment exists, show the score and ask if they want to reuse it or re-scan.
<PYTHON_CMD> -c "
import json
from rainier.scanner import scan_vendor
from rainier.models import VendorTier
from rainier.db import RainierDB
from rainier.reports.vendor_report import save_vendor_report
assessment = scan_vendor(
'<DOMAIN>',
vendor_name='<NAME>',
tier=VendorTier.<TIER>,
hibp_api_key='<HIBP_KEY>',
)
db = RainierDB(); db.initialize()
# Create or update vendor record
from rainier.models import Vendor
from datetime import UTC, datetime
vendor = db.get_vendor('<DOMAIN>')
if not vendor:
vendor = Vendor(name='<NAME>', domain='<DOMAIN>', tier=VendorTier.<TIER>)
vendor.last_assessed = datetime.now(UTC)
vendor.risk_score = assessment.risk_score
vendor.risk_grade = assessment.risk_grade
assessment.vendor_id = vendor.id
db.save_vendor(vendor)
db.save_assessment(assessment)
report_path = save_vendor_report(assessment, vendor)
print(json.dumps({
'grade': assessment.risk_grade.value,
'score': assessment.risk_score,
'signals': assessment.signal_scores,
'findings_count': len(assessment.findings),
'summary': assessment.summary,
'report': str(report_path),
}, indent=2))
db.close()
"
Show results like a security consultant briefing:
To list all assessed vendors:
<PYTHON_CMD> -c "
import json
from rainier.db import RainierDB
db = RainierDB(); db.initialize()
vendors = db.list_vendors()
for v in vendors:
grade = v.risk_grade.value if v.risk_grade else '?'
score = v.risk_score if v.risk_score else '?'
print(f'{v.domain} | {v.name} | {v.tier.value} | {grade} ({score})')
db.close()
"