
Security News
GPT-6 Astra Attempts Supply Chain Attacks Against Open Source Maintainers in Testing
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.
@putervision/spc
Advanced tools
Space Proof Code - Tools to facilitate space-proofing code by identifying performance and security related issues.
@putervision/spc is a command-line tool that analyzes codebases for performance and security issues, enforcing space-proofing principles inspired by NASA's Power of Ten rules for safety-critical software. Supporting JavaScript/TypeScript (.js, .ts), Python (.py), and C/C++ (.c, .cpp, .h) files, it helps developers build robust, reliable code for high-stakes environments like space missions, identifying vulnerabilities and inefficiencies that could compromise mission-critical systems.
Contact us via email: code@putervision.com
To install the tool globally via npm:
# install space proof code globally
npm install -g @putervision/spc
Example usage for scanning code:
# use within a dir or specify a code path
space-proof-code /path/to/code
space-proof-code|spc [/path/to/code][-cs]|[-v]|[-h]
| Argument | Description | Required? | Default |
|---|---|---|---|
/path/to/code | Path to the code you want to scan | No | ./ |
--help, -h | Displays the help menu | No | N/A |
--version, -v | Displays the version number | No | N/A |
--create-sums, -cs | Generates a checksum file in the scanned code path | No | N/A |
/code/path/checksums.sha256.txt) with argument -cs or --create-sums and then subsequent scans will check scanned files against hashes stored in the checksum.# this command will create the checksum file /code/path/checksums.sha256.txt
space-proof-code /code/path --create-sums
# future runs will reference the created checksum file and compare with hashes generated by the scanned files
space-proof-code /code/path
@putervision/spc enforces a set of code quality rules inspired by NASA's Power of Ten guidelines, tailored to ensure performance, reliability, and maintainability in space-ready software. These checks go beyond security to identify patterns that could degrade system efficiency or stability in high-stakes environments like space missions. Below are the key rules applied across JavaScript/TypeScript (.js, .ts), Python (.py), and C/C++ (.c, .cpp, .h) files:
Simple Control Flow (complex_flow, multiple_returns, nested_conditionals)
function foo() { if (x) return 1; return 2; } // Flagged: multiple returns
Bounded Loops (unbounded_loops)
while True: print("loop") // Flagged: unbounded
while i < 10).Static Memory Allocation (dynamic_memory)
int* ptr = malloc(10); // Flagged: dynamic
int arr[10]).Small Functions (exceeds_max_lines)
function big() { /* 61+ lines */ } // Flagged: too long
Scoped Variables (global_vars)
var global = 5; // Flagged: global scope
let or const within blocks.Checked Returns (unchecked_return)
requests.get("url") // Flagged: return ignored
resp = requests.get("url")).Avoid Dynamic Code (eval_usage)
eval) that’s unpredictable and hard to verify, a risk in space environments.eval("code"); // Flagged: unsafe
No Recursion (recursion)
int factorial(int n) { return factorial(n-1); } // Flagged: recursive
Predictable Timing (async_risk, set_timeout)
setTimeout(() => {}, 1000); // Flagged: timing-dependent
Minimal Imports (import_risk)
from os import * // Flagged: wildcard
from os import path).These rules help ensure code is efficient, verifiable, and stable—essential for space missions where every line must perform flawlessly.
@putervision/spc performs security-focused checks to protect space-bound code from vulnerabilities, such as RF-based API injection from neighboring satellites. These rules identify patterns that could compromise system integrity, confidentiality, or availability in high-stakes environments where human intervention isn’t possible. Below are the security rules enforced by the tool:
Unsafe Input (unsafe_input)
req.body), Python (sys.argv), C (scanf).const data = req.body.payload; // Flagged: no validation
if (typeof data === 'string')).Network Calls (network_call)
fetch), Python (requests.get), C (socket).response = requests.get("http://space.api"); // Flagged: unsecured
Weak Cryptography (weak_crypto)
Math.random), Python (hashlib.md5), C (rand).int r = rand(); // Flagged: predictable RNG
crypto.randomBytes (JS) or /dev/urandom (C).Missing Authentication (missing_auth)
app.post), Python (app.route).app.get("/data", (req, res) => res.send("OK")); // Flagged: no auth
app.use(authMiddleware).No Error Handling (no_error_handling)
async function fetchData() { await fetch("url"); } // Flagged: no try/catch
try { ... } catch (e) { ... }.Unsafe File Operations (unsafe_file_op)
fs.readFile), Python (open), C (fopen).fs.readFile("data.txt"); // Flagged: no error handling
.catch() or try/catch.Insufficient Logging (insufficient_logging)
app.get), Python (@app.route), C (functions).@app.route("/data")
def get_data(): return "OK" // Flagged: no logging
print("Data accessed").Unsanitized Execution (unsanitized_exec)
exec), Python (os.system), C (system).exec(`echo ${userInput}`); // Flagged: injection risk
["echo", userInput]).Exposed Secrets (exposed_secrets)
apiKey = "..."), Python, C (char* key = "...").const apiKey = "xyz123"; // Flagged: hardcoded
process.env.API_KEY).Unrestricted CORS (unrestricted_cors)
cors({ origin: "*" })).app.use(cors({ origin: "*" })); // Flagged: unrestricted
origin: "trusted.sat").Buffer Overflow Risk (buffer_overflow_risk)
strcpy).strcpy(dest, src); // Flagged: overflow risk
strncpy with length checks.These rules enhance space-proofing by catching vulnerabilities that static analysis can identify, complementing runtime checks like authentication and input sanitization for a fully secure system.
while (true) with a break might still flag.LANGUAGE_PATTERNS in lib/scanner.js.MIT License - see LICENSE for details.
PuterVision code@putervision.com - https://putervision.com
FAQs
High-performance zero-dependency static analysis tool enforcing NASA Power of Ten rules across 20 programming languages, plus AI agent skill, MCP server config, prompt template, and LLM model security auditing.
The npm package @putervision/spc receives a total of 56 weekly downloads. As such, @putervision/spc popularity was classified as not popular.
We found that @putervision/spc demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.

Security News
GPT-6 Astra hits 100% on ExploitBench and finds zero-days autonomously, while independent tests reveal scope violations and monitoring gaps.

Product
Socket can now send alerts and supply chain attack notifications to Microsoft Teams, with filters that route the right updates to each channel.

Security News
pnpm 12 rewrites the package manager in Rust, cutting install times by up to 90% while preserving pnpm 11 workflows and lockfiles.