agent-security-hardening
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
Use when two or more verified findings may combine into a higher-impact authorized attack path.
An attack chain is a sequence of verified security behaviors in which each step provides a prerequisite for the next. Several findings on the same target do not form a chain unless the dependency between them is demonstrated.
Create a chain record beneath the target output directory:
TARGET_ID="example-test"
OUTPUT_DIR="${OUTPUT_DIR:-./output}"
CHAIN_DIR="$OUTPUT_DIR/$TARGET_ID/chains"
mkdir -p "$CHAIN_DIR"
touch "$CHAIN_DIR/EXPLOIT_CHAINS.md"
Use evidence states consistently:
| State | Meaning |
|---|---|
| Observed | Present in captured output |
| Confirmed | Security impact reproduced with a control |
| Inferred | Plausible dependency that has not been tested |
| Not tested | Excluded by scope, safety, or missing prerequisites |
For each component, record:
Discard scanner labels and version-only leads that have not passed their owning skill's verification.
Finding A
output: approved user identifier
enables: object lookup in Finding B
Finding B
output: unauthorized synthetic object read
enables: none
If A and B are merely co-located, document them separately.
The transition is the core of the chain. Demonstrate that the exact output from one step is accepted by the next step under the same authorized conditions.
Examples:
| Candidate path | Transition to prove |
|---|---|
| Source map to hidden API | Extracted base URL resolves to the tested API |
| User enumeration to IDOR | Enumerated identifier addresses another approved identity's object |
| CORS to protected-data read | Approved browser session returns non-public response to controlled origin |
| SSRF to internal service | Controlled callback or response identifies the internal service |
| Exposed credential to repository access | Scoped credential is valid for an approved test resource |
Do not use real user data, broad credential testing, or destructive operations to bridge a missing transition.
State:
The chain severity cannot exceed the evidence. A theoretical final step does not become confirmed because earlier steps worked.
Record removal of synthetic users, objects, uploads, callbacks, and temporary tokens. If testing stops before the final step, explain why and preserve the last confirmed state.
AFaffaan-m/ECC278k4,046 new stars in the last 7 days
DIDietrichGebert/ponytail162k5,405 new stars in the last 7 days
DIDietrichGebert/ponytail162k5,405 new stars in the last 7 days
DIDietrichGebert/ponytail162k5,405 new stars in the last 7 days
GAgarrytan/gstack136k883 new stars in the last 7 days
Harden code against the OWASP Top 10: input handling, authentication, sessions and dependencies.
ADaddyosmani/agent-skills106k3,628 new stars in the last 7 days