mirror of
https://github.com/norandom/OpenUltraSAST.git
synced 2026-10-16 03:49:26 +00:00
Tasks 1.1, 5.1, 5.2, 5.4 and the data half of 5.3. - mechanisms.toml: closed vocabulary v1 (20 ids) every expected row cites. - vibe-py: 35 Real-Vuln-Benchmark pairs (Apache-2.0), human provenance only because the LLM-generated repositories carry no license (escalated). - vfc-js: 17 Node fix-commit pairs harvested upstream (MIT/Apache-2.0), SecBench.js itself is not vendored (no license); sinks derived on 13/17. - agent-vfc: 29 agent-trailer fixes as catalog-candidates.toml plus REVIEW.md; the loaded catalog stays empty until a human reviews them. - datasets.toml and README document every slice and its review status. Co-Authored-By: Claude Fable 5.1 <[email protected]> Claude-Session: https://claude.ai/code/session_01T7XD7x5KonMdmGRkp63EQG
33 lines
1.4 KiB
JavaScript
33 lines
1.4 KiB
JavaScript
// Provenance: rrainn/PortProcesses (vuln).
|
|
// repo: rrainn/PortProcesses
|
|
// commit: fffceb09aff7180afbd0bd172e820404b33c8299
|
|
// parent: fffceb09aff7180afbd0bd172e820404b33c8299
|
|
// commit_url: https://github.com/rrainn/PortProcesses/commit/86811216c9b97b01b5722f879f8c88a7aa4214e1
|
|
// cve: CVE-2021-23348
|
|
// license: MIT
|
|
// function: listProcessesOnPort
|
|
// relpath: index.js
|
|
// provenance: human
|
|
// mechanism: source_reaches_sink
|
|
// upstream_start: 2
|
|
|
|
const listProcessesOnPort = module.exports.listProcessesOnPort = async port => {
|
|
try {
|
|
const result = (await exec(`lsof -i :${port}`)).output.split('\n');
|
|
const headers = result.shift().split(' ').filter(item => !!item.trim() && item.trim() !== "").map(item => item.toLowerCase());
|
|
return result.filter(item => !!item.trim() && item.trim() !== "").reduce((accumulator, currentValue) => {
|
|
accumulator.push(currentValue.split(' ').filter(item => !!item.trim() && item.trim() !== "").reduce((accumulator, currentValue, index) => {
|
|
if (index > headers.length - 1) {
|
|
accumulator[headers[headers.length - 1]] = (!!accumulator[headers[headers.length - 1]].trim() && accumulator[headers[headers.length - 1]].trim() !== "") ? `${accumulator[headers[headers.length - 1]]} ${currentValue}` : currentValue;
|
|
} else {
|
|
accumulator[headers[index]] = currentValue;
|
|
}
|
|
return accumulator;
|
|
}, {}));
|
|
return accumulator;
|
|
}, []);
|
|
} catch (e) {
|
|
console.error(e);
|
|
}
|
|
};
|