Now liveThe Skillselion MCP - thousands of ranked skills, loaded into your agent mid-task. No install.Get it →
aktsmm avatar

Review Security Structure

  • 4 installs
  • 23 repo stars
  • Updated August 4, 2026
  • aktsmm/agent-skills

review-security-structure is a skill that runs a defensive, structure-first security review of authorized code using AST maps, call graphs and Source/Sink taint flow.

About

This skill reviews owned or authorized code for security by reading architecture and data flow before full source. It builds or reads a structure map (AST summaries, call graphs, complexity, Source/Sink), models trust boundaries, and traces taint flow to surface vulnerabilities, parser/scanner risks, CI/CD risks and agent tool-boundary risks. A developer uses it to triage SAST results or harden code against adversarial input without producing weaponized exploits.

  • Reviews code security structure-first using AST maps, call graphs and complexity
  • Traces Source to Sink taint flow to find missing validation and boundary bypasses
  • Stays defensive: places uncertain exploitability in Hypotheses, keeps fixes minimal

Review Security Structure by the numbers

  • 4 all-time installs (skills.sh)
  • Ranked #1,742 of 2,203 Security skills by installs in the Skillselion catalog
  • Data as of Aug 5, 2026 (Skillselion catalog sync)
At a glance

review-security-structure capabilities & compatibility

Capabilities
security audit · code review
Use cases
security audit · code review
From the docs

What review-security-structure says it does

Defensively review code or structure artifacts by reading architecture and data flow before reading full source.
SKILL.md
If exploitability is uncertain, place the item in Hypotheses rather than Findings.
SKILL.md
npx skills add https://github.com/aktsmm/agent-skills --skill review-security-structure

Add your badge

Show developers this skill is listed on Skillselion. Paste this into your README.

Listed on Skillselion
Installs4
repo stars23
Last updatedAugust 4, 2026
Repositoryaktsmm/agent-skills

What it does

Run a defensive, structure-first security review of authorized code using AST, call graph and Source/Sink taint flow.

Who is it for?

Triaging SAST results and finding logic, parser, CI/CD and agent tool-boundary vulnerabilities by reading structure before full source.

Skip if: Unauthorized testing, intrusion, credential theft or producing weaponized proof-of-concept exploits.

When should I use this skill?

You need a security or vulnerability review of code, an AST/structure map review, or SAST triage.

What you get

A structure-first review with Source-to-Sink findings, trust-boundary analysis and minimal defensive fixes.

  • Structure map summary
  • Findings and Hypotheses
  • Minimal verified fixes

By the numbers

  • 10-item minimum map contract (entry_points to scan_limits)
  • Source/Propagator/Sanitizer/Sink flow model

Files

SKILL.mdMarkdownGitHub ↗

Review Security Structure

Defensively review code or structure artifacts by reading architecture and data flow before reading full source. Use structural signals to identify vulnerabilities, logic flaws, parser/scanner risks, CI/CD risks, and LLM/agent tool-boundary risks.

When to Use

  • security review, vulnerability review, SAST triage, AST, structure map, call graph, Source/Sink, taint flow
  • 脆弱性レビュー, セキュリティレビュー, 構造マップ, AST レポート, 依存関係, 複雑度
  • Reviewing owned or explicitly authorized code, design docs, scan results, or generated structure maps
  • Hardening parsers, scanners, CI/CD tools, file walkers, and agent/tool-call boundaries against malformed or adversarial input

Safety Scope

  • Keep the work defensive: review, risk explanation, safe verification ideas, and minimal fixes.
  • Do not provide unauthorized testing, intrusion, persistence, evasion, credential theft, weaponized PoC, or destructive external steps.
  • If exploitability is uncertain, place the item in Hypotheses rather than Findings.
  • If code changes are requested, keep them minimal and verify with existing tests or a focused local check.

Inputs to Prefer

Use provided structure artifacts first, then inspect the smallest code/config range needed.

InputExamples
StructureAST summaries, class/function lists, Mermaid graphs, JSON reports
Data flowSource, Propagator, Sanitizer, Sink, taint flow
Call graphcaller -> callee edges, boundary-crossing calls, fallback paths
Complexitylarge functions, branch concentration, exception density
Scope/statevariable scope, global state, shared mutable state, auth boundaries
Static resultssecret scan, dependency scan, lint/type/SAST warnings
ContextREADME, design notes, CI workflow, deployment config

Structure Map Build

If no equivalent structure artifact exists, create a minimal read-oriented structure map before starting findings review. Do not skip this step unless generation is genuinely blocked; record blockers and limits in the Structure Map Summary.

