registry  /  @scan5/ai-guard  /  0.13.0

@scan5/ai-guard@0.13.0

AI security scanner and runtime enforcement for LLM applications — detects prompt injection, API key leaks, unsafe output, RAG poisoning, and agent hijacking in code and live traffic.

Static Scan Results

scanned 3h ago · by rust-scanner

Static analysis flagged 33 finding(s) at 93.0% confidence. This version is warn-only unless an AI or security-team review confirms malicious behavior.

Static reason
One or more suspicious static signals were detected.; previous stored version diff introduced dangerous source

Decision evidence

public snapshot
Behavioral surface
Source
ChildProcessCryptoEnvironmentVarsEvalFilesystemNetworkShell
Supply chain
HighEntropyStringsObfuscatedUrlStrings
ManifestNo manifest risk signals triggered.
scanned 191 file(s), 1.04 MB of source, external domains: ai-guard.dev, api.example.com, api.github.com, api.opsgenie.com, data.example.com, evil.example, evil.example.com, example.com, github.com, http-intake.logs, internal-llm-proxy.corp.example.com, json.schemastore.org, pastebin.com, service.local

Source & flagged code

24 flagged · loading source
dist/tests/unit/api-key-rules.test.jsView file
18patternName = aws_access_key severity = critical line = 18 matchedText = const ma...;");
Critical
Critical Secret

Package contains a critical-looking secret pattern.

dist/tests/unit/api-key-rules.test.jsView on unpkg · L18
18patternName = aws_access_key severity = critical line = 18 matchedText = const ma...;");
Critical
Secret Pattern

AWS access key ID in dist/tests/unit/api-key-rules.test.js

dist/tests/unit/api-key-rules.test.jsView on unpkg · L18
22patternName = aws_access_key severity = critical line = 22 matchedText = const ma...;");
Critical
Secret Pattern

AWS access key ID in dist/tests/unit/api-key-rules.test.js

dist/tests/unit/api-key-rules.test.jsView on unpkg · L22
dist/tests/unit/security/bypass-tests.test.jsView file
97(0, node_test_1.default)("Bypass: eval on AI response detected", () => { L98: const content = 'const code = aiResponse.text; eval(code);'; L99: const matches = (0, test_helpers_1.detect)("unsafe-output-dynamic-exec-ai-output", content);
Low
Eval

Package source references a known benign dynamic code generation pattern.

dist/tests/unit/security/bypass-tests.test.jsView on unpkg · L97
dist/sdk/ai-guard-sdk.jsView file
matchType = previous_version_dangerous_delta matchedPackage = @scan5/ai-guard@0.3.1 matchedIdentity = npm:QHNjYW41L2FpLWd1YXJk:0.3.1 similarity = 0.967 summary = stored previous version shares package body but lacks this dangerous source file
High
Previous Version Dangerous Delta

This package version adds a dangerous source file absent from the previous stored version; route for source-aware review.

dist/sdk/ai-guard-sdk.jsView on unpkg
dist/tests/unit/phase8-quality-gates.test.jsView file
33patternName = aws_access_key severity = critical line = 33 matchedText = "const a...';",
Critical
Secret Pattern

AWS access key ID in dist/tests/unit/phase8-quality-gates.test.js

dist/tests/unit/phase8-quality-gates.test.jsView on unpkg · L33
34patternName = aws_access_key severity = critical line = 34 matchedText = "const i...';",
Critical
Secret Pattern

AWS access key ID in dist/tests/unit/phase8-quality-gates.test.js

dist/tests/unit/phase8-quality-gates.test.jsView on unpkg · L34
48patternName = private_key_rsa severity = critical line = 48 matchedText = "const k...';",
Critical
Secret Pattern

RSA private key in dist/tests/unit/phase8-quality-gates.test.js

dist/tests/unit/phase8-quality-gates.test.jsView on unpkg · L48
49patternName = private_key_rsa severity = critical line = 49 matchedText = "const s...';",
Critical
Secret Pattern

RSA private key in dist/tests/unit/phase8-quality-gates.test.js

dist/tests/unit/phase8-quality-gates.test.jsView on unpkg · L49
53patternName = generic_password severity = medium line = 53 matchedText = "const c...';",
Medium
Secret Pattern

Hardcoded password in dist/tests/unit/phase8-quality-gates.test.js

dist/tests/unit/phase8-quality-gates.test.jsView on unpkg · L53
dist/tests/unit/phase12-api-key-detection.test.jsView file
122patternName = stripe_live_secret severity = critical line = 122 matchedText = const ma...X`);
Critical
Secret Pattern

Stripe live secret key in dist/tests/unit/phase12-api-key-detection.test.js

dist/tests/unit/phase12-api-key-detection.test.jsView on unpkg · L122
173patternName = aws_access_key severity = critical line = 173 matchedText = const ma...}`);
Critical
Secret Pattern

AWS access key ID in dist/tests/unit/phase12-api-key-detection.test.js

dist/tests/unit/phase12-api-key-detection.test.jsView on unpkg · L173
70patternName = google_api_key severity = high line = 70 matchedText = const ma...t`);
High
Secret Pattern

Google API key in dist/tests/unit/phase12-api-key-detection.test.js

dist/tests/unit/phase12-api-key-detection.test.jsView on unpkg · L70
126patternName = stripe_test_secret severity = high line = 126 matchedText = const ma...X`);
High
Secret Pattern

