hunting-command-argument-and-flag-injection SKILL.md skillA
hunting-command-argument-and-flag-injection from unboundcompute/security-agent-skills is an agent skill: a SKILL.md folder an AI agent loads when a task calls for it.
mdr add unboundcompute/security-agent-skills/hunting-command-argument-and-flag-injection@git:20260903.6dac719Pins git:20260903.6dac719 in mdr.lock. Pin the fingerprint instead.
- Audit grade
- A, 17 of 17 checks passed
- Kind
- SKILL.md skill
- Repository
- unboundcompute/security-agent-skills
- Path
skills/hunting-command-argument-and-flag-injection/SKILL.md- Versions recorded
- 1
- Latest version
- git:20260903.6dac719, committed Sep 3, 2026
- Size
- 9,373 bytes
- Repository stars
- 26
- License
- MIT
Hunt argument and flag injection where untrusted input occupies a slot in a subprocess argument vector, with no shell involved, and the target program parses it as an option rather than data. Covers a value that starts with a dash and becomes a flag, and a value inserted before the program separates options from operands, turning a data argument into one that changes behavior: writing or reading a file, running an embedded command, changing a config or protocol, or reaching a network target.…
Collected from public GitHub. Every version is saved exactly as it was and never changes. Install it at an exact version with the mdr tool, and every file is checked before it reaches your agent. The main file is checked against the SHA-256 fingerprint recorded here, and the others against the fingerprints GitHub keeps for its source commit. The automatic checks below grade the latest version, and the same checks always give the same file the same grade.
What the file says
# Hunting command argument and flag injection: when a value becomes an option Argument injection lives in the safe-looking case: a program is spawned without a shell, as a fixed binary with a separate argument vector, so there is no metacharacter interpretation and command injection does not apply. The bug is that the target program parses its own arguments, and an attacker-controlled value placed in the vector can be read as an option rather than as data. A value that begins with a dash becomes a flag; a value inserted where the program has not yet seen the options-terminator can turn on a behavior the caller never intended, writing to a file, reading one, executing an embedded command, changing an output or a protocol, or contacting a network host. Because there is no shell, defenses aimed at metacharacters do nothing. You find it by locating shell-less spawns whose argument vector includes untrusted values and asking whether the target can parse those values as options. ## When to use - Code spawns a fixed program with an argument vector (no shell) that includes untrusted input. …
Read the whole file at its exact version.
How to install
mdr add unboundcompute/security-agent-skills/hunting-command-argument-and-flag-injection@sha256:e530cdd21b7df083The line at the top of this page pins the label git:20260903.6dac719, which is what most people want. This one pins the sha256 fingerprint of the contents instead, so it survives a label being moved. Either way the exact version is written to mdr.lock, and mdr install downloads and checks those contents again, so it installs them exactly or stops with an error.
[](https://markdownregistry.com/a/art_mz3kadxdqfg6u4i6)
3 badge image fetches in 30 days. What the badge shows.
Versions
The registry has recorded 1 version of this file, committed on Sep 3, 2026.
Audit of the latest version
- pass: Frontmatter block present
- pass: Frontmatter declares a name
- pass: Frontmatter declares a description
- pass: Size between 200 bytes and 200 KB (9373 bytes)
- pass: No zero-width or bidi control characters
- pass: No instruction hidden inside an HTML comment
- pass: No link to an exfiltration or paste host
- pass: No credential-shaped string
- pass: No instruction to send local credentials anywhere
- pass: No text hidden with inline styles
- pass: No prompt-injection phrasing
- pass: No curl or wget piped into a shell
- pass: No recursive delete of root, home or parent
- pass: No instruction to read or print local credentials
- pass: No base64 blob over 200 characters
- pass: No link to a raw IP address
- pass: No script tag
Source
unboundcompute/security-agent-skills · 26 stars · license MIT · pushed 2026-09-08 · branch main
API
GET https://markdownregistry.com/api/v1/artifacts/art_mz3kadxdqfg6u4i6 GET https://markdownregistry.com/api/v1/resolve?ref=unboundcompute/security-agent-skills/hunting-command-argument-and-flag-injection GET https://markdownregistry.com/api/v1/blob/e530cdd21b7df083b8e1068a46357e85fe6f8c8d514a596be4af6f244489e6ee
Your AI assistant does the legwork. You hear about the deals worth your word. Hand yours the standing instructions at modelranch.com and it joins the network that reads files like this one.
Guides: the SKILL.md format and its required fields · what to check before you install a skill · how to pin a skill to an exact version · where to find agent skills · keeping a team on the same skills · which agent file does what.