1. Look for existing artifacts in reports, manifest, tmp, CI output, README, package scripts, Makefile, or workflows. 2. Prefer existing language-aware tools: TypeScript compiler, eslint, dependency graph scripts, language server data, test/coverage config, or standard-library parsers. 3. Favor maps that include summaries, class/call graphs, function metrics, variable scopes, imports, taint flow, static findings, dependency audit, and high-complexity hotspots. 4. Avoid installing new dependencies unless clearly justified. Prefer lockfile-backed local tools. 5. Do not execute the target application behavior just to map it. Keep extraction static or read-only when possible. 6. Redact secret values. Record only kind and location, not token/password/key material. 7. For large repos, map entry points, changed files, public APIs, trust boundaries, and dangerous Sink neighborhoods first.

Minimum map contract:

ItemRequirement
entry_pointsCLI, API handlers, commands, jobs, public APIs, workflows
filesreviewed files, language, inferred role
symbolsclasses/functions/methods and inferred responsibility
importsexternal deps, dangerous APIs, security-boundary deps
call_edgescaller -> callee edges when practical
complexitylarge or high-branch functions when practical
sourcesHTTP, CLI args, env, files, network, deserialization, LLM input
sinkscommand, SQL, eval, template, path, file write, network, secret/log, tool call
sanitizersvalidate, escape, normalize, authn/authz, schema checks
scan_limitsmissing, approximate, unsupported, or unparsed areas

Review Flow

1. Gate the target: assume review is allowed for current workspace/user-provided artifacts; ask only if ownership or authorization is unclear. 2. Classify the target: web app, CLI, library, scanner, CI/CD tool, infrastructure definition, data processor, extension, or agent tool. 3. Read an existing structure map, or build the minimal map from the contract above before full source reading. 4. Model trust boundaries: who controls which input, where it flows, what authority the Sink has, and what data is sensitive. 5. Trace Source -> Propagator -> Sanitizer -> Sink. Look for missing validation, wrong order, branch gaps, implicit deserialization, and type-conversion surprises. 6. Review call graph paths that bypass authn/authz, validation, initialization, feature flags, or normal handlers. 7. Review complexity and logic risks: giant functions, broad try/catch, deep nesting, fallback behavior, shared state, TOCTOU, and cache races. 8. For parsers/scanners/file walkers, prioritize crash, unbounded recursion, symlink loops, huge/deep ASTs, encoding edge cases, dependency resolution failures, and detection bypass. 9. For CI/CD, review workflow inputs, artifact/cache trust, token permissions, PR boundaries, release gates, and secret exposure. 10. For LLM/agent code, review prompt injection paths, external document trust, tool-call authorization, path safety, command policy, and log redaction.

Evidence Rules

  • Findings require structural signal, reachability, impact, and a defensive verification or fix direction.
  • Confidence is High, Medium, or Low. Avoid certainty language unless verified.
  • Keep unsupported ideas in Hypotheses with the missing evidence and next check.
  • Reference local files with precise paths and line links when possible. Do not paste full source files.

Output Format

Lead with Findings. If there are no confirmed findings, state that clearly first.

Findings

#SeverityConfidenceTargetStructural SignalReachabilityImpactDefensive VerificationMinimal Fix

Structure Map Summary

ItemValue
Sourceexisting artifact / newly generated / quick extraction / unavailable
Artifactsaved path, or none
Scopereviewed paths and boundaries
Methodtools, scripts, or manual extraction used
Limitsunparsed or approximate areas
Redactionredacted secret values, or none applicable

Hypotheses

#HypothesisMissing EvidenceNext Check

Code to Inspect

PriorityPath / SymbolWhy

Recommended Fix Plan

1. Fix clear, reachable, high-impact issues first. 2. Add safety guards such as size limits, timeouts, input validation, path normalization, auth checks, and log redaction. 3. Split high-complexity code only where it reduces risk or enables tests. 4. Verify the Source -> Sink path is blocked or constrained after the fix.

Verification Summary

  • Checks run: command/tool/read-only review performed, or not run with reason
  • Remaining risk: unresolved items, or none
  • External references: URLs used, or none

Thanks to / References

Inspired by these structure-first review resources. Treat them as references, not required dependencies.

  • https://github.com/harumaki4649/ast-structure-map
  • https://qiita.com/harupython/items/ed256553d10578cfec2a
  • https://qiita.com/harupython/items/4d572a384c62016c51f2

Related skills

FAQ

Is this offensive tooling?

No. The skill keeps work defensive and does not provide unauthorized testing, intrusion, persistence, evasion or weaponized PoC.

What does it analyze first?

It reads architecture and data flow (AST, call graphs, complexity, Source/Sink) before reading full source.

Securityauditappsec

This week in AI coding

Five minutes, every Monday - the tools, releases and tactics for developers.

unsubscribe anytime.