Stripe test secret key in dist/tests/unit/phase12-api-key-detection.test.js

dist/tests/unit/phase12-api-key-detection.test.jsView on unpkg · L126
dist/tests/unit/rules/api-key-leak.test.jsView file
38patternName = aws_access_key severity = critical line = 38 matchedText = const ma...;');
Critical
Secret Pattern

AWS access key ID in dist/tests/unit/rules/api-key-leak.test.js

dist/tests/unit/rules/api-key-leak.test.jsView on unpkg · L38
48patternName = stripe_live_secret severity = critical line = 48 matchedText = const ma...;');
Critical
Secret Pattern

Stripe live secret key in dist/tests/unit/rules/api-key-leak.test.js

dist/tests/unit/rules/api-key-leak.test.jsView on unpkg · L48
57patternName = github_pat severity = critical line = 57 matchedText = const ma...;');
Critical
Secret Pattern

GitHub personal access token in dist/tests/unit/rules/api-key-leak.test.js

dist/tests/unit/rules/api-key-leak.test.jsView on unpkg · L57
52patternName = stripe_test_secret severity = high line = 52 matchedText = const ma...;');
High
Secret Pattern

Stripe test secret key in dist/tests/unit/rules/api-key-leak.test.js

dist/tests/unit/rules/api-key-leak.test.jsView on unpkg · L52
dist/tests/unit/phase11-language-expansion.test.jsView file
109patternName = generic_password severity = medium line = 109 matchedText = const ai...d'";
Medium
Secret Pattern

Hardcoded password in dist/tests/unit/phase11-language-expansion.test.js

dist/tests/unit/phase11-language-expansion.test.jsView on unpkg · L109
116patternName = generic_password severity = medium line = 116 matchedText = const pl...d'";
Medium
Secret Pattern

Hardcoded password in dist/tests/unit/phase11-language-expansion.test.js

dist/tests/unit/phase11-language-expansion.test.jsView on unpkg · L116
dist/tests/unit/sensitive-data-rules.test.jsView file
10patternName = private_key_rsa severity = critical line = 10 matchedText = const ma...;");
Critical
Secret Pattern

RSA private key in dist/tests/unit/sensitive-data-rules.test.js

dist/tests/unit/sensitive-data-rules.test.jsView on unpkg · L10
14patternName = private_key_rsa severity = critical line = 14 matchedText = const ma...;");
Critical
Secret Pattern

RSA private key in dist/tests/unit/sensitive-data-rules.test.js

dist/tests/unit/sensitive-data-rules.test.jsView on unpkg · L14
18patternName = generic_password severity = medium line = 18 matchedText = const ma...;");
Medium
Secret Pattern

Hardcoded password in dist/tests/unit/sensitive-data-rules.test.js

dist/tests/unit/sensitive-data-rules.test.jsView on unpkg · L18
dist/tests/integration/phase2-static-adapter.integration.test.jsView file
228patternName = generic_password severity = medium line = 228 matchedText = const pa...i}';
Medium
Secret Pattern

Hardcoded password in dist/tests/integration/phase2-static-adapter.integration.test.js

dist/tests/integration/phase2-static-adapter.integration.test.jsView on unpkg · L228

Findings

14 Critical4 High8 Medium7 Low
CriticalCritical Secretdist/tests/unit/api-key-rules.test.js
CriticalSecret Patterndist/tests/unit/api-key-rules.test.js
CriticalSecret Patterndist/tests/unit/api-key-rules.test.js
CriticalSecret Patterndist/tests/unit/phase8-quality-gates.test.js
CriticalSecret Patterndist/tests/unit/phase8-quality-gates.test.js
CriticalSecret Patterndist/tests/unit/phase8-quality-gates.test.js
CriticalSecret Patterndist/tests/unit/phase8-quality-gates.test.js
CriticalSecret Patterndist/tests/unit/phase12-api-key-detection.test.js
CriticalSecret Patterndist/tests/unit/phase12-api-key-detection.test.js
CriticalSecret Patterndist/tests/unit/rules/api-key-leak.test.js
CriticalSecret Patterndist/tests/unit/rules/api-key-leak.test.js
CriticalSecret Patterndist/tests/unit/rules/api-key-leak.test.js
CriticalSecret Patterndist/tests/unit/sensitive-data-rules.test.js
CriticalSecret Patterndist/tests/unit/sensitive-data-rules.test.js
HighPrevious Version Dangerous Deltadist/sdk/ai-guard-sdk.js
HighSecret Patterndist/tests/unit/phase12-api-key-detection.test.js
HighSecret Patterndist/tests/unit/phase12-api-key-detection.test.js
HighSecret Patterndist/tests/unit/rules/api-key-leak.test.js
MediumNetwork
MediumEnvironment Vars
MediumStructural Risk Force Deep Review
MediumSecret Patterndist/tests/unit/phase8-quality-gates.test.js
MediumSecret Patterndist/tests/unit/phase11-language-expansion.test.js
MediumSecret Patterndist/tests/unit/phase11-language-expansion.test.js
MediumSecret Patterndist/tests/unit/sensitive-data-rules.test.js
MediumSecret Patterndist/tests/integration/phase2-static-adapter.integration.test.js
LowNon Install Lifecycle Scripts
LowScripts Present
LowEvaldist/tests/unit/security/bypass-tests.test.js
LowFilesystem
LowObfuscated
LowHigh Entropy Strings
LowUrl Strings