AgentStack
Browse Sign in
Browse Why AgentStack Sell Docs
Sign in
SKILL verified MIT Self-run

Threat Model

skill-crewforth-crewforth-threat-model · by crewforth

|

— No reviews yet
0 installs
0 views
— view→install

Install

$ agentstack add skill-crewforth-crewforth-threat-model

✓ scanned · ✓ verified, works with Claude Code, Cursor, and more.

Security review

✓ Passed

No issues found. Passed automated security review. · v0.1.0 How review works →

  • ✓ Prompt-injection patterns
  • ✓ Secret / credential exfiltration
  • ✓ Dangerous shell & filesystem operations
  • ✓ Untrusted network calls
  • ✓ Known-malicious package signatures

What it can access

  • ✓ Network access No
  • ✓ Filesystem access No
  • ✓ Shell / process execution No
  • ✓ Environment & secrets No
  • ✓ Dynamic code execution No

From automated source analysis of v0.1.0. “Used” means the capability is present in the source — more access means more to trust, not that it’s unsafe.

View the full security report →

Verified badge

Passed review? Show it. Paste this badge into your README, it links to the public security report.

AgentStack Verified badge Links to your public security report.
[![AgentStack Verified](https://agentstack.voostack.com/badges/verified.svg)](https://agentstack.voostack.com/security/report/skill-crewforth-crewforth-threat-model)

Reliability & compatibility

✓ Security review passed
0 installs to date
— no reviews yet
● today

Declared compatibility

Claude CodeClaude Desktop

Compatibility is declared by the source manifest. End-to-end runtime verification is coming, see below.

Preview Execution monitoring

We're building live execution health for every listing: tool-call success rate, median latency, uptime, and last-checked timestamps, measured, not self-reported. It isn't live yet, so we don't show numbers we can't stand behind.

How agent discovery & health will work →
Are you the author of Threat Model? Claim this listing to set pricing, connect Stripe payouts, and keep 70% of every sale.
Sign up to claim

About

Threat Model

Trigger phrases: "threat model", "attack surface", "scope the audit", "trust boundary"

Scope first, scan second. A security scan with no map produces noise; a threat model tells the scanner (and security-scan) where to look and what matters — the single biggest lever on false positives.

The one idea to keep — the litmus test: if patching one line of code makes an entry disappear, it was a vulnerability, not a threat. Threats survive patching (they name what an attacker wants and the surface they arrive through); a vulnerability is only evidence that raises a threat's likelihood.

> Crewforth adaptation (local, .claude/): crew-security-expert runs this to scope before security-scan. Output > docs/THREAT_MODEL.md is internal (§4.3). Stack-agnostic. §4 Prohibitions apply.

When

  • Before a first security-scan of a system, or when scan output is noisy / unscoped.
  • After a significant new surface — a new API, a new integration, a new trust boundary.

Two modes

  • interview — the owner is available: ask the four questions below, one at a time.
  • bootstrap — no owner: derive the model from code + past advisories, then flag what only the owner can confirm.

Method — the four questions (Shostack), one at a time

Never dump a questionnaire; ask, capture into the schema, move on. Mirror the user's language.

  1. What are we building? system context, assets worth protecting, entry points and trust boundaries.
  2. What can go wrong? open-ended first; then, per entry point, fall back to STRIDE; derive **5-8

domain-specific attack classes** at the right granularity — "IDOR on dataset rows", "integer overflow on length fields" — not "web vulnerabilities".

  1. What are we doing about it? impact · residual likelihood · status · controls per threat; "accept the

risk, with a written reason" (risk_accepted) is a valid answer.

  1. Did we do a good job? read the ranked table back; coverage-check that every entry point appears.

Tag every fact [Code-verified] or [Owner-states]; each owner claim that moves a score becomes an open question with a "Verify by:" note.

Output

Write docs/THREAT_MODEL.md to the parseable contract in references/schema.md (fixed sections; a threats table with enumerated columns; residual-likelihood scoring; class-level mitigations). The interview flow, the STRIDE table, and the bootstrap steps live in references/interview.md.

Principles

  • Evidence raises likelihood; it is not the threat. Score the residual likelihood after current controls;

a stated-but-unverified control does not lower it — it becomes an open question.

  • Prefer a control that survives the next bug over a patch for the last one (class-level mitigations).
  • Feeds forward: security-scan reads THREAT_MODEL.md to scope its fronts and bias severity.

DoD

  • docs/THREAT_MODEL.md exists; every entry point covered; each threat scored; provenance tagged; scope handed to security-scan.

Source & license

This open-source skill is cataloged on AgentStack and links to its original source — we do not rehost the code.

Install and usage instructions live in the source repository linked above.

Reviews

No reviews yet, be the first.

Versions

  • v0.1.0 Imported from the upstream source.