Skip to content
This repository was archived by the owner on Jan 22, 2026. It is now read-only.
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
@@ -1,53 +1,37 @@
// {fact rule=improper-certificate-validation@v1.0 defects=1}
var tls = require("tls");
var fs = require("fs");
var tls = require("tls")
import * as fs from 'fs'

function improperCertificateValidationNoncompliant() {
var options = {
host: "encrypted.example.com",
host: 'encrypted.example.com',
// Noncompliant: rejectUnauthorized is set to 'false'.
rejectUnauthorized: false,
};
rejectUnauthorized: false
}

tls
.createServer(
options,
(
req: any,
res: { writeHead: (arg0: number) => void; end: () => void },
) => {
res.writeHead(200);
res.end();
},
)
.listen(8000);
tls.createServer(options, (req: any, res: { writeHead: (arg0: number) => void; end: () => void }) => {
res.writeHead(200)
res.end()
}).listen(8000)
}
// {/fact}

// {fact rule=improper-certificate-validation@v1.0 defects=0}

var tls = require("tls");
var fs = require("fs");
// {fact rule=improper-certificate-validation@v1.0 defects=0}
var tls = require("tls")
import * as fs from 'fs'

function improperCertificateValidationCompliant() {
var options = {
host: "encrypted.example.com",
host: 'encrypted.example.com',
// Compliant: certificate is provided.
key: fs.readFileSync("keys/client-key.pem"),
cert: fs.readFileSync("keys/client-cert.pem"),
};
key: fs.readFileSync('keys/client-key.pem'),
cert: fs.readFileSync('keys/client-cert.pem')
}

tls
.createServer(
options,
(
req: any,
res: { writeHead: (arg0: number) => void; end: () => void },
) => {
res.writeHead(200);
res.end();
},
)
.listen(8000);
tls.createServer(options, (req: any, res: { writeHead: (arg0: number) => void; end: () => void }) => {
res.writeHead(200)
res.end()
}).listen(8000)
}
// {/fact}
// {/fact}
Original file line number Diff line number Diff line change
@@ -1,23 +1,24 @@
// {fact rule=insecure-connection@v1.0 defects=1}
//Insecure connection using unencrypted protocol
var net = require("net");
var socket = new net.Socket();
function insecureConnectionNoncompliant() {
var port = 0;
import * as net from 'net';
var socket = net.Socket
function insecureConnectionNoncompliant()
{
var port = 0
// Noncompliant: host value is not specified.
var host = "";
var server = socket.connect(port, host);
var host = ''
var server = socket.connect(port, host)
}
// {/fact}

// {fact rule=insecure-connection@v1.0 defects=0}

var net = require("net");
var socket = new net.Socket();
function insecureConnectionCompliant() {
var port = 0;
// {fact rule=insecure_connection@v1.0 defects=0}
import * as net from 'net';
var socket = net.Socket
function insecureConnectionCompliant()
{
var port = 0
// Compliant: host value is specified.
var host = "192.168.1.1";
var server = socket.connect(port, host);
var host = '192.168.1.1'
var server = socket.connect(port, host)
}
// {/fact}
// {/fact}
42 changes: 19 additions & 23 deletions src/typescript/detector/high/insecure-cookie/insecure-cookie.ts
Original file line number Diff line number Diff line change
@@ -1,31 +1,27 @@
// {fact rule=insecure-cookie@v1.0 defects=1}
var cookieSession = require("cookie-session");
var express = require("express");
var app = express();
var cookieSession = require('cookie-session')
import express, { Express } from 'express'
var app :Express = express()
function insecureCookieNoncompliant() {
let session = app.use(
cookieSession({
name: "session",
secret: "secret",
// Noncompliant: setting `httpOnly` to false makes cookie insecure.
httpOnly: false,
}),
);
let session = app.use(cookieSession({
name: 'session',
secret: "secret",
// Noncompliant: setting `httpOnly` to false makes cookie insecure.
httpOnly: false,
}))
}
// {/fact}


// {fact rule=insecure-cookie@v1.0 defects=0}
var cookieSession = require("cookie-session");
var express = require("express");
var app = express();
var cookieSession = require('cookie-session')
import express, { Express } from 'express'
var app :Express = express()
function insecureCookieCompliant() {
// Compliant: by default `httpOnly` is set to true and thus makes cookie secure.
let session = app.use(
cookieSession({
name: "session",
secret: "secret",
}),
);
// Compliant: by default `httpOnly` is set to true and thus makes cookie secure.
let session = app.use(cookieSession({
name: 'session',
secret: "secret",
}))
}

// {/fact}
// {/fact}