Argentum Core— agent skill

Argentum Core — independently scanned and version-tracked by SaferSkills.

by giskard09·Agent Skill·github.com/giskard09/argentum-core

Is Argentum Core safe to install?

SaferSkills independently audited Argentum Core (Agent Skill) and scored it 45/100 (orange). The audit ran 55 deterministic rules across Security, Supply Chain, Maintenance, Transparency, and Community; it found 46 high-severity and 1 lower-severity findings. The full rule-by-rule trace and per-finding evidence are below. Free, methodology-open.

Score
45/100
●●●●●○○○○○
↑ +0 since first scan (45 → 45)Re-scan~30s
Latest scan
ScannedJun 24, 2026 · 31d ago
Scans run1 over 90 days
Detectors55 checks · 5 categories
Findings1 warnings · 46 high
EngineSaferSkills 2b638c6
View methodology →
SaferSkills installs
This week0
This month0
All time0
CategoryWeightCategory scoreContribution
Securityprompt, exec, net, exfil, eval
35%
0
0.0 pts
Supply chainhash, typosquat, maintainer, lockfile
20%
100
20.0 pts
Maintenancestaleness, pinning, CI
15%
100
15.0 pts
TransparencySKILL.md, perms, README
15%
100
15.0 pts
Communityinstalls, verify, response
15%
100
15.0 pts

Findings & checks · 47 flagged

