Skip to content
Back to skills

Aetox Security

ASecurity

ตอนต้องตรวจความปลอดภัยของระบบ โค้ดเบส การเปลี่ยนแปลง หรือคอนฟิก หรือถูกถามว่าปลอดภัยไหม เจาะได้ไหม รวมถึงแอปที่มีเอเจน เครื่องมือ หรือ MCP

  • 46 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added September 27, 2026
ai-agentsrustgoshellsqlcode-reviewgitapidatabasesecurity

Works with

  • cli
  • api
  • mcp

Security analysis

A100/100

Pro scans all 3 files and shows the line behind each finding

Scanned September 27, 2026

npx -y skills add Mikedev115/Aetox --skill aetox-security --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Aetox Security?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Aetox Security
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/mikedev115-aetox-security/badge)](https://www.skillsdirectory.com/skills/mikedev115-aetox-security)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: aetox-security
before: auditing a system, a codebase, a change or a configuration for security, or answering whether it can be attacked
description: ตอนต้องตรวจความปลอดภัยของระบบ โค้ดเบส การเปลี่ยนแปลง หรือคอนฟิก หรือถูกถามว่าปลอดภัยไหม เจาะได้ไหม รวมถึงแอปที่มีเอเจน เครื่องมือ หรือ MCP
source: anthropics/claude-code-security-review (MIT) for the audit shape and the exclusion list; trailofbits/skills differential-review (CC BY-SA 4.0, method only, no text taken) for blame on removed guards and blast radius; OWASP Top 10 and OWASP Top 10 for Agentic Applications 2026 for the category lists
license: MIT
copyright: Copyright (c) 2026 Aetox Skills
---

# Aetox Security

A security finding is an attack path someone can walk, shown at a line.
Everything else is hardening advice, and is labelled as such. The two are
never mixed in one list, because the reader is deciding whether to ship.

## Two sizes

**One change** (a diff, PR, commit): read the diff for anything that
touches auth, secrets, crypto, validation, a path, a shell, a query, the
network, or a permission check. Then one hop out: who calls the changed
code, and what reaches each new input. For every guard the diff removes or
loosens, `git log -S` on the removed line; a removed check is often the fix
for a bug that is about to come back. A refactor is high risk until the
callers show it changed nothing.

**A system** (a folder, a service, an app): do not read everything. Map
first, in this order:

1. Entry points: HTTP handlers, CLI arguments, files read, messages
   consumed, tool calls the model can make, uploads.
2. Trust boundaries: where data from outside first arrives, and where it is
   first checked.
3. Privileged operations: shell, filesystem writes, network, database,
   money, credentials.
4. Secrets: where they are stored, loaded, logged.

Then walk each path from an entry point to a privileged operation. Depth
follows size: under 20 files, read them; up to 200, entry points and one
hop; larger, the critical paths only. The report names what was not read.

## Before judging

1. Learn how this project already guards itself: its auth middleware, its
   validation layer, its escaping, its secret store. A finding is a place
   that skips the project's own guard, or the guard missing everywhere.
2. Trace, do not pattern-match. `exec` in a file is not a finding; input
   from outside reaching `exec` with no boundary between them is.
3. Run what is there. The tests on the touched code. A scanner if one is
   installed (`references/scanners.md`); a scanner's line is a lead, and
   the code is read before it becomes a finding. Installing a scanner is
   the user's decision; ask.
4. Reproduce only on a copy or a test target the user named, with nothing
   leaving the machine. An attack shown against a live system, or data sent
   to a third-party service to "check it", is not a review step.

## What counts

The category list with the questions to ask for each is
`references/checklist.md`. In one line each: injection (shell, SQL, path,
template, deserialisation); auth and authorization (bypass, another user's
object, privilege escalation, session); secrets and crypto (in source, in
history, weak algorithm, bad randomness, TLS verification off); data
exposure (secrets or personal data in logs, errors, debug endpoints); code
execution (eval, unsafe deserialise, dynamic load of a name from input);
supply chain (unpinned, known-vulnerable, install scripts); configuration
(fail-open defaults, permissive CORS, listening on all interfaces);
TOCTOU on a security decision.

An app with an agent, tools or MCP servers, this one included, has a
second list (the agentic section of the checklist): content the model
reads (a tool result, a fetched page, a file) that can steer it; a tool
reachable around its approval gate; a sandbox root escaped by `..` or a
symlink; a subagent with wider rights than its parent; a memory or skill
file that content the model read can write; a server installed from a name
alone.

## What is not a finding

Adapted from Anthropic's exclusion list, which exists because a review that
reports these is ignored along with everything else in it:

- Denial of service, rate limiting, CPU or memory exhaustion, unless the
  user asked about availability.
- Missing validation on a field nothing dangerous reaches.
- A weakness with no path from an input you can name.
- Style, "best practice", a header missing on an internal tool.
- A secret held in the platform's own store (keychain, DPAPI, a secrets
  manager). A secret in source or in the repository's history is.
- Anything you would not bet an attacker could do. It goes under "worth a
  look", not under findings.

## The shape of a finding

Every finding carries all five, or it is hardening advice:

- Evidence: `file:line`, and the path the input walks, from where to where.
- Attack: what an attacker sends or does, and what they get. One concrete
  scenario, not a category name.
- Severity: `Critical` (unauthenticated, and reaches code execution, other
  users' data, or money) · `High` (authenticated, or one more condition) ·
  `Medium` (needs an unlikely precondition or an insider) · `Low`.
- Confidence: `Direct` (traced end to end, or reproduced) · `Inferred`
  (plausible from reading, not traced), with `Verify first` when someone
  should confirm before acting.
- Fix: the smallest change that closes the path, in the project's own
  idiom. Proposed, not applied, unless the user asks. A fix is checked the
  way a bug fix is (`aetox-verify`): the attack that worked now fails.

A found secret is reported by its location and kind, never quoted.
`None identified` is a complete answer and beats an invented one.

## Report

Ordered for someone about to press a button:

1. One line: **ship** · **fix first** · **needs a deeper audit**, and why.
2. Critical and High findings, in the shape above.
3. Medium and Low, one line each.
4. Worth a look: hardening advice, labelled as advice.
5. What was read, what was run and what it said, what was not covered.

## Hand-offs

- The change is otherwise under review: the verdict belongs to
  `aetox-code-review`; this skill supplies its security section.
- A finding needs to be fixed: `aetox-debug` for the root cause,
  `aetox-verify` before saying it is closed.
- A system with no code yet: `aetox-idea-to-architecture` carries the
  risks section; this skill is not run on a proposal.

Files in this skill

  • SKILL.md6.6 KB
  • references/checklist.md8 KB
  • references/scanners.md2.5 KB

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…