xploitscan 1.3.0 → 1.3.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/dist/{api-AX6R4QAD.js → api-6FD27EJY.js} +2 -2
- package/dist/{chunk-LWX7UPO5.js → chunk-2VDAYFPC.js} +12 -1
- package/dist/{chunk-LWX7UPO5.js.map → chunk-2VDAYFPC.js.map} +1 -1
- package/dist/index.js +11 -3
- package/dist/index.js.map +1 -1
- package/package.json +2 -2
- /package/dist/{api-AX6R4QAD.js.map → api-6FD27EJY.js.map} +0 -0
package/dist/index.js
CHANGED
|
@@ -21,7 +21,7 @@ import {
|
|
|
21
21
|
syncUser,
|
|
22
22
|
uploadScanResults,
|
|
23
23
|
vendoredReason
|
|
24
|
-
} from "./chunk-
|
|
24
|
+
} from "./chunk-2VDAYFPC.js";
|
|
25
25
|
|
|
26
26
|
// src/index.ts
|
|
27
27
|
import { Command } from "commander";
|
|
@@ -627,6 +627,14 @@ ${existingFindings.map((f) => `- ${f.file}:${f.line} \u2014 ${f.title}`).join("\
|
|
|
627
627
|
const response = await client.messages.create({
|
|
628
628
|
model: "claude-sonnet-4-5-20250514",
|
|
629
629
|
max_tokens: 4096,
|
|
630
|
+
// Pinned for the same reason as the FP filter, and the stakes are
|
|
631
|
+
// higher here: findings returned by this analyzer are pushed onto
|
|
632
|
+
// allFindings in commands/scan.ts, which is what calculateGrade()
|
|
633
|
+
// scores. Left at the API default of 1.0, a user could scan the same
|
|
634
|
+
// unchanged commit twice and get a different letter grade — with
|
|
635
|
+
// nothing in the output to explain why. Discovery arguably benefits
|
|
636
|
+
// from sampling variety; a grade the user is asked to trust does not.
|
|
637
|
+
temperature: 0,
|
|
630
638
|
messages: [
|
|
631
639
|
{
|
|
632
640
|
role: "user",
|
|
@@ -2826,7 +2834,7 @@ async function cursorInstallCommand(opts = {}) {
|
|
|
2826
2834
|
var program = new Command();
|
|
2827
2835
|
program.name("xploitscan").description(
|
|
2828
2836
|
"AI security scanner for vibe-coded apps. Find vulnerabilities before attackers do."
|
|
2829
|
-
).version("1.3.
|
|
2837
|
+
).version("1.3.1");
|
|
2830
2838
|
program.command("scan").description("Scan a directory for security vulnerabilities").argument("[directory]", "Directory to scan", ".").option("--no-ai", "Skip AI-powered analysis").option(
|
|
2831
2839
|
"-f, --format <format>",
|
|
2832
2840
|
"Output format: terminal, json, sarif, splunk-hec, elastic-ecs, datadog-logs",
|
|
@@ -2859,7 +2867,7 @@ cursor.command("install").description("Drop XploitScan security rules into .curs
|
|
|
2859
2867
|
await cursorInstallCommand({ force: opts.force, legacyOnly: opts.legacyOnly });
|
|
2860
2868
|
});
|
|
2861
2869
|
program.command("upgrade").description("Upgrade to XploitScan Pro for unlimited scans").action(async () => {
|
|
2862
|
-
const { getStoredToken: getStoredToken2, getCheckoutUrl } = await import("./api-
|
|
2870
|
+
const { getStoredToken: getStoredToken2, getCheckoutUrl } = await import("./api-6FD27EJY.js");
|
|
2863
2871
|
const chalk6 = (await import("chalk")).default;
|
|
2864
2872
|
const token = getStoredToken2();
|
|
2865
2873
|
if (!token) {
|