Securityscore 0 · 47 findings
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · docs/spec/fixtures/composition-ref-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptdocs/spec/fixtures/composition-ref-v1.fixture.json· json
58},
59"envelope_canonical_sha256": "dc93f687b883d25a531a817e48e13d9a01a49eb4a9a1133ac1c1370c6a872c
… (4 chars elided on L59)
60"envelope_canonical_bytes_hex": "7b22616374696f6e5f726566223a2235383462633739626231316365336
… (102 chars elided on L60)
61"invariants": {
62"composition_ref_not_in_preimage": "composition_ref does not appear in action_preimage — act
… (73 chars elided on L62)
Occurrences
1 occurrence · at L60
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256e15371887de863e7rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · docs/spec/fixtures/delegation-chain-ref-v1.fixture.json×2
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptdocs/spec/fixtures/delegation-chain-ref-v1.fixture.json· json
29},
30"artifact_jcs_payload": "{\"capability\":\"payment.route\",\"delegatee\":\"pioneer-agent-001
… (98 chars elided on L30)
31"artifact_canonical_bytes_hex": "7b226361706162696c697479223a227061796d656e742e726f757465222
… (98 chars elided on L31)
32"delegation_ref": "fc49ff73ebd629bd3440455115a4ce09e69219f2374f6b0c7a2713a52a579b7e"
33},
Occurrences
2 occurrences · first at L31, also L50
Show all 2 locations
Line
File
L31
docs/spec/fixtures/delegation-chain-ref-v1.fixture.json
L50
docs/spec/fixtures/delegation-chain-ref-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256f236a6b1439c2b95rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · docs/spec/fixtures/negotiation-composition-v1.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptdocs/spec/fixtures/negotiation-composition-v1.json· json
31},
32"action_preimage_jcs_payload": "{\"action_type\":\"delegation.execute\",\"agent_id\":\"pione
… (94 chars elided on L32)
33"action_preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a2264656c65676174696f6e
… (102 chars elided on L33)
34"action_ref": "951aaf3602246e581a890da34b7d4336aa5e554faf192aa0cec4d6aaac966930",
35"envelope": {
Occurrences
1 occurrence · at L33
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256c503ade74016519crubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/action-ref-v1-baseline.fixture.json×2
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/action-ref-v1-baseline.fixture.json· json
34},
35"action_ref": "f09eb8c50dfa27a33cdb36efa08194bcba2d7ac32eb1dd6539fb0c3bc811a8e0",
36"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a227061796d656e742e73656e64222
… (102 chars elided on L36)
37"envelope": {
38"action_ref": "f09eb8c50dfa27a33cdb36efa08194bcba2d7ac32eb1dd6539fb0c3bc811a8e0",
Occurrences
2 occurrences · first at L36, also L52
Show all 2 locations
Line
File
L36
examples/conformance/action-ref-v1-baseline.fixture.json
L52
examples/conformance/action-ref-v1-baseline.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha25627344178a7c7bd1brubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/delegation-ref-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/delegation-ref-v1.fixture.json· json
20},
21"jcs_payload": "{\"action_type\":\"delegation.execute\",\"agent_id\":\"pioneer-agent-001\",\
… (78 chars elided on L21)
22"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a2264656c65676174696f6e2e65786
… (102 chars elided on L22)
23"action_ref": "4e286b47ea4446323ea38bda83eb2150597190560f9ecb90651f1d0acb573404",
24"envelope": {
Occurrences
1 occurrence · at L22
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2563be749e0cb496bd0rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/guardrail-provider-v1.fixture.json×2
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/guardrail-provider-v1.fixture.json· json
58},
59"effective_args_jcs": "{\"limit\":100,\"query\":\"SELECT * FROM users WHERE admin=true\",\"t
… (23 chars elided on L59)
60"effective_args_canonical_bytes_hex": "7b226c696d6974223a3130302c227175657279223a2253454c454
… (102 chars elided on L60)
61"effective_args_digest": "a208fd12e4ea22541f71ae426532adaa445058ce36b30c3b580b1371cd0ee477",
62"invariant": "original_args_digest != effective_args_digest when guardrail revised the args"
Occurrences
2 occurrences · first at L60, also L195
Show all 2 locations
Line
File
L60
examples/conformance/guardrail-provider-v1.fixture.json
L195
examples/conformance/guardrail-provider-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2566a4a09021f39ce18rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/idempotency-ref-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/idempotency-ref-v1.fixture.json· json
22},
23"artifact_jcs_payload": "{\"action_type\":\"payment.send\",\"agent_id\":\"pioneer-agent-001\
… (102 chars elided on L23)
24"artifact_canonical_bytes_hex": "7b22616374696f6e5f74797065223a227061796d656e742e73656e64222
… (102 chars elided on L24)
25"idempotency_ref": "4a6aa060624b6e3ec4fafb941a546e5842d0a1172861f6d21ffec9de4b098a97",
26"action_preimage": {
Occurrences
1 occurrence · at L24
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha25646acb747bb24aa2erubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/mcp-scoped-receipt-v1.json×2
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/mcp-scoped-receipt-v1.json· json
27},
28"jcs_payload": "{\"action_type\":\"tool.call\",\"agent_id\":\"mcp-client-agent\",\"scope\":\
… (68 chars elided on L28)
29"canonical_bytes_hex": "7b22616374696f6e5f74797065223a22746f6f6c2e63616c6c222c226167656e745f
… (102 chars elided on L29)
30"action_ref": "5aff61c81fd5ad2887fde31c9aaab8081a234396c807ba9f31fff25d22762def"
31},
Occurrences
2 occurrences · first at L29, also L48
Show all 2 locations
Line
File
L29
examples/conformance/mcp-scoped-receipt-v1.json
L48
examples/conformance/mcp-scoped-receipt-v1.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha25666b4c4a5b5a8cdd4rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/memory-write-v1.fixture.json×2
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/memory-write-v1.fixture.json· json
22},
23"jcs_payload": "{\"action_type\":\"memory_write\",\"agent_id\":\"giskard-self\",\"scope\":\"
… (82 chars elided on L23)
24"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a226d656d6f72795f7772697465222
… (102 chars elided on L24)
25"action_ref": "36fe8d0559bb254c20cdb0e7a0c83e53f0434fc076e856ff769444da2a73b0b4",
26"invariants": {
Occurrences
2 occurrences · first at L24, also L52
Show all 2 locations
Line
File
L24
examples/conformance/memory-write-v1.fixture.json
L52
examples/conformance/memory-write-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256dcb6fed3029f1a8brubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/negative-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/negative-v1.fixture.json· json
45},
46"jcs_payload": "{\"action_type\":\"payment.send\",\"agent_id\":\"pioneer-agent-001\",\"scope
… (70 chars elided on L46)
47"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a227061796d656e742e73656e64222
… (102 chars elided on L47)
48"correct_action_ref": "5ade73c881c6288e8b9688944fcb15f8dbdad7f8f1f94d9e31c29dcf86238424",
49"tampered_action_ref": "5ade73c881c6288e8b9688944fcb15f8dbdad7f8f1f94d9e31c29dcf86238420",
Occurrences
1 occurrence · at L47
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256da9cede37a7d752brubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/policy-change-v1.fixture.json×3
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/policy-change-v1.fixture.json· json
52},
53"canonical": "{\"action_type\":\"data.read\",\"agent_id\":\"did:web:agent.example\",\"author
… (102 chars elided on L53)
54"canonical_bytes_hex": "7b22616374696f6e5f74797065223a22646174612e72656164222c226167656e745f
… (102 chars elided on L54)
55"action_ref": "sha256:c9cf23466c1e06e9e0271d24fcb2c30c7299389705e878d77b2b19b0527fe628",
56"policy_snapshot_used": "policy_P",
Occurrences
3 occurrences · first at L54, also L80, L123
Show all 3 locations
Line
File
L54
examples/conformance/policy-change-v1.fixture.json
L80
examples/conformance/policy-change-v1.fixture.json
L123
examples/conformance/policy-change-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2564d1bdb977d2cb1c1rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/presidio/action-ref-v1.fixture.json×3
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/presidio/action-ref-v1.fixture.json· json
21},
22"jcs_payload": "{\"action_type\":\"PII_REDACTED\",\"agent_id\":\"did:presidio:x402:agent-7f3
… (102 chars elided on L22)
23"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a225049495f5245444143544544222
… (102 chars elided on L23)
24"action_ref": "25b9c32fe6ea1df6fd81de158fa2082656fafa5cf419db3a5cd3540e6df0f8b7"
25},
Occurrences
3 occurrences · first at L23, also L49, L75
Show all 3 locations
Line
File
L23
examples/conformance/presidio/action-ref-v1.fixture.json
L49
examples/conformance/presidio/action-ref-v1.fixture.json
L75
examples/conformance/presidio/action-ref-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2565bd971fad90249e9rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json×7
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json· json
27},
28"canonical_jcs_payload": "{\"action_type\":\"payment.send\",\"agent_id\":\"pioneer-agent-001
… (80 chars elided on L28)
29"canonical_bytes_hex": "7b22616374696f6e5f74797065223a227061796d656e742e73656e64222c22616765
… (102 chars elided on L29)
30"correct_action_ref": "fefa13abb3765bc5f9279b49ea5507a406799b7076611e1238e482cbd5dfb32d",
31"claimed_action_ref": "5fcfb5213cbb304570a3cf4e2f472feba3cf9fd8c13410f14a45431fc9f72dd6",
Occurrences
7 occurrences · first at L29, also L39, L75 +4 more
Show all 7 locations
Line
File
L29
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
L39
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
L75
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
L148
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
L190
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
L206
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
L248
examples/conformance/recompute-drift-v1/recompute-drift-v1-negative.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256a5b6a69c37971ed4rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json×5
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json· json
20},
21"jcs_payload": "{\"action_type\":\"trail.anchor\",\"agent_id\":\"recompute-agent-001\",\"sco
… (82 chars elided on L21)
22"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a22747261696c2e616e63686f72222
… (102 chars elided on L22)
23"action_ref": "de7d7f40147b9b7f41134b14752aa36e3435bda89c51938ba358a69be04dccf6"
24},
Occurrences
5 occurrences · first at L22, also L35, L48 +2 more
Show all 5 locations
Line
File
L22
examples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json
L35
examples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json
L48
examples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json
L61
examples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json
L74
examples/conformance/recompute-drift-v1/recompute-drift-v1-positive.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha25630e892971ca4fef9rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/restraint-receipt-v1/vectors.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/restraint-receipt-v1/vectors.json· json
38},
39"jcs_payload": "{\"action_ref\":\"e6dd416ea108a1600522614957d9da7c815bc02b4c3b4886c80c776ebf
… (102 chars elided on L39)
40"preimage_canonical_bytes_hex": "7b22616374696f6e5f726566223a2265366464343136656131303861313
… (102 chars elided on L40)
41"restraint_receipt_ref": "24196f610b0ded06e1abccfa4a49388163e35d45206313e15c9deda92ddad726",
42"conformant": true,
Occurrences
1 occurrence · at L40
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2560d4222c2e52ebf90rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/revocation-ref-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/revocation-ref-v1.fixture.json· json
32},
33"revocation_action_jcs_payload": "{\"action_type\":\"authorization.revoke\",\"agent_id\":\"g
… (90 chars elided on L33)
34"revocation_action_canonical_bytes_hex": "7b22616374696f6e5f74797065223a22617574686f72697a61
… (102 chars elided on L34)
35"revocation_action_ref": "fb4ef9fb6a1701f86c3b2c6625cdb10e169c4324cdb485e9cef08385f90023f9",
36"chain": {
Occurrences
1 occurrence · at L34
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256c7e0970382cf5a54rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/signing-trust-ref/signing-trust-ref-v1.fixture.json×2
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/signing-trust-ref/signing-trust-ref-v1.fixture.json· json
19},
20"jcs_payload": "{\"action_ref\":\"25b9c32fe6ea1df6fd81de158fa2082656fafa5cf419db3a5cd3540e6d
… (102 chars elided on L20)
21"preimage_canonical_bytes_hex": "7b22616374696f6e5f726566223a2232356239633332666536656131646
… (102 chars elided on L21)
22"signing_trust_ref": "1d1becb32090150f0b71456f5ff2520a77d3a13553c139dc57cc2528522b7b36"
23},
Occurrences
2 occurrences · first at L21, also L47
Show all 2 locations
Line
File
L21
examples/conformance/signing-trust-ref/signing-trust-ref-v1.fixture.json
L47
examples/conformance/signing-trust-ref/signing-trust-ref-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256347eed7f8a173862rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/tool-trust-ref-v1/vectors.json×4
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/tool-trust-ref-v1/vectors.json· json
21},
22"jcs_payload": "{\"checked_at_ms\":1749513600000,\"posture_version\":\"posture-v1.0\",\"tool
… (102 chars elided on L22)
23"preimage_canonical_bytes_hex": "7b22636865636b65645f61745f6d73223a3137343935313336303030303
… (102 chars elided on L23)
24"tool_trust_ref": "efcf5efb5190a8d49eed57f0706a77065d2199ab064b4f77e2b99aab8567143e",
25"conformant": true,
Occurrences
4 occurrences · first at L23, also L42, L61 +1 more
Show all 4 locations
Line
File
L23
examples/conformance/tool-trust-ref-v1/vectors.json
L42
examples/conformance/tool-trust-ref-v1/vectors.json
L61
examples/conformance/tool-trust-ref-v1/vectors.json
L81
examples/conformance/tool-trust-ref-v1/vectors.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256abc9eb580afb837drubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/trail-complete-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/trail-complete-v1.fixture.json· json
51},
52"revocation_jcs_payload": "{\"reason\":\"policy_update\",\"revocation_key\":\"rev_c7d2e8f1a3
… (102 chars elided on L52)
53"revocation_canonical_bytes_hex": "7b22726561736f6e223a22706f6c6963795f757064617465222c22726
… (102 chars elided on L53)
54"revocation_ref": "49f767553eeff17db24a45f55640663ca73e2127af12e67516b73118b6443d32",
55"revocation_action_preimage": {
Occurrences
1 occurrence · at L53
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2569ce62aae8c775105rubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/trail-status-lifecycle-v1.fixture.json×3
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/trail-status-lifecycle-v1.fixture.json· json
26},
27"jcs_payload": "{\"action_type\":\"delegation.execute\",\"agent_id\":\"algovoi-agent\",\"sco
… (72 chars elided on L27)
28"preimage_canonical_bytes_hex": "7b22616374696f6e5f74797065223a2264656c65676174696f6e2e65786
… (102 chars elided on L28)
29"action_ref": "199f5c692ca6dfde530627b650fb72853ae879ddb8d0222b7111f3c71eee91f0",
30"trail_record": {
Occurrences
3 occurrences · first at L28, also L59, L93
Show all 3 locations
Line
File
L28
examples/conformance/trail-status-lifecycle-v1.fixture.json
L59
examples/conformance/trail-status-lifecycle-v1.fixture.json
L93
examples/conformance/trail-status-lifecycle-v1.fixture.json
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha2569d8053033ae65bferubric 365aacaView on GitHub
HIGHLong base64-encoded blob hidden in the skill documentationSS-SKILL-INJECT-B64-PAYLOAD-01 · Prompt injection · examples/conformance/urn-mycelium-trail-v1.fixture.json
HIGHonce decoded by the agent, an encoded payload has the same impact class as plain-text injection.
Why it matters

A base64 string of 128+ characters appears in a documentation file. Encoded prompt injection hides the hostile instruction in base64 — invisible to keyword filters — and relies on the agent's ability to decode it at runtime. There is no normal authoring reason to embed a multi-hundred-byte base64 blob in skill docs.

The exact value spotted
excerptexamples/conformance/urn-mycelium-trail-v1.fixture.json· json
42"urn": "urn:mycelium:trail"
43},
44"canonical_bytes_hex": "7b22616374696f6e5f726566223a2266646437663831303439396630366265323433
… (102 chars elided on L44)
45"canonical_sha256": "8af1dad8c307513b3a52ad378a7b45ff2812462f7c489baa547cb747c0f5d879",
46"verify_url": "https://argentum-api.rgiskard.xyz/trails/verify?agent_id=nexus-agent-xa12.onr
… (86 chars elided on L46)
Occurrences
1 occurrence · at L44
How to fix
Remove the encoded blob, or decode it and review what it actually contains.
  1. Decode the base64 string and confirm it is not an instruction directed at the agent.
  2. Move any legitimate binary or signature data into a dedicated file (*.sig, SIGNATURES) outside the documentation.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-B64-PAYLOAD-01sha256fae025699e8a998crubric 365aacaView on GitHub
