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/index.js CHANGED
@@ -21,7 +21,7 @@ import {
21
21
  syncUser,
22
22
  uploadScanResults,
23
23
  vendoredReason
24
- } from "./chunk-LWX7UPO5.js";
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.0");
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-AX6R4QAD.js");
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) {