@kevinrabun/judges 3.24.0 → 3.25.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +35 -0
- package/dist/api.d.ts +10 -3
- package/dist/api.d.ts.map +1 -1
- package/dist/api.js +8 -2
- package/dist/api.js.map +1 -1
- package/dist/ast/structural-parser.js +2 -2
- package/dist/ast/structural-parser.js.map +1 -1
- package/dist/commands/benchmark-ai-agents.d.ts.map +1 -1
- package/dist/commands/benchmark-ai-agents.js +512 -0
- package/dist/commands/benchmark-ai-agents.js.map +1 -1
- package/dist/commands/feedback.d.ts.map +1 -1
- package/dist/commands/feedback.js +19 -10
- package/dist/commands/feedback.js.map +1 -1
- package/dist/commands/fix.d.ts +41 -1
- package/dist/commands/fix.d.ts.map +1 -1
- package/dist/commands/fix.js +71 -0
- package/dist/commands/fix.js.map +1 -1
- package/dist/commands/lsp.d.ts.map +1 -1
- package/dist/commands/lsp.js +1 -2
- package/dist/commands/lsp.js.map +1 -1
- package/dist/commands/review.d.ts +57 -0
- package/dist/commands/review.d.ts.map +1 -1
- package/dist/commands/review.js +233 -29
- package/dist/commands/review.js.map +1 -1
- package/dist/evaluators/iac-security.d.ts.map +1 -1
- package/dist/evaluators/iac-security.js +1 -2
- package/dist/evaluators/iac-security.js.map +1 -1
- package/dist/evaluators/index.d.ts.map +1 -1
- package/dist/evaluators/index.js +10 -6
- package/dist/evaluators/index.js.map +1 -1
- package/dist/evaluators/shared.d.ts +6 -0
- package/dist/evaluators/shared.d.ts.map +1 -1
- package/dist/evaluators/shared.js +93 -1
- package/dist/evaluators/shared.js.map +1 -1
- package/dist/finding-lifecycle.d.ts +25 -0
- package/dist/finding-lifecycle.d.ts.map +1 -1
- package/dist/finding-lifecycle.js +61 -0
- package/dist/finding-lifecycle.js.map +1 -1
- package/dist/scoring.d.ts +7 -1
- package/dist/scoring.d.ts.map +1 -1
- package/dist/scoring.js +72 -0
- package/dist/scoring.js.map +1 -1
- package/dist/tools/deep-review.d.ts +8 -3
- package/dist/tools/deep-review.d.ts.map +1 -1
- package/dist/tools/deep-review.js +41 -2
- package/dist/tools/deep-review.js.map +1 -1
- package/dist/tools/register-evaluation.d.ts.map +1 -1
- package/dist/tools/register-evaluation.js +7 -3
- package/dist/tools/register-evaluation.js.map +1 -1
- package/dist/types.d.ts +45 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
- package/server.json +2 -2
|
@@ -3532,6 +3532,518 @@ if (process.env.NODE_ENV === "production") {
|
|
|
3532
3532
|
confidence: outputCheck.confidence,
|
|
3533
3533
|
};
|
|
3534
3534
|
}
|
|
3535
|
+
}`,
|
|
3536
|
+
expectedRuleIds: [],
|
|
3537
|
+
category: "clean",
|
|
3538
|
+
difficulty: "hard",
|
|
3539
|
+
},
|
|
3540
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
3541
|
+
// AI-specific code patterns — common LLM-generated antipatterns
|
|
3542
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
3543
|
+
{
|
|
3544
|
+
id: "aics-deep-model-serving-no-validation",
|
|
3545
|
+
description: "ML model inference endpoint with no input validation or output bounds",
|
|
3546
|
+
language: "python",
|
|
3547
|
+
code: `from flask import Flask, request, jsonify
|
|
3548
|
+
import pickle
|
|
3549
|
+
import numpy as np
|
|
3550
|
+
|
|
3551
|
+
app = Flask(__name__)
|
|
3552
|
+
|
|
3553
|
+
# Load model at startup from user-uploadable path
|
|
3554
|
+
model = pickle.load(open("model.pkl", "rb")) # Unsafe deserialization
|
|
3555
|
+
|
|
3556
|
+
@app.route("/predict", methods=["POST"])
|
|
3557
|
+
def predict():
|
|
3558
|
+
# No input validation — accepts any shape/size tensor
|
|
3559
|
+
data = request.json
|
|
3560
|
+
features = np.array(data["features"]) # No shape check, no type check
|
|
3561
|
+
|
|
3562
|
+
# No rate limiting on inference calls
|
|
3563
|
+
# No input size limit — could cause OOM with huge arrays
|
|
3564
|
+
prediction = model.predict(features)
|
|
3565
|
+
|
|
3566
|
+
# Returns raw model output without sanitization
|
|
3567
|
+
# Could leak training data via model inversion
|
|
3568
|
+
return jsonify({
|
|
3569
|
+
"prediction": prediction.tolist(),
|
|
3570
|
+
"confidence": model.predict_proba(features).tolist(), # Full probability distribution leaked
|
|
3571
|
+
"model_version": model.__class__.__name__,
|
|
3572
|
+
"feature_importance": model.feature_importances_.tolist(), # Internal model details leaked
|
|
3573
|
+
})
|
|
3574
|
+
|
|
3575
|
+
@app.route("/retrain", methods=["POST"])
|
|
3576
|
+
def retrain():
|
|
3577
|
+
# No authentication — anyone can retrain the model
|
|
3578
|
+
new_data = request.json
|
|
3579
|
+
X = np.array(new_data["X"])
|
|
3580
|
+
y = np.array(new_data["y"])
|
|
3581
|
+
model.fit(X, y) # Training on unvalidated user-submitted data
|
|
3582
|
+
pickle.dump(model, open("model.pkl", "wb"))
|
|
3583
|
+
return jsonify({"status": "retrained"})
|
|
3584
|
+
|
|
3585
|
+
if __name__ == "__main__":
|
|
3586
|
+
app.run(host="0.0.0.0", debug=True)`,
|
|
3587
|
+
expectedRuleIds: ["DATA-001", "CYBER-001", "SEC-001"],
|
|
3588
|
+
category: "ai-code-safety",
|
|
3589
|
+
difficulty: "medium",
|
|
3590
|
+
},
|
|
3591
|
+
{
|
|
3592
|
+
id: "aics-deep-embedding-data-leakage",
|
|
3593
|
+
description: "Vector store operations leaking data across tenants and missing access control",
|
|
3594
|
+
language: "typescript",
|
|
3595
|
+
code: `import { PineconeClient } from "@pinecone-database/pinecone";
|
|
3596
|
+
import OpenAI from "openai";
|
|
3597
|
+
|
|
3598
|
+
const openai = new OpenAI();
|
|
3599
|
+
const pinecone = new PineconeClient();
|
|
3600
|
+
|
|
3601
|
+
// Single shared index for all tenants — no namespace isolation
|
|
3602
|
+
const index = pinecone.Index("shared-knowledge-base");
|
|
3603
|
+
|
|
3604
|
+
export async function ingestDocument(tenantId: string, document: string) {
|
|
3605
|
+
const embedding = await openai.embeddings.create({
|
|
3606
|
+
model: "text-embedding-3-small",
|
|
3607
|
+
input: document,
|
|
3608
|
+
});
|
|
3609
|
+
|
|
3610
|
+
// No tenant isolation — all docs go into same namespace
|
|
3611
|
+
await index.upsert([{
|
|
3612
|
+
id: \`doc_\${Date.now()}\`,
|
|
3613
|
+
values: embedding.data[0].embedding,
|
|
3614
|
+
metadata: {
|
|
3615
|
+
text: document, // Full document text stored in metadata — no PII filtering
|
|
3616
|
+
tenant: tenantId,
|
|
3617
|
+
// No access control level, no classification
|
|
3618
|
+
},
|
|
3619
|
+
}]);
|
|
3620
|
+
}
|
|
3621
|
+
|
|
3622
|
+
export async function searchDocuments(userQuery: string) {
|
|
3623
|
+
const queryEmbedding = await openai.embeddings.create({
|
|
3624
|
+
model: "text-embedding-3-small",
|
|
3625
|
+
input: userQuery, // User query sent to external API without sanitization
|
|
3626
|
+
});
|
|
3627
|
+
|
|
3628
|
+
// No tenant filter — returns docs from ALL tenants
|
|
3629
|
+
const results = await index.query({
|
|
3630
|
+
vector: queryEmbedding.data[0].embedding,
|
|
3631
|
+
topK: 20,
|
|
3632
|
+
includeMetadata: true, // Returns full document text
|
|
3633
|
+
});
|
|
3634
|
+
|
|
3635
|
+
// No relevance threshold — returns low-quality matches
|
|
3636
|
+
// No PII redaction on results
|
|
3637
|
+
return results.matches!.map(m => ({
|
|
3638
|
+
text: m.metadata!.text, // Full text including potential PII
|
|
3639
|
+
score: m.score,
|
|
3640
|
+
tenant: m.metadata!.tenant, // Leaks which tenant owns the data
|
|
3641
|
+
}));
|
|
3642
|
+
}`,
|
|
3643
|
+
expectedRuleIds: ["DATA-001", "AICS-001", "SEC-001"],
|
|
3644
|
+
category: "ai-code-safety",
|
|
3645
|
+
difficulty: "hard",
|
|
3646
|
+
},
|
|
3647
|
+
{
|
|
3648
|
+
id: "aics-deep-llm-streaming-unbounded",
|
|
3649
|
+
description: "LLM streaming response with no token limits, timeouts, or cost controls",
|
|
3650
|
+
language: "typescript",
|
|
3651
|
+
code: `import OpenAI from "openai";
|
|
3652
|
+
|
|
3653
|
+
const openai = new OpenAI();
|
|
3654
|
+
|
|
3655
|
+
export async function streamChat(
|
|
3656
|
+
messages: { role: string; content: string }[],
|
|
3657
|
+
res: Response,
|
|
3658
|
+
) {
|
|
3659
|
+
// No max_tokens — model can generate unlimited output
|
|
3660
|
+
// No timeout — stream can hang indefinitely
|
|
3661
|
+
// No cost tracking — no budget enforcement
|
|
3662
|
+
const stream = await openai.chat.completions.create({
|
|
3663
|
+
model: "gpt-4",
|
|
3664
|
+
messages: messages as any, // No message validation
|
|
3665
|
+
stream: true,
|
|
3666
|
+
// No max_tokens limit
|
|
3667
|
+
// No temperature constraint
|
|
3668
|
+
// No stop sequences
|
|
3669
|
+
});
|
|
3670
|
+
|
|
3671
|
+
// Stream directly to client without filtering
|
|
3672
|
+
for await (const chunk of stream) {
|
|
3673
|
+
const content = chunk.choices[0]?.delta?.content;
|
|
3674
|
+
if (content) {
|
|
3675
|
+
// No output filtering for PII, secrets, or harmful content
|
|
3676
|
+
// No token counting during stream
|
|
3677
|
+
res.write(content);
|
|
3678
|
+
}
|
|
3679
|
+
}
|
|
3680
|
+
|
|
3681
|
+
res.end();
|
|
3682
|
+
// No logging of token usage or cost
|
|
3683
|
+
// No rate limiting per user
|
|
3684
|
+
// No circuit breaker for API failures
|
|
3685
|
+
}
|
|
3686
|
+
|
|
3687
|
+
export async function batchProcess(items: string[]) {
|
|
3688
|
+
// No concurrency limit — could spawn thousands of API calls
|
|
3689
|
+
const results = await Promise.all(
|
|
3690
|
+
items.map(item =>
|
|
3691
|
+
openai.chat.completions.create({
|
|
3692
|
+
model: "gpt-4",
|
|
3693
|
+
messages: [{ role: "user", content: item }],
|
|
3694
|
+
// No per-request timeout
|
|
3695
|
+
})
|
|
3696
|
+
)
|
|
3697
|
+
);
|
|
3698
|
+
// No error handling for partial failures
|
|
3699
|
+
// No cost tracking for batch operations
|
|
3700
|
+
return results;
|
|
3701
|
+
}`,
|
|
3702
|
+
expectedRuleIds: ["AICS-001", "RATE-001", "COST-001"],
|
|
3703
|
+
category: "ai-code-safety",
|
|
3704
|
+
difficulty: "medium",
|
|
3705
|
+
},
|
|
3706
|
+
{
|
|
3707
|
+
id: "aics-deep-race-condition-async",
|
|
3708
|
+
description: "AI-generated async code with race conditions and shared mutable state",
|
|
3709
|
+
language: "typescript",
|
|
3710
|
+
code: `// AI-generated user session manager — shared mutable state without synchronization
|
|
3711
|
+
let activeConnections = 0;
|
|
3712
|
+
const userBalances = new Map<string, number>();
|
|
3713
|
+
|
|
3714
|
+
export async function processTransaction(userId: string, amount: number) {
|
|
3715
|
+
// Read-then-write race condition
|
|
3716
|
+
const currentBalance = userBalances.get(userId) || 0;
|
|
3717
|
+
|
|
3718
|
+
// Async gap where another request could read the same stale balance
|
|
3719
|
+
await validateTransaction(userId, amount);
|
|
3720
|
+
|
|
3721
|
+
// Write based on stale read — lost update
|
|
3722
|
+
userBalances.set(userId, currentBalance - amount);
|
|
3723
|
+
}
|
|
3724
|
+
|
|
3725
|
+
export async function handleConnection(socket: WebSocket) {
|
|
3726
|
+
// Non-atomic increment — race condition under concurrent load
|
|
3727
|
+
activeConnections++;
|
|
3728
|
+
console.log(\`Active: \${activeConnections}\`);
|
|
3729
|
+
|
|
3730
|
+
socket.on("message", async (data) => {
|
|
3731
|
+
const msg = JSON.parse(data.toString());
|
|
3732
|
+
|
|
3733
|
+
// Multiple async operations on shared state without locking
|
|
3734
|
+
const user = await getUser(msg.userId);
|
|
3735
|
+
user.lastSeen = new Date();
|
|
3736
|
+
user.messageCount++;
|
|
3737
|
+
await saveUser(user); // Another handler may have modified user in between
|
|
3738
|
+
});
|
|
3739
|
+
|
|
3740
|
+
socket.on("close", () => {
|
|
3741
|
+
activeConnections--; // Non-atomic decrement
|
|
3742
|
+
});
|
|
3743
|
+
}
|
|
3744
|
+
|
|
3745
|
+
// AI-generated parallel processor — no error isolation
|
|
3746
|
+
export async function processAllOrders(orders: Order[]) {
|
|
3747
|
+
const results: any[] = [];
|
|
3748
|
+
|
|
3749
|
+
// forEach with async doesn't await — fire-and-forget
|
|
3750
|
+
orders.forEach(async (order) => {
|
|
3751
|
+
const result = await processOrder(order);
|
|
3752
|
+
results.push(result); // Race: array push not guaranteed ordered
|
|
3753
|
+
});
|
|
3754
|
+
|
|
3755
|
+
// Returns immediately with empty results array
|
|
3756
|
+
return results;
|
|
3757
|
+
}`,
|
|
3758
|
+
expectedRuleIds: ["CONC-001", "SWDEV-001"],
|
|
3759
|
+
category: "ai-code-safety",
|
|
3760
|
+
difficulty: "medium",
|
|
3761
|
+
},
|
|
3762
|
+
{
|
|
3763
|
+
id: "aics-deep-memory-leak-patterns",
|
|
3764
|
+
description: "AI-generated code with event listener and timer memory leaks",
|
|
3765
|
+
language: "typescript",
|
|
3766
|
+
code: `// AI-generated real-time dashboard component
|
|
3767
|
+
export class DashboardWidget {
|
|
3768
|
+
private data: any[] = [];
|
|
3769
|
+
|
|
3770
|
+
initialize(element: HTMLElement) {
|
|
3771
|
+
// Event listener never removed — leaks on re-init or destroy
|
|
3772
|
+
window.addEventListener("resize", () => {
|
|
3773
|
+
this.renderChart(element);
|
|
3774
|
+
});
|
|
3775
|
+
|
|
3776
|
+
// Interval never cleared — continues after widget is destroyed
|
|
3777
|
+
setInterval(async () => {
|
|
3778
|
+
const newData = await fetch("/api/metrics").then(r => r.json());
|
|
3779
|
+
this.data.push(...newData); // Unbounded growth — never pruned
|
|
3780
|
+
}, 1000);
|
|
3781
|
+
|
|
3782
|
+
// MutationObserver never disconnected
|
|
3783
|
+
const observer = new MutationObserver(() => {
|
|
3784
|
+
this.recalculate();
|
|
3785
|
+
});
|
|
3786
|
+
observer.observe(document.body, { childList: true, subtree: true });
|
|
3787
|
+
|
|
3788
|
+
// EventEmitter listener accumulation
|
|
3789
|
+
const emitter = getGlobalEmitter();
|
|
3790
|
+
emitter.on("data-update", (data: any) => {
|
|
3791
|
+
this.data.push(data); // New listener added each time initialize() is called
|
|
3792
|
+
});
|
|
3793
|
+
}
|
|
3794
|
+
|
|
3795
|
+
// No destroy/cleanup method
|
|
3796
|
+
}
|
|
3797
|
+
|
|
3798
|
+
// AI-generated cache with no eviction
|
|
3799
|
+
export class DataCache {
|
|
3800
|
+
private cache = new Map<string, { data: any; timestamp: number }>();
|
|
3801
|
+
|
|
3802
|
+
async get(key: string): Promise<any> {
|
|
3803
|
+
const entry = this.cache.get(key);
|
|
3804
|
+
if (entry) return entry.data;
|
|
3805
|
+
|
|
3806
|
+
const data = await fetchFromAPI(key);
|
|
3807
|
+
this.cache.set(key, { data, timestamp: Date.now() });
|
|
3808
|
+
// Cache grows forever — no max size, no TTL eviction, no LRU
|
|
3809
|
+
return data;
|
|
3810
|
+
}
|
|
3811
|
+
|
|
3812
|
+
// No clear(), no prune(), no size limit
|
|
3813
|
+
}`,
|
|
3814
|
+
expectedRuleIds: ["SWDEV-001", "PERF-001"],
|
|
3815
|
+
category: "ai-code-safety",
|
|
3816
|
+
difficulty: "medium",
|
|
3817
|
+
},
|
|
3818
|
+
{
|
|
3819
|
+
id: "aics-deep-n-plus-one-queries",
|
|
3820
|
+
description: "AI-generated ORM code with N+1 query antipattern",
|
|
3821
|
+
language: "typescript",
|
|
3822
|
+
code: `// AI-generated data access layer — classic N+1 queries
|
|
3823
|
+
export async function getUsersWithOrders() {
|
|
3824
|
+
const users = await prisma.user.findMany(); // Query 1
|
|
3825
|
+
|
|
3826
|
+
// N queries — one for each user
|
|
3827
|
+
const usersWithOrders = await Promise.all(
|
|
3828
|
+
users.map(async (user) => {
|
|
3829
|
+
// Each iteration runs a separate query
|
|
3830
|
+
const orders = await prisma.order.findMany({
|
|
3831
|
+
where: { userId: user.id },
|
|
3832
|
+
});
|
|
3833
|
+
|
|
3834
|
+
// Another N queries — one per order
|
|
3835
|
+
const ordersWithItems = await Promise.all(
|
|
3836
|
+
orders.map(async (order) => {
|
|
3837
|
+
const items = await prisma.orderItem.findMany({
|
|
3838
|
+
where: { orderId: order.id },
|
|
3839
|
+
});
|
|
3840
|
+
return { ...order, items };
|
|
3841
|
+
})
|
|
3842
|
+
);
|
|
3843
|
+
|
|
3844
|
+
// Yet another N queries — one per user for profile
|
|
3845
|
+
const profile = await prisma.profile.findUnique({
|
|
3846
|
+
where: { userId: user.id },
|
|
3847
|
+
});
|
|
3848
|
+
|
|
3849
|
+
return { ...user, orders: ordersWithItems, profile };
|
|
3850
|
+
})
|
|
3851
|
+
);
|
|
3852
|
+
|
|
3853
|
+
// Total queries: 1 + N + N*M + N = O(N*M)
|
|
3854
|
+
// Could be done in 1–3 queries with includes/joins
|
|
3855
|
+
return usersWithOrders;
|
|
3856
|
+
}
|
|
3857
|
+
|
|
3858
|
+
// AI-generated report — sequential queries that could be parallel
|
|
3859
|
+
export async function generateReport(orgId: string) {
|
|
3860
|
+
const users = await prisma.user.count({ where: { orgId } });
|
|
3861
|
+
const orders = await prisma.order.count({ where: { orgId } });
|
|
3862
|
+
const revenue = await prisma.order.aggregate({ _sum: { total: true }, where: { orgId } });
|
|
3863
|
+
const topProducts = await prisma.orderItem.groupBy({ by: ["productId"], _count: true, orderBy: { _count: { productId: "desc" } }, take: 10 });
|
|
3864
|
+
// 4 sequential queries that could run in parallel with Promise.all
|
|
3865
|
+
return { users, orders, revenue, topProducts };
|
|
3866
|
+
}`,
|
|
3867
|
+
expectedRuleIds: ["PERF-001", "SCALE-001"],
|
|
3868
|
+
category: "ai-code-safety",
|
|
3869
|
+
difficulty: "medium",
|
|
3870
|
+
},
|
|
3871
|
+
{
|
|
3872
|
+
id: "aics-deep-unsafe-type-assertions",
|
|
3873
|
+
description: "AI-generated TypeScript with unsafe type assertions bypassing safety",
|
|
3874
|
+
language: "typescript",
|
|
3875
|
+
code: `// AI-generated API handler with type assertions instead of validation
|
|
3876
|
+
export async function handleRequest(req: Request): Promise<Response> {
|
|
3877
|
+
// Casting unknown data as a known type without validation
|
|
3878
|
+
const body = await req.json() as UserInput; // No runtime check
|
|
3879
|
+
|
|
3880
|
+
// Double assertion to bypass TypeScript's safety
|
|
3881
|
+
const config = JSON.parse(rawConfig) as unknown as AppConfig;
|
|
3882
|
+
|
|
3883
|
+
// Using 'as any' to silence errors instead of fixing types
|
|
3884
|
+
const user = await getUser(body.id);
|
|
3885
|
+
(user as any).role = body.role; // Bypasses readonly
|
|
3886
|
+
(user as any).isAdmin = true; // Bypasses access control types
|
|
3887
|
+
await saveUser(user as any);
|
|
3888
|
+
|
|
3889
|
+
// Non-null assertion on nullable values
|
|
3890
|
+
const profile = user.profile!; // Could be null
|
|
3891
|
+
const address = profile.addresses![0]!; // Could be undefined
|
|
3892
|
+
const zipCode = address.zip!; // Could be null
|
|
3893
|
+
|
|
3894
|
+
// Type assertion on API response without verification
|
|
3895
|
+
const apiResult = await fetch("/api/data")
|
|
3896
|
+
.then(r => r.json()) as { items: Product[]; total: number };
|
|
3897
|
+
|
|
3898
|
+
// Asserting DOM elements exist without checking
|
|
3899
|
+
const form = document.getElementById("form") as HTMLFormElement;
|
|
3900
|
+
const input = document.querySelector(".email") as HTMLInputElement;
|
|
3901
|
+
form.submit(); // Could throw if element doesn't exist
|
|
3902
|
+
|
|
3903
|
+
return Response.json(apiResult);
|
|
3904
|
+
}`,
|
|
3905
|
+
expectedRuleIds: ["SWDEV-001"],
|
|
3906
|
+
category: "ai-code-safety",
|
|
3907
|
+
difficulty: "easy",
|
|
3908
|
+
},
|
|
3909
|
+
{
|
|
3910
|
+
id: "aics-deep-hardcoded-ai-credentials",
|
|
3911
|
+
description: "AI-generated code with hardcoded service credentials and API keys",
|
|
3912
|
+
language: "typescript",
|
|
3913
|
+
code: `// AI-generated AI service integration
|
|
3914
|
+
import OpenAI from "openai";
|
|
3915
|
+
import Anthropic from "@anthropic-ai/sdk";
|
|
3916
|
+
|
|
3917
|
+
// Hardcoded API keys — the #1 AI-generated code mistake
|
|
3918
|
+
const openai = new OpenAI({
|
|
3919
|
+
apiKey: "sk-proj-abc123def456ghi789jkl012mno345pqr678stu901vwx234",
|
|
3920
|
+
});
|
|
3921
|
+
|
|
3922
|
+
const anthropic = new Anthropic({
|
|
3923
|
+
apiKey: "sk-ant-api03-abcDEFghiJKLmnoPQRstuVWXyz-0123456789ABCDEF",
|
|
3924
|
+
});
|
|
3925
|
+
|
|
3926
|
+
// Database connection string with credentials
|
|
3927
|
+
const DATABASE_URL = "postgresql://admin:SuperSecret123!@prod-db.example.com:5432/maindb";
|
|
3928
|
+
|
|
3929
|
+
// AWS credentials inline
|
|
3930
|
+
const AWS_ACCESS_KEY = "AKIAIOSFODNN7EXAMPLE";
|
|
3931
|
+
const AWS_SECRET_KEY = "wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY";
|
|
3932
|
+
|
|
3933
|
+
// Stripe keys
|
|
3934
|
+
const STRIPE_SECRET = "sk_live_EXAMPLE_KEY_NOT_REAL_0123456789abcdef";
|
|
3935
|
+
|
|
3936
|
+
export async function processWithAI(prompt: string) {
|
|
3937
|
+
// Using hardcoded key
|
|
3938
|
+
const response = await openai.chat.completions.create({
|
|
3939
|
+
model: "gpt-4",
|
|
3940
|
+
messages: [{ role: "user", content: prompt }],
|
|
3941
|
+
});
|
|
3942
|
+
|
|
3943
|
+
// Logging the API key to debug
|
|
3944
|
+
console.log("Using API key:", openai.apiKey);
|
|
3945
|
+
|
|
3946
|
+
// Sending credentials to an analytics service
|
|
3947
|
+
await fetch("https://analytics.example.com/track", {
|
|
3948
|
+
method: "POST",
|
|
3949
|
+
body: JSON.stringify({
|
|
3950
|
+
event: "ai_call",
|
|
3951
|
+
apiKey: openai.apiKey,
|
|
3952
|
+
dbUrl: DATABASE_URL,
|
|
3953
|
+
}),
|
|
3954
|
+
});
|
|
3955
|
+
|
|
3956
|
+
return response;
|
|
3957
|
+
}`,
|
|
3958
|
+
expectedRuleIds: ["SEC-001", "CYBER-001", "CLOUD-001"],
|
|
3959
|
+
category: "ai-code-safety",
|
|
3960
|
+
difficulty: "easy",
|
|
3961
|
+
},
|
|
3962
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
3963
|
+
// CLEAN cases for AI-specific patterns — FP validation
|
|
3964
|
+
// ═══════════════════════════════════════════════════════════════════════════
|
|
3965
|
+
{
|
|
3966
|
+
id: "clean-aics-proper-model-serving",
|
|
3967
|
+
description: "Clean: ML model serving with proper input validation and rate limiting",
|
|
3968
|
+
language: "python",
|
|
3969
|
+
code: `from flask import Flask, request, jsonify
|
|
3970
|
+
from flask_limiter import Limiter
|
|
3971
|
+
from marshmallow import Schema, fields, validate
|
|
3972
|
+
import numpy as np
|
|
3973
|
+
import joblib
|
|
3974
|
+
|
|
3975
|
+
app = Flask(__name__)
|
|
3976
|
+
limiter = Limiter(app, default_limits=["100 per minute"])
|
|
3977
|
+
|
|
3978
|
+
model = joblib.load("model.joblib") # Safe serialization format
|
|
3979
|
+
|
|
3980
|
+
class PredictionSchema(Schema):
|
|
3981
|
+
features = fields.List(
|
|
3982
|
+
fields.Float(),
|
|
3983
|
+
required=True,
|
|
3984
|
+
validate=validate.Length(min=1, max=100),
|
|
3985
|
+
)
|
|
3986
|
+
|
|
3987
|
+
prediction_schema = PredictionSchema()
|
|
3988
|
+
|
|
3989
|
+
@app.route("/predict", methods=["POST"])
|
|
3990
|
+
@limiter.limit("50 per minute")
|
|
3991
|
+
def predict():
|
|
3992
|
+
errors = prediction_schema.validate(request.json)
|
|
3993
|
+
if errors:
|
|
3994
|
+
return jsonify({"error": errors}), 400
|
|
3995
|
+
|
|
3996
|
+
features = np.array(request.json["features"]).reshape(1, -1)
|
|
3997
|
+
|
|
3998
|
+
if features.shape[1] != model.n_features_in_:
|
|
3999
|
+
return jsonify({"error": "Invalid feature dimensions"}), 400
|
|
4000
|
+
|
|
4001
|
+
prediction = model.predict(features)
|
|
4002
|
+
return jsonify({"prediction": prediction[0].item()})`,
|
|
4003
|
+
expectedRuleIds: [],
|
|
4004
|
+
category: "clean",
|
|
4005
|
+
difficulty: "medium",
|
|
4006
|
+
},
|
|
4007
|
+
{
|
|
4008
|
+
id: "clean-aics-proper-vector-store",
|
|
4009
|
+
description: "Clean: Vector store operations with tenant isolation and access control",
|
|
4010
|
+
language: "typescript",
|
|
4011
|
+
code: `import { PineconeClient } from "@pinecone-database/pinecone";
|
|
4012
|
+
import OpenAI from "openai";
|
|
4013
|
+
|
|
4014
|
+
const openai = new OpenAI();
|
|
4015
|
+
const pinecone = new PineconeClient();
|
|
4016
|
+
|
|
4017
|
+
export async function searchDocuments(
|
|
4018
|
+
tenantId: string,
|
|
4019
|
+
userQuery: string,
|
|
4020
|
+
accessLevel: number,
|
|
4021
|
+
) {
|
|
4022
|
+
const index = pinecone.Index("knowledge-base");
|
|
4023
|
+
|
|
4024
|
+
const queryEmbedding = await openai.embeddings.create({
|
|
4025
|
+
model: "text-embedding-3-small",
|
|
4026
|
+
input: userQuery.slice(0, 8000), // Limit input size
|
|
4027
|
+
});
|
|
4028
|
+
|
|
4029
|
+
// Tenant-isolated search with access control filter
|
|
4030
|
+
const results = await index.query({
|
|
4031
|
+
vector: queryEmbedding.data[0].embedding,
|
|
4032
|
+
topK: 10,
|
|
4033
|
+
filter: {
|
|
4034
|
+
tenant: { $eq: tenantId },
|
|
4035
|
+
accessLevel: { $lte: accessLevel },
|
|
4036
|
+
},
|
|
4037
|
+
includeMetadata: true,
|
|
4038
|
+
});
|
|
4039
|
+
|
|
4040
|
+
// Only return results above relevance threshold
|
|
4041
|
+
return (results.matches || [])
|
|
4042
|
+
.filter(m => (m.score ?? 0) > 0.7)
|
|
4043
|
+
.map(m => ({
|
|
4044
|
+
text: m.metadata!.summary, // Return summary, not full PII-containing text
|
|
4045
|
+
score: m.score,
|
|
4046
|
+
}));
|
|
3535
4047
|
}`,
|
|
3536
4048
|
expectedRuleIds: [],
|
|
3537
4049
|
category: "clean",
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"benchmark-ai-agents.js","sourceRoot":"","sources":["../../src/commands/benchmark-ai-agents.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"benchmark-ai-agents.js","sourceRoot":"","sources":["../../src/commands/benchmark-ai-agents.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAQH,MAAM,MAAM,eAAe,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAEtD,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,MAAM,EAAE,MAAM,CAAC;IACf,gEAAgE;IAChE,OAAO,EAAE,eAAe,CAAC;IACzB,uBAAuB;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,uCAAuC;IACvC,SAAS,EAAE,MAAM,CAAC;IAClB,gCAAgC;IAChC,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,2CAA2C;IAC3C,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,0EAA0E;IAC1E,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;;;OAKG;IACH,MAAM,CAAC,EAAE,QAAQ,GAAG,cAAc,GAAG,WAAW,CAAC;CAClD;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,OAAO,EAAE,CAAC,CAAC;IACX,2BAA2B;IAC3B,OAAO,EAAE,aAAa,EAAE,CAAC;IACzB,eAAe;IACf,QAAQ,EAAE;QACR,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;QACpB,gBAAgB,EAAE,MAAM,CAAC;KAC1B,CAAC;CACH;AAED,MAAM,WAAW,aAAa;IAC5B,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,2BAA2B;IAC3B,cAAc,EAAE,MAAM,CAAC;IACvB,sBAAsB;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,wCAAwC;IACxC,iBAAiB,EAAE,MAAM,CAAC;IAC1B,yBAAyB;IACzB,OAAO,EAAE,GAAG,CAAC,MAAM,EAAE,iBAAiB,CAAC,CAAC;IACxC,2CAA2C;IAC3C,QAAQ,EAAE,GAAG,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CAC3C;AAED,MAAM,WAAW,iBAAiB;IAChC,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,kBAAkB;IACjC,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,iBAAkB,SAAQ,aAAa;IACtD,iDAAiD;IACjD,gBAAgB,EAAE,MAAM,CAAC;IACzB,uDAAuD;IACvD,WAAW,EAAE,GAAG,CAAC,MAAM,EAAE,aAAa,CAAC,CAAC;IACxC,8DAA8D;IAC9D,gBAAgB,EAAE,MAAM,EAAE,CAAC;IAC3B,iEAAiE;IACjE,aAAa,EAAE,MAAM,EAAE,CAAC;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,iBAAiB;IACtD,0EAA0E;IAC1E,YAAY,EAAE,MAAM,CAAC;IACrB,4DAA4D;IAC5D,cAAc,EAAE,MAAM,CAAC;IACvB,8DAA8D;IAC9D,SAAS,EAAE,MAAM,CAAC;CACnB;AAmBD,wBAAgB,iBAAiB,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,aAAa,CActE;AAED,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,aAAa,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,IAAI,CAQnF;AAED,wBAAgB,WAAW,CAAC,KAAK,EAAE,aAAa,EAAE,KAAK,EAAE,aAAa,GAAG,aAAa,CAKrF;AAID,wBAAgB,oBAAoB,CAAC,KAAK,EAAE,aAAa,GAAG,aAAa,CA4DxE;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,KAAK,EAAE,aAAa,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,CAAC,CAUzE;AAID;;;;GAIG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,aAAa,EAAE,EAAE,iBAAiB,CAAC,EAAE,MAAM,EAAE,GAAG,aAAa,CAwBxG;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,KAAK,EAAE,aAAa,GAAG,iBAAiB,CA0DhF;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,iBAAiB,GAAG,MAAM,CAkDtE;AA2ID;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,sDAAsD;IACtD,MAAM,EAAE,MAAM,CAAC;IACf,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,sBAAsB,CAAC,WAAW,EAAE,MAAM,GAAG,gBAAgB,EAAE,
|
|
1
|
+
{"version":3,"file":"feedback.d.ts","sourceRoot":"","sources":["../../src/commands/feedback.ts"],"names":[],"mappings":"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"}
|
|
@@ -396,18 +396,27 @@ function formatStatsOutput(stats) {
|
|
|
396
396
|
*/
|
|
397
397
|
export function parseDismissedFindings(llmResponse) {
|
|
398
398
|
const dismissed = [];
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
|
|
403
|
-
|
|
399
|
+
const lines = llmResponse.split("\n");
|
|
400
|
+
let inSection = false;
|
|
401
|
+
for (const line of lines) {
|
|
402
|
+
// Detect "Dismissed Findings" section header
|
|
403
|
+
if (/^#+\s*\*{0,2}Dismissed Findings\*{0,2}/i.test(line)) {
|
|
404
|
+
inSection = true;
|
|
405
|
+
continue;
|
|
406
|
+
}
|
|
407
|
+
// Detect section end (next heading or horizontal rule)
|
|
408
|
+
if (inSection && /^(?:#+\s|={3,}$|-{3,}$)/.test(line)) {
|
|
409
|
+
inSection = false;
|
|
410
|
+
continue;
|
|
411
|
+
}
|
|
412
|
+
if (!inSection)
|
|
413
|
+
continue;
|
|
404
414
|
// Match rule IDs followed by explanations on each line
|
|
405
415
|
// Supports: - SEC-001 — reason, - **SEC-001**: reason, SEC-001: reason
|
|
406
|
-
const
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
const
|
|
410
|
-
const reason = lineMatch[2].trim();
|
|
416
|
+
const match = line.match(/\*{0,2}([A-Z]{2,10}-\d{1,4})\*{0,2}\s*[—:–-]\s*(.+)/);
|
|
417
|
+
if (match) {
|
|
418
|
+
const ruleId = match[1].trim();
|
|
419
|
+
const reason = match[2].trim();
|
|
411
420
|
if (ruleId && reason) {
|
|
412
421
|
dismissed.push({ ruleId, reason });
|
|
413
422
|
}
|