MEDIUMInstruction telling the agent not to ask for approvalSS-SKILL-INJECT-DONT-ASK-01 · Prompt injection · docs/spec/karma-score-v1.md
MEDIUMit fires on intent; the real damage depends on the host agent's own approval-gating.
Why it matters

The text {match} tells the agent to skip the normal "ask the user first" gate. Used adversarially it removes the human-in-the-loop check before destructive or sensitive actions, turning a normally-gated agent into a fire-and-forget executor.

The exact value spotted
excerptdocs/spec/karma-score-v1.md· markdown
132 
133This fixture intentionally falls below threshold (1.5 < 2.0) to illustrate
134that three low-karma attestors do not confirm an action. A fourth attestor
135with karma ≥ 50 would push the total to 2.0 and confirm it.
136 
Occurrences
1 occurrence · at L134
How to fix
Remove the approval-skipping instruction, or scope it narrowly to a specific safe, reversible action.
  1. Delete blanket "don't ask / no need to confirm" directives from the skill.
  2. If the skill is a genuine autonomous job, restrict the opt-out to a named non-destructive action rather than all actions.
Framework references
OWASPLLM01ATLASAML.T0051
Trace & refs
ruleSS-SKILL-INJECT-DONT-ASK-01sha256cd2f70f4551240d0rubric 365aacaView on GitHub
Supply chainscore 100 · 0 findings
All supply chain checks passedNo findings in this category for the latest scan.pass
Maintenancescore 100 · 0 findings
All maintenance checks passedNo findings in this category for the latest scan.pass
Transparencyscore 100 · 0 findings
All transparency checks passedNo findings in this category for the latest scan.pass
Communityscore 100 · 0 findings
All community checks passedNo findings in this category for the latest scan.pass
Vendor response · right of reply
Are you the maintainer? Submit a response →

Audit the pieces. Scan the whole. Decide.

~30 seconds. Free. No account. Every finding cites a rule and a line of